A C++17 library for parsing and executing expressions. Allows easy exposure of variables and functions from C++ through built-in reflection functionality.
Goal is target several platforms from the beginning
Current status
The lexer is done.
The preprocessor (for handling of directives) is is based on the draft
technical report "Interfacing Modula-2 to C", Annex B
and aims to be compatible to the Macintosh p1 compiler.
Parsing of directives is implemented, with mostly no functionality.
The parser is based on ISO Modula-2 with generic and OO additions.
Some LL(1) conflicts are still left in the grammar, so not every source is parsed correctly.
The parser is generated by LLtool. A C++
port of LLtool is now integrated into this project, but not yet enabled.
Error recovery in the parser is based on "panic mode", using the follow sets
of the current and the active callers.
The AST nodes will be generated by new tool ASTtool.
Error messages are outputted using llvm::SourceMgr for nice presentation.
Only a dummy driver exists to see the parser in action.
A couple of IR statements is emitted to the console after succesful parsing.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].