|
|
309fe39c01
|
implement get vars visitor
|
2020-03-09 12:41:52 +01:00 |
|
|
|
fd7f7c39bb
|
implement a visitor that collects the names of all structs that were defined
|
2020-03-09 12:41:52 +01:00 |
|
|
|
b5086b44f0
|
return a struct type if no primitive type with the given name was found
|
2020-03-09 12:41:52 +01:00 |
|
|
|
e971b8b91e
|
create a new type class that represents the type of a struct
|
2020-03-09 12:40:59 +01:00 |
|
|
|
6f8c995f19
|
create DAST nodes for structDefinition and structField
|
2020-03-09 12:40:59 +01:00 |
|
|
|
3e8e30e0da
|
add struct definitions as a direct child of program
|
2020-03-09 12:40:59 +01:00 |
|
Dennis Kaiser
|
e297a7d2e8
|
Merge branch '25-floats' into 'master'
Resolve "Floats"
Closes #25
See merge request mkais001/klang!15
|
2020-03-06 00:36:10 +01:00 |
|
|
|
333475f27b
|
implement integer division tests
|
2020-03-05 17:21:08 +01:00 |
|
|
|
a8b093a005
|
reenable the mod test for -1, -1
|
2020-03-05 17:13:36 +01:00 |
|
|
|
1530dc6c55
|
sign extend rax into rbx before calling idiv, the replaces the rbx zeroing
|
2020-03-05 17:13:19 +01:00 |
|
|
|
09eec634b1
|
add new mixdiv test for -1, -1
|
2020-03-05 16:50:37 +01:00 |
|
|
|
150e18e05b
|
inspec type of expression instead of the type of the assignment, since the assignment type is always null
|
2020-03-05 16:40:31 +01:00 |
|
|
|
ebeabfe930
|
fix input values to match expected value
|
2020-03-05 16:39:47 +01:00 |
|
Marvin Kaiser
|
bba950c851
|
25: Fix tests
|
2020-03-05 12:31:09 +01:00 |
|
Marvin Kaiser
|
cbc8020e81
|
25: Rewrite prepareRegisters, correct operator order for comparisons
|
2020-03-05 09:06:22 +01:00 |
|
Marvin Kaiser
|
58cdaf04dd
|
25-Add more tests for floats
|
2020-03-05 07:58:16 +01:00 |
|
Marvin Kaiser
|
229920946d
|
25- Strict check between function signature and function call
|
2020-03-04 20:53:50 +01:00 |
|
|
|
18cfbdcbb5
|
implement function call tests for floats and floats mixed with integers
|
2020-03-04 20:46:49 +01:00 |
|
|
|
384d98418d
|
implement math tests for floats
|
2020-03-04 20:46:08 +01:00 |
|
Marvin Kaiser
|
6eb61f905f
|
25: Add logic for handling float in function calls
|
2020-03-04 19:29:24 +01:00 |
|
Marvin Kaiser
|
0316a7d4bf
|
25: Start adding Float Type
|
2020-03-03 20:45:55 +01:00 |
|
Marvin Kaiser
|
db8146ed8a
|
Merge branch '28-static-type-check-bug-with-if-clause-in-function' into 'master'
Resolve "Static type check bug with if clause in function"
Closes #28
See merge request mkais001/klang!14
|
2020-02-04 12:07:03 +01:00 |
|
|
|
a9db8b3f9a
|
set the initialited field of class VariableDeclaration, make sure a variable has been inizialized prior to its usage
|
2020-02-04 12:02:41 +01:00 |
|
|
|
1bb53a0bcf
|
add field 'initialized' to class VariableDeclaration
|
2020-02-04 12:02:15 +01:00 |
|
Marvin Kaiser
|
e00b72a32d
|
Merge branch '20-update-readme' into 'master'
Resolve "Update Readme"
Closes #20
See merge request mkais001/klang!13
|
2020-02-04 11:46:35 +01:00 |
|
|
|
1e2dee3f1d
|
add a section that showcases the static type system
|
2020-02-04 11:35:00 +01:00 |
|
|
|
1ae404b978
|
always add the declared type as the type of a variable declaration. do not use the combined type as the type of the variable that is declared
|
2020-02-04 11:21:48 +01:00 |
|
Marvin Kaiser
|
269cf302df
|
Merge branch '17-line-and-block-comments' into 'master'
add lexer rules for line and block comments
Closes #17
See merge request mkais001/klang!12
|
2020-02-04 11:11:06 +01:00 |
|
|
|
d3a4af0b8c
|
add lexer rules for line and block comments
|
2020-02-04 11:02:34 +01:00 |
|
|
|
47390f6757
|
add missing type declarations to pretty print output
|
2020-02-04 00:16:14 +01:00 |
|
Dennis Kaiser
|
974baebfe9
|
Merge branch '13-fix-eval-visitor' into 'master'
Resolve "Fix eval visitor"
Closes #13 and #27
See merge request mkais001/klang!11
|
2020-02-04 00:16:04 +01:00 |
|
|
|
e978b4d52c
|
remove unused import
|
2020-02-04 00:07:56 +01:00 |
|
|
|
26b1406013
|
make boolean and comparison expression evaluate to bool, user asBoolean when expecting a boolean, re-welcome the conditions of loops everytime another step has to be evaluated
|
2020-02-04 00:07:22 +01:00 |
|
|
|
56463c3e30
|
the the result of eval as an object and call toString\(\) on it
|
2020-02-03 23:53:25 +01:00 |
|
|
|
fc33ab6b12
|
add method to get the raw value representation
|
2020-02-03 23:52:21 +01:00 |
|
Dennis Kaiser
|
d5610b0c3f
|
Merge branch 'feature/better-errors' into 'master'
Feature/better errors
See merge request mkais001/klang!10
|
2020-02-03 23:50:49 +01:00 |
|
|
|
f3c5bac860
|
check whether the types of the operants of an equality expression can combine instead of enforcing them to both be integers
|
2020-02-03 23:45:52 +01:00 |
|
|
|
e8f80eb2f9
|
make file pretty
|
2020-02-03 22:59:17 +01:00 |
|
|
|
018ce8712a
|
add error message prefix to type missmatch errors, staticly assign bool type to boolean expressions
|
2020-02-03 22:56:40 +01:00 |
|
|
|
6f0a3754bd
|
check whether the body of a function guarantees a return value and throw an exception if not
|
2020-02-03 22:36:24 +01:00 |
|
|
|
7c56f401ac
|
add error prefix to the runtime exception message
|
2020-02-03 22:28:37 +01:00 |
|
|
|
02fb7b7cc2
|
unify error message appearance
|
2020-02-03 22:28:21 +01:00 |
|
|
|
3a89ab2231
|
remove error handling, since these kinds of errors are caught by our context analysis
|
2020-02-03 22:24:27 +01:00 |
|
|
|
3e8a904cb8
|
catch error to abort further processing
|
2020-02-03 22:21:30 +01:00 |
|
|
|
cb0d63a71c
|
save the line and column of the corresponding token, generate an error prefix for every thrown error
|
2020-02-03 22:20:59 +01:00 |
|
|
|
12c1f75602
|
add fields to save the line and column in which the token corresponding to the node was found
|
2020-02-03 22:20:25 +01:00 |
|
|
|
33cbae0eeb
|
implement method to generate an error prefix that mentions the line and column the error occured in
|
2020-02-03 22:19:36 +01:00 |
|
Dennis Kaiser
|
5ed294965c
|
Merge branch '22-operatorenprazedenz' into 'master'
Resolve "Operatorenpräzedenz"
Closes #22
See merge request mkais001/klang!8
|
2020-02-03 22:10:42 +01:00 |
|
Dennis Kaiser
|
ea2115e4c3
|
Merge branch '18-add-possibility-to-pass-input-file-and-output-filename' into 'master'
Added possibility to pass filenames for input / output
Closes #18
See merge request mkais001/klang!9
|
2020-02-03 22:08:24 +01:00 |
|
Marvin Kaiser
|
69f44a2867
|
Added possibility to pass filenames for input / output
|
2020-02-03 17:16:27 +01:00 |
|