Bytecode VM, dynamic number package, and R7RS compliant Scheme implementation.
Find a file
Ava Affine 86f905ba1d Parser
This commit adds a parser, complete with tests. The parser implements
an iterator which returns Datum. It wraps around a Lexer and uses the
Lexer's iterator interfact to consume lexemes. It may return an error
which may wrap around a LexError or a fully lexed lexeme.

In the implementation of the Parser bugs were found in the lexer
package. This resulted in the lexing tests being extended as well as
several small logic updates.

The number package has had slight tweaks to make number representations
less cumbersome.

Finally, the Datum display logic in the sexpr package has also been updated.

Signed-off-by: Ava Affine <ava@sunnypup.io>
2025-05-19 14:38:11 -07:00
mycelium Parser 2025-05-19 14:38:11 -07:00
.gitignore Lexer and S-Expression data types 2025-05-07 09:19:33 -07:00
Cargo.lock Number library and integrations 2025-05-15 12:59:00 -07:00
Cargo.toml Lexer and S-Expression data types 2025-05-07 09:19:33 -07:00
LICENSE Lexer and S-Expression data types 2025-05-07 09:19:33 -07:00
readme.md Lexer and S-Expression data types 2025-05-07 09:19:33 -07:00