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.
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 goal of this project is to create a simple and easy to use parser generator that will accept a textual grammar file as an input and output modularized classes representing a limited parser interface.
Long term goals include a robust grammar file syntax, output suitable for multiple programming languages, and tools for better integrating compiler functionality, parsetree manipulation, and FSM based scanner generation.
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.
Stop waiting on engineering. Build production-ready internal tools with AI—on your company data, in your cloud.
Retool lets you generate dashboards, admin panels, and workflows directly on your data. Type something like “Build me a revenue dashboard on my Stripe data” and get a working app with security, permissions, and compliance built in from day one. Whether on our cloud or self-hosted, create the internal software your team needs without compromising enterprise standards or control.
...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.