-
Simple Python-like structure
-
Supports integers and bytes, as well as arrays
-
Pass by value or by reference
-
Low level programming
-
Pascal-like scope of variables and nested functions
-
Static type safety
-
Library of functions
- Flex/Bison for the AST (in C)
- LLVM for the IR code
- flex
- bison
- cmake 3.12 (at least)
- llvm-3.9
- clang-3.9
- lib32z1-dev
cd llvm
mkdir cmake-build-debug
cd cmake-build-debug
cmake ..
make
cd llvm
./dana [-indent] [-Olevel] [-i] [-f] inputfile
-indent Offside rule trigger
-Olevel O[0-3] optimisation flag
-i Output LLVM code
-f Output assembly code
For the compiler class of NTUA
Makaris Nikolaos - 03113108
Mavrogeorgis Nikolaos - 03113087