198 Commits

Author SHA1 Message Date
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
1a7aebb5cf
feat: use cli parsing library and return randomly 0, 100 or 200 2025-01-31 16:32:17 +00:00
160e8bcc1a
refactor: simplify expectedResult type in tests 2025-01-31 15:53:12 +00:00
ef43e73cf6
refactor: use more generally-accepted scala3 format 2025-01-31 15:14:46 +00:00
c1fc1c2fc3 ci: check format, commits, compilation and tests
Merge request lab2425_spring/WACC_37!1
2025-01-27 21:30:36 +00:00
cb89bb54b6
test: test against wacc-examples repo 2025-01-27 21:21:03 +00:00
56aa2210d8
docs: add contributing section to README 2025-01-27 16:06:26 +00:00
6c166e4f76
ci: runner compile immediately 2025-01-27 15:57:35 +00:00
a52b384782
ci: check_format, check_commits, compile_jvm and test_jvm steps 2025-01-27 15:28:46 +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