83 Commits

Author SHA1 Message Date
Guy C
4e50ed35ba feat: more error messages 2025-02-04 03:32:52 +00:00
Guy C
3c23654356 fix: remove redundant imports 2025-02-04 03:06:56 +00:00
Guy C
5016fefc14 feat: lexer implements ErrorConfig for improved error messages 2025-02-04 03:02:37 +00:00
3aae08ffd4
feat: implement CLI for parser 2025-02-02 13:48:54 +00:00
da4b398bf0
fix: do not allow negation of a positive int literal 2025-02-02 13:30:33 +00:00
2588c8287d
fix: change lhs of Assign to lvalue 2025-02-02 00:33:16 +00:00
03fdbe01d9
fix: put functions "(" within atomic 2025-02-02 00:30:18 +00:00
b5a1f2565f
Revert "fix: add function must return on all paths check"
This reverts commit a71045867a9de128b2458cd332d97a09c49c2b4a.
2025-02-02 00:27:04 +00:00
cb9796fa87
feat: show exact statement which must be returning at the end of a function 2025-02-02 00:00:09 +00:00
a71045867a
fix: add function must return on all paths check 2025-02-01 21:22:48 +00:00
0db7a30af0
refactor: remove excessive atomics 2025-02-01 21:05:42 +00:00
a110225c49
Merge branch 'ast' into parser 2025-02-01 20:56:03 +00:00
1d78072c22
feat: use NoneEmptyList from cats to enfroce non-empty statements 2025-02-01 20:39:56 +00:00
1643628c60
Merge branch 'master' into ast 2025-02-01 20:37:29 +00:00
f5f6628c89
fix: extract <ident> from <array-elem> 2025-02-01 20:29:04 +00:00
5361373c01
refactor: non-recursive statements and array types 2025-02-01 18:10:25 +00:00
c5b02a00aa
feat: initial parser implementation 2025-02-01 17:17:54 +00:00
cfad2f08f4
refactor: non-recursive statements and array types 2025-02-01 17:15:14 +00:00
70aa58b879
fix: disallow exponents, export identifier from lexer 2025-02-01 03:42:02 +00:00
Jonny
e384265189
feat: initial lexer implementation 2025-02-01 03:42:02 +00:00
302fecc91b
refactor: remove boilerplate parser 2025-02-01 03:42:02 +00:00
cc97118e76
fix: add explicit Block statement (required for scoping) 2025-01-31 22:03:54 +00:00
af919742a0
fix: fully fix binary operators associativity 2025-01-31 20:39:45 +00:00
292551aca0
refactor: format AST to follow BNF order 2025-01-31 20:01:44 +00:00
1c0907f610
fix: add BaseType and correct PairElemType nodes 2025-01-31 19:52:45 +00:00
373683b592
fix: correct usage of RValue (add to Expr, VarDecl, Assign, PairElem) 2025-01-31 19:52:45 +00:00
f4d0ef8e70
fix: replace String with Ident where applicable 2025-01-31 19:52:45 +00:00
50a07cf5d4
feat: add Parens AST node 2025-01-31 19:52:45 +00:00
c0cf3692fd
fix: unary and binary operators AST - consistent style, precedence and associativity 2025-01-31 19:52:40 +00:00
Jonny
49ebf2f7d0 feat: initial ast implementation 2025-01-31 18:20:27 +00:00
1a7aebb5cf
feat: use cli parsing library and return randomly 0, 100 or 200 2025-01-31 16:32:17 +00:00
252ed1c925
refactor: use scalafmt to format code 2025-01-27 14:47:57 +00:00
LabTS
2b50e3e1f6 provided code 2025-01-19 23:10:54 +00:00