pass-lang/src
James T. Martin d7c0eef7ae
Implemented parser! Recognition only, no output.
Also no top-level declarations or operator precedence.

The syntax is LL(1). LL syntax seems necessary because
our codegen requires emitting certain code (e.g. entering control)
prior to any codegen inside that context, whereas something like
LR would presumably parse the inner expression before recognizing
the control structure. There may be some way to work around this;
I don't know, I'm not a parsing expert.

Certain parts of the syntax are wonky, e.g. juxtaposition as
function application means a missing semicolon can give confusing
results. I suspect indentation-sensitive syntax would work
more nicely, and intend to implement it some time in the future.
2022-09-07 20:42:37 -07:00
..
asm.c Separate instruction encoding into a separate file. 2022-09-06 02:20:10 -07:00
asm.h Completely rewrite stack management. 2022-09-06 19:47:46 -07:00
io.c Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
io.h Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
ir.c Completely rewrite stack management. 2022-09-06 19:47:46 -07:00
ir.h Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
lex.c Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
lex.h Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
main.c Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
parse.c Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
parse.h Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
x86encode.c Completely rewrite stack management. 2022-09-06 19:47:46 -07:00
x86encode.h Completely rewrite stack management. 2022-09-06 19:47:46 -07:00