A single-pass compiler for a simple imperative language.
 
 
Go to file
James T. Martin d9edbab10c
Fix calculation of labels and jump destinations.
Previously, all calculations regarding stack depth and label depth
were broken. *All* of them. Off-by-ones, the logic was wrong, etc.
Variables are still screwed up, but I'm *almost* there, where
"there" is being able to generate functioning programs, hopefully?
2022-10-19 15:42:04 -07:00
docs Removed radix#int syntax, added keywords to lexer. 2022-09-10 14:58:22 -07:00
src Fix calculation of labels and jump destinations. 2022-10-19 15:42:04 -07:00
.editorconfig Initial commit. 2022-09-05 23:48:56 -07:00
.gitignore Added documentation for the upcoming indentation-sensitive syntax. 2022-09-08 11:40:10 -07:00
LICENSE.txt Initial commit. 2022-09-05 23:48:56 -07:00
Makefile Factor out executable format handling into a new file. 2022-09-10 22:06:21 -07:00
README.md Initial commit. 2022-09-05 23:48:56 -07:00

README.md

Passlang

A one-pass, linear-time compile-and-go compiler.

I'm imposing these restrictions on myself to avoid over-engineering and give myself a design challenge. The goal is to make the absolute best language I can under these constraints, and then incrementally begin to relax the restrictions only when absolutely necessary to make progress.