General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.
Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
Try Free
MongoDB Atlas runs apps anywhere
Deploy in 115+ regions with the modern database for every enterprise.
MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
A code generator for connecting C/C++ with other programming languages
...SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG is typically used to parse C/C++ interfaces and generate the 'glue code' required for the above target languages to call into the C/C++ code. SWIG can also export its parsetree in the form of XML.
Ox is an attribute grammar compiling system that augments Lex and Yacc specifications with definitions of synthesized and inherited attributes written in a combination of Ox and C/C++ syntax. From these augmented specifications, Ox generates ordinary Lex and Yacc specifications that build and decorate attributed parse trees.
The user can specify parse-tree traversals for easy ordering of side effects such as code generation. Ox handles the tedious and error-prone details of writing code for parse-tree management, so its use eases problems of security and maintainability associated with that aspect of translator development.
Parse C++ header files using ply.lex to generate navigable class tree representing the class structure. CppHeaderParser.py has the advantage of being a pure python C++ header parser. Grap a copy of ply at http://www.dabeaz.com/ply/
The fast, flexible parsing engine. Parse anything in 4 steps: (1) define a grammar, (2) load the grammar into ClearParse, (3) call the engine to parse the source, and (4) traverse the parsing tree. You can even change your grammar at run time.
...A simple BNF style language is used to describe scanner and parser in a UTF-8 source file. The output is described with a template language that is used to add formatting to the parsetree. Code is generated that automatically traverses the parsetree and calls a method on a transformer object to modify the parsetree. Each node is visited in document order, and a method is called at the beginning and end of each node visit. This transformer class is subclassed for customization.
SimpleCompiler has many built-in feature for supporting a variety of text based language.