Skip to content

Latest commit

 

History

History
51 lines (32 loc) · 1.97 KB

README.md

File metadata and controls

51 lines (32 loc) · 1.97 KB

Gucci Lang

Build Test License: MIT

What is Gucci Lang?

Gucci Lang is an toy language made with the purpose of learning language design.

It was made using chumsky and ariadne, and aims to have a simple syntax for didactic purposes.

Documentation

Run cargo doc --open

How to use it

To create the executable, run cargo build. It will create a binary in target/debug/gucci-lang.exe.

To compile a gucci file, create a file ending with .gu and run gucci_lang.exe compile <filename>.

To run an already compiled gucci file, run gucci_lang.exe run <filename>, the filename must end in .gu.bs.

To compile and run in the same command, run gucci_lang.exe compile_run <filename>.

It is possible to use the short version of the actions: c, r, cr, respectively.

Implemented features

  • Lexical analysis
  • Syntactic analysis
  • Basic variables semantics: Variables table and functions directory
  • Basic expression semantics: semantic cube and evaluation
  • Code generation for conditional statements and loops
  • Code generation for functions
  • Memory map for virtual machine execution.
  • Virtual Machine: execution of arithmetic expressions and sequential statements.
  • Code generation for structured data
  • Virtual Machine: execution of conditional statements.
  • 1st version of documentation

Made by

Luis Cossio

Miguel Peralta

License

The project is available under the MIT license.