Skip to content

solaria-lang/solaria

Repository files navigation

The Solaria Programming Language

WARNING This programming language is in development.

Name

The name is inspired by the science fiction series "The Foundation" by Isaac Asimov. "Solaria" is the name of a world where robots do all the work to maintain the planet, whereas human beings live in abundance.

Building

With gcc:

gcc *.c -o solaria.out && ./solaria.out

Project track

  • Parse binary ops and negation in the FE.
  • Add initial Pratt parsers.
  • Add REPL environment.
  • Add binary ops (OP_ADD, OP_SUBTRACT, OP_MULTIPLY, OP_DIVIDE)
  • Add OP_NEGATE instruction.
  • Add skeleton for the virtual machine code.
  • Change line number tracking approach to use run-length encoding.
  • Add enhancement to store large amounts of constants (OP_CONSTANT_LONG).
  • Add support for keeping track of lines.
  • Add ability to store constants (OP_CONSTANT).
  • Add the "OP_RETURN" bytecode instruction.
  • Add a skeleton for debugging and inserting bytecode instructions.

Future enhancements

  • Make the virtual machine stack dynamically sized (remove STACK_MAX).
  • Add OP_CONSTANT_LONG to the vm.c run function.

About

C implementation for the Solaria language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published