Commit graph

15 commits

Author SHA1 Message Date
ea0d7acbee started implementing expressions
Parser.parse now return list of statements or list of errors.
parsing continues until EOF, even when errors are found; but after the
first error the result can only be Error.
Also implemented Print and Expr statements.
2024-08-25 02:12:51 +02:00
8656ac50ed updated switch file 2024-08-18 10:33:01 +02:00
a8290a4104 moved exprs into nodes with code position 2024-08-17 13:32:59 +02:00
485ecebdf3 reworked parser error handling
now based around result; since each parsing step can emit at most one
error until synchronisation is triggered we can store the errors in the
result.

also state is now stored in a ref variable. the copy-and-update is more
pure, but really messes up the let* expression for the expr/error
results.
2024-08-14 14:15:01 +02:00
f14677b6f5 fnished first draft of expression parser 2024-08-14 12:36:36 +02:00
3bd18634d5 implemented parsing up to neg/not 2024-08-12 18:28:21 +02:00
3590a78154 more work on the parser 2024-08-12 16:31:28 +02:00
686fb195af added block comments 2024-08-04 00:33:28 +02:00
874a6f4566 added opam switch file 2024-08-03 11:23:01 +02:00
c20a9fb48e removed debug printing 2024-08-03 02:45:07 +02:00
250bdc5992 removed debug printing; exit 1 on error 2024-08-03 02:44:47 +02:00
f6b1940057 renamed binary to mlox 2024-08-03 02:44:24 +02:00
0f3d0a15f0 added lox test files 2024-08-03 02:44:12 +02:00
821f5c62bc added identifiers and keywords 2024-08-02 01:14:35 +02:00
d33023f435 init commit 2024-08-02 00:10:48 +02:00