[fine] Dump CSTs and an example zoo
This commit is contained in:
parent
757db0ba3e
commit
1f6d7ec131
9 changed files with 357 additions and 32 deletions
8
fine/tests/example_tests.rs
Normal file
8
fine/tests/example_tests.rs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
use fine::parser::concrete::Tree;
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
fn assert_concrete(tree: &Tree, expected: &str) {
|
||||
assert_eq!(tree.dump(), expected, "concrete syntax trees did not match");
|
||||
}
|
||||
|
||||
include!(concat!(env!("OUT_DIR"), "/generated_tests.rs"));
|
||||
27
fine/tests/expression/expressions.fine
Normal file
27
fine/tests/expression/expressions.fine
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
// concrete:
|
||||
// | File
|
||||
// | ExpressionStatement
|
||||
// | LiteralExpression
|
||||
// | Number:'"42"'
|
||||
// | Semicolon:'";"'
|
||||
// | ExpressionStatement
|
||||
// | BinaryExpression
|
||||
// | BinaryExpression
|
||||
// | LiteralExpression
|
||||
// | Number:'"1"'
|
||||
// | Star:'"*"'
|
||||
// | LiteralExpression
|
||||
// | Number:'"2"'
|
||||
// | Plus:'"+"'
|
||||
// | BinaryExpression
|
||||
// | UnaryExpression
|
||||
// | Minus:'"-"'
|
||||
// | LiteralExpression
|
||||
// | Number:'"3"'
|
||||
// | Star:'"*"'
|
||||
// | LiteralExpression
|
||||
// | Number:'"4"'
|
||||
// | Semicolon:'";"'
|
||||
//
|
||||
42;
|
||||
1 * 2 + -3 * 4;
|
||||
Loading…
Add table
Add a link
Reference in a new issue