11 Commits

Author SHA1 Message Date
f2331d7de9 Add general test for functions as example 2022-02-10 12:19:01 +01:00
ab059ce18c Add recursive fibonacci as test 2022-02-10 01:32:07 +01:00
383da4ae05 Rewrite declaration as statement instead of binop
- Declarations are now separate statements
- Generate unknown var errors when vars are not declared
- Replace Peekable by new custom PutBackIter type that allows for
  unlimited putback and therefore look-ahead
2022-02-09 16:54:06 +01:00
cbf31fa513 Implement simple AST optimizer
- Precalculate operations only containing literals
2022-02-04 17:06:38 +01:00
d4c6f3d5dc Implement string interning 2022-02-04 14:25:23 +01:00
e4977da546 Use euler examples as tests 2022-02-04 12:45:34 +01:00
dd9ca660cc Move ast into separate file 2022-02-02 16:43:14 +01:00
7e2ef49481 Move token into separate file 2022-02-02 16:40:05 +01:00
39dd5e81f2 Start implementing interpreter
- Implemented tree-walk-interpreter for expressions only
- Binops Add, Mul
- Value Types I64
2022-01-02 21:58:10 +01:00
541d905551 Start implementing Parser
- Implemented pratt parser for expressions
- Implemented BinOps Add, Mul
2022-01-02 21:03:14 +01:00
01729beb5f Start implementing lexer 2022-01-02 18:44:05 +01:00