pass-lang/src
James T. Martin bce39fdc22
Greatly simplify lexer thanks to new knowledge of lookahead.
Now I know that the parser is LL(1) and the lexer also only
needs one-character lookahead, which allows me to dramatically
simplify the interface for IO input, and improve the interface
to the lexer. Even if I did want unbounded peek, I'd want
the interface to be `peek(off)`, not that awful buffer.

I intend to use the new lexer interface to make the parser
states more stateful, and potentially read multiple tokens
in a row. Then, states would only be needed for recursive
structures, without the awkward intermediate states like
ST_LABEL which exists only to let me burn a token.

I also removed the nonsense related to base 64 parsing,
because it was unclear how to handle it, and the advantages
of having it weren't clear. I kept up to base 36, but honestly
I might want to consider getting rid of everything but decimal,
hex, and binary anyway. I'm not sure if I'd want to keep using
the current syntax for the radix either.
2022-09-07 23:02:15 -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 Greatly simplify lexer thanks to new knowledge of lookahead. 2022-09-07 23:02:15 -07:00
io.h Greatly simplify lexer thanks to new knowledge of lookahead. 2022-09-07 23:02:15 -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 Greatly simplify lexer thanks to new knowledge of lookahead. 2022-09-07 23:02:15 -07:00
lex.h Greatly simplify lexer thanks to new knowledge of lookahead. 2022-09-07 23:02:15 -07:00
main.c Implemented parser! Recognition only, no output. 2022-09-07 20:42:37 -07:00
parse.c Greatly simplify lexer thanks to new knowledge of lookahead. 2022-09-07 23:02:15 -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