160 Commits

Author SHA1 Message Date
06c8a069fb
feat: renamer maybe maybe maybe maybe 2025-02-05 18:12:25 +00:00
Connolly, Guy
5f7a89b47f refactor: add position tracking to AST, UnaryOp, BinaryOp
Merge request lab2425_spring/WACC_37!7

Co-authored-by: Gleb Koval <gleb@koval.net>
2025-02-05 17:42:58 +00:00
539403fd36
fix: remove unused applyCon from AST 2025-02-05 04:49:05 +00:00
5fffd01a6f
fix: make parser use only parsley parser bridge apply 2025-02-05 04:47:43 +00:00
f3a59460ef
refactor: add position tracking to AST, UnaryOp, BinaryOp 2025-02-05 02:12:16 +00:00
Guy C
057d625464 fix: style fixes 2025-02-04 17:13:56 +00:00
Guy C
4602b75628 feat: improved error messages 2025-02-04 17:03:46 +00:00
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
d4b410bca9 feat: implement parser
Merge request lab2425_spring/WACC_37!6

Co-authored-by: Jonny <j.sinteix@gmail.com>
2025-02-02 13:45:25 +00:00
1bb4939fcd
Merge branch 'master' into parser 2025-02-02 13:41:12 +00:00
feac5efb6a feat: implement abstract syntax tree
Merge request lab2425_spring/WACC_37!4

Co-authored-by: Jonny <j.sinteix@gmail.com>
2025-02-02 13:37:48 +00:00
41d541050f feat: implement lexer
Merge request lab2425_spring/WACC_37!5

Co-authored-by: Jonny <j.sinteix@gmail.com>
2025-02-02 13:37:36 +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
993acddad3
Merge branch 'master' into lexer 2025-02-01 20:55:22 +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
7320052939
refactor: increase max line length to 100 2025-02-01 20:33:27 +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
4754858094
refactor: allow binPack Strings 2025-02-01 03:42:02 +00:00
302fecc91b
refactor: remove boilerplate parser 2025-02-01 03:42:02 +00:00
4f02d7f2b0
fix: disallow exponents, export identifier from lexer 2025-02-01 02:21:45 +00:00
Jonny
bf163e52fe feat: initial lexer implementation 2025-02-01 02:21:39 +00:00
bf310b633a
refactor: allow binPack Strings 2025-02-01 02:21:31 +00:00
24b83c8448
refactor: remove boilerplate parser 2025-02-01 00:58:29 +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
78ef878fb2
ci: use coursier cache, do not use bloop 2025-01-31 17:42:25 +00:00
ef00cf1093 feat: setup cli parsing library, return exit code
Merge request lab2425_spring/WACC_37!3
2025-01-31 16:39:07 +00:00