- GNU Flex
- GNU Bison
- LLVM-6.0
- Clang (Version 6.0)
- Make
- Google testing framework (gtest)
- make - for compile all project
- make exmpl - for run only lexer
- make exmpp - for run only parser and u can see AST-tree
- make exmpi - for run LLVM IR
- ./phpcomp (FLAG) (FILE) - another way for launch this
- make test - for compile simple test for parser
- make runtest - run this test
- make clean - clean builds files of project
This is simple PHP-like compiler, and you can compile only variable declaration(only integer, char and array) and assignment for this, simple math, if(without else), while, return, print("print" - for integer, "echo" - for constant string, "echoc" - for char). Almost everything a compiler can do writed in exmp.php. The codegen is not the best, as it is made for educational purposes.