Prototype of a new programming language

app Drop mbed project, move language to its own repo 5 months ago
compiler compiler: Remove stack depth checking 2 months ago
mini-imath mini-imath: Remove unused VERSION file 3 months ago
modules modules: main: Test using EmptyList as set Subject 2 months ago
scripts scripts: Add valgrind check 3 months ago
src compiler: Remove stack depth checking 2 months ago
.clang-format clang-format: Fix AlignTrailingComments 1 year ago
.gitignore .gitignore: Add compiler pycache 3 months ago
CMakeLists.txt CMakeLists: Rebuild when any compiler code is changed 3 months ago
LICENSE.md rationa: Replace mini-gmp with IMath library 3 months ago
README.md rationa: Replace mini-gmp with IMath library 3 months ago
README.md

Language prototype project

This is the prototype language for the BlueBox prototype project.

This is mainly to get an environment up and running. This means no fancy features, no tests, no optimizations, etc.

Design notes:

  • Bytecode VM is stack-based with indexing
  • Garbage collection is done using reference counting
  • Stack is shifted on function call
  • Empty function arguments are re-used for return values
  • Callee cleans up unused stack space when returning

License

All documentation and software for this project is under the MIT license unless otherwise specified.

Copyright: 2024 Casey Reeves casey.reeves@lumina-sensum.com

Copyright: 2024 John Watts john.watts@lumina-sensum.com

SPDX-License-Identifier: MIT

This software uses the IMath library for mathematics, also under the MIT license.

Copyright: 2002-2009 Michael J. Fromberger

SPDX-License-Identifier: MIT