Automated tests | Code coverage status | Rendered documentation |
---|
Programming language interpreter for Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit.
- Tokenizer
- Base parser
- Sub parsers
- Basic infix and prefix stuff
- For, if etc (macros?)
- Abstract syntax tree
- Environment
- Basic stuff
- Ability to load multiple files in a single program
- Built in library
.
├── build For building the project
├── cmake
│ └── Modules Additional modules for CMake
├── cmd The command line client to tila
│ ├── include Includes for the header files for the cmd
│ └── src The source files
├── doc Manually written documentation (week reports etc)
├── example Examples of the tila language
├── lib Source code for libtila, basically all of the actual code is here
│ ├── include Headers and HeaderDoc documentation for the library
│ │ ├── datastructures Implemented datastructures
│ │ ├── interpreter The tila interpreter, that deals with nodes
│ │ ├── parser Parser takes tokens from tokenizer and creates nodes for the interpreter
│ │ ├── tokenizer Tokenizer tokenizes the source
│ │ └── util Contains some helpful functions
│ └── src The source files, sub directories are the same as in include
│ ├── datastructures
│ ├── interpreter
│ ├── parser
│ ├── tokenizer
│ └── util
└── test Folder for all of the tests
├── include Headers for the tests
└── src Actual tests
CMake for building. Check for testing. LCOV for test coverage. HeaderDoc for documentation generation.
cd build
cmake ..
make
The executable is now in build/cmd/tila
cd build/cmd
./tila [filename]
You can find example programs in examples/
.
./tila ../../examples/math.tila
Will print the tokens, the abstract syntax tree and the results of the file.
cd build
cmake ..
make
ctest --output-on-failure .
cd build
cmake ..
make docs
The documentation is now in build/docs