Commit Graph

19 Commits

Author SHA1 Message Date
2fd6c9ca6d Working on parser
1. Implemented ToString on AST nodes that'll allow convert
AST back to source code in tests and help with ensuring correctness
2. Locked Rust toolchain to a specific version
2020-01-11 23:26:52 +05:30
e6e1be2e00 Working on parser. It can parse return statements and log errors now 2019-12-25 23:07:39 +05:30
5ac3b5e29a Fixed Parser, Can parse Let statements now 2019-12-25 17:55:15 +05:30
631c2d8b1a Added Integer Literal Parser
1. Added Integer Literal Parser
2. Removed Unused imports.
3. Fixed issues reported by Clippy
2019-09-13 01:08:09 +05:30
2863ad8aa4 Refactor and added identifier expression parser
1. Refactor Lexer::Token to Lexer::Token + Lexer::TokenType.
2. Added From/TryFrom on Lexer::Literal.
3. Added ExpressionStatement Parser
4. Added From<String> for ParseError.
5. Added prefix_parse_fn and infix_parse_fn table.
6. Added parse_expression
7. Added tests
8. Fixed lint issues reported by Clippy
2019-09-12 22:49:57 +05:30
77ecd6e3dd Back to using enum in AST 2019-09-09 15:04:59 +05:30
68330a8156 Refactored parser back to using traits rather than enum, Added gitignore, Added return statement 2019-09-09 00:44:27 +05:30
98023fe219 Refactored again, Fixed most warnings, Removed unused code 2019-09-08 00:17:08 +05:30
5bd49acb67 Refactored again, let statement parser, Except for the expression parser is complete 2019-09-07 20:30:31 +05:30
20a4907153 Added let statement parser 2019-09-07 19:32:44 +05:30
142b34edc4 Refactored again, Compiles now. 2019-09-07 01:16:52 +05:30
f202d0dacd Resuming project. Refactored project 2019-08-31 01:28:20 +05:30
7409606f3d Committing and saving work done on the parser 2019-04-14 16:45:40 +05:30
9c018d2fe2 Added REPL 2019-02-05 14:27:20 +05:30
420db45c76 Added == and != along with tests 2019-02-04 23:38:22 +05:30
c0efc2c316 Refactored lexer
1. Changed input from Vec<u8> to Peekable<Chars>
2. Refactored methods implemented on lexer
2019-02-04 19:57:41 +05:30
f31e4bfee1 Added true,false,return,if,else keywords, Single character tokens, tests
and change Vec<char> to Vec<u8>
2019-02-04 17:16:17 +05:30
561c4c6089 Added NULL, RBrace, LBrace tokens 2019-02-04 11:10:36 +05:30
c84e73756f Initial commit. Working on lexer 2019-01-14 00:39:27 +05:30