203ebb169b
Working on parser
...
1. Added Identifier Expression parser
2. Added Prefix IntegerLiteral Parser
2020-01-12 00:03:18 +05:30
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