Tardis / lang /
..
app lang: Split in to library and executable 10 months ago
mini-gmp lang: Switch to mini-gmp rationals for number representation 7 months ago
modules lang: Add jumps (tail calls) 7 months ago
CMakeLists.txt lang: Switch to mini-gmp rationals for number representation 7 months ago
README.md lang: Add simple README 8 months ago
boolean.c lang: Pass VmState to abort 6 months ago
boolean.h lang: Couple object functions to VmState 6 months ago
bytecode.c lang: Pass VmState to abort 6 months ago
bytecode.h lang: Pass object to bytecode_run 8 months ago
compile.py lang: Pass VmState to abort 6 months ago
error.c lang: Pass VmState to abort 6 months ago
error.h lang: Pass VmState to abort 6 months ago
main.c lang: Pass VmState to abort 6 months ago
number.c lang: Pass VmState to abort 6 months ago
number.h lang: Couple object functions to VmState 6 months ago
object.c lang: Pass VmState to abort 6 months ago
object.h lang: Couple object functions to VmState 6 months ago
types.h lang: Add more code documentation 8 months ago
vm.c lang: Pass VmState to abort 6 months ago
vm.h lang: Add jumps (tail calls) 7 months ago
README.md

Language prototype project

This is the prototype language for the Tardis 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: 2023 Casey Reeves casey.reeves@lumina-sensum.com

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

SPDX-License-Identifier: MIT