It is an assignment of course Programming Language Principle (COP5556) taught in University of Florida.
It is simple Lua interpreter built on Java, which performs basic arithmetic operations and function calls in Lua. Grammar for the assignment is here.
The project is divided into 4 parts -
- Scanner - It scans the input and generates the token according to Lua language.
- Parser (1) - We create Abstract Syntax Tree for basic arithmetic operations.
- Parser (2) - We create Abstract Syntax Tree for remaining things like function call, chunk, blocks, etc.
- Interpreter - We use the AST and interpret the operations the basic operations parsed by parser.
Assignment documents can be found here.
JUnit Tests -
External Libraries needed -
- junit-jupiter-api-5.5.x.jar
- apiguardian-api-1.x.x.jar
- junit-platform-console-standalone-1.5.x.jar
The above libraries can be downloaded from here.