Skip to content

A simple interpreter for the ‘ΓΛΩΣΣΑ’ programming language.

Notifications You must be signed in to change notification settings

cyberpython/glossa-interpreter

Repository files navigation

Glossa-Interpreter

An interpreter for the 'ΓΛΩΣΣΑ' programming language developed using Antlr 3 and Java.

License

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.

Status

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

Build instructions

To build the project’s code you will need :

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.

How to run the interpreter

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

Samples

There are some example input files in:

src/glossa/samples/

About

A simple interpreter for the ‘ΓΛΩΣΣΑ’ programming language.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages