An interpreter for the 'ΓΛΩΣΣΑ' programming language developed using Antlr 3 and Java.
Copyright (c) Georgios Migdos
Source code is available under the terms of the MIT license.
Antlr 3 is copyright of Terence Parr and it is available under the terms of the BSD license.
PicoCli is copyright of Remko Popma and it is available under the terms of the Apache 2.0 License.
TxtMark is copyright of René Jeschke rene_jeschke@yahoo.de and it is available under the terms of the Apache 2.0 License.
The interpreter can now execute all valid ΓΛΩΣΣΑ programs.
- Lexer/Parser: Errors/warnings in Greek ✔
- Static type analysis: Errors/warnings in Greek ✔
- Runtime errors/warnings in Greek ✔
- Lexer/Parser: Main program structure ✔
- Static type analysis: Main program structure ✔
- Statement execution: Main program structure ✔
- Built-in functions ✔
- Lexer/Parser: Functions ✔
- Static type analysis: Functions ✔
- Statement execution: Functions ✔
- Lexer/Parser: Procedures ✔
- Static type analysis: Procedures ✔
- Statement execution: Procedures ✔
- Command-line interface ✔
- Step-by-step execution ✔
(The GUI Swing components have been moved to a separate project.)
✔ = completed, ⟳ = in progress, ✘ = not implemented yet
To build the project’s code you will need :
-
JDK (21.x+).
All dependencies, including Gradle itself, will be downloaded the first time you build the code.
Open a terminal and give: ./gradlew clean build
The command above will result in redistributable ZIP and TAR archives in build/distributions
.
Extract the ZIP / TAR archive, and cd
into the bin
directory.
To run the interpreter give:
./glossa-interpreter <input_file>
e.g.:
./glossa-interpreter src/glossa/samples/PrintTest.gls
For more information give:
./glossa-interpreter -h
There are some example input files in:
src/glossa/samples/