Commit Graph

9 Commits

Author SHA1 Message Date
5c505e5ae5 Add function call expressions
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-06 17:39:31 -04:00
bd87e9dd30 Add block expression parsing and test
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-06 17:14:55 -04:00
66af3dcc53 Add base statement parsing
Assign statements and standalone expression statements are added, plus
some tests.

Additionally, starting tokens are implemented using lazy_static!{} so
that they can be mixed and matched.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-06 16:57:28 -04:00
7698e49baf cargo fmt
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-05 17:22:39 -04:00
ae99bbfc1e Add object parsing and tests
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-05 17:21:12 -04:00
4c2f18b7c9 Update parser bin_expr testing to be more consistent with the rest of the tests
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-05 16:52:46 -04:00
a4f289fb53 Add more expressions to parser, add EOL and newline tokens
* Lexer recognizes semicolons as EOL tokens, and newline tokens
* Parser can be configured to ignore newlines (which is also used
  internally)
* Newlines are allowed in lists, tuples, and parenthesized expressions
* Add a bunch of tests for the new stuff

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-05 16:38:07 -04:00
d9edf21d16 Add expression parsing
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-02 18:42:01 -04:00
28d29c2270 Add parser and AST, remove some stuff from lexer
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-04-27 20:17:16 -04:00