nitrix
|
15c55ed065
|
add the new nodes to the list of visitable nodes
|
2020-03-09 12:41:52 +01:00 |
|
nitrix
|
309fe39c01
|
implement get vars visitor
|
2020-03-09 12:41:52 +01:00 |
|
nitrix
|
fd7f7c39bb
|
implement a visitor that collects the names of all structs that were defined
|
2020-03-09 12:41:52 +01:00 |
|
nitrix
|
b5086b44f0
|
return a struct type if no primitive type with the given name was found
|
2020-03-09 12:41:52 +01:00 |
|
nitrix
|
e971b8b91e
|
create a new type class that represents the type of a struct
|
2020-03-09 12:40:59 +01:00 |
|
nitrix
|
6f8c995f19
|
create DAST nodes for structDefinition and structField
|
2020-03-09 12:40:59 +01:00 |
|
nitrix
|
3e8e30e0da
|
add struct definitions as a direct child of program
|
2020-03-09 12:40:59 +01:00 |
|
nitrix
|
333475f27b
|
implement integer division tests
|
2020-03-05 17:21:08 +01:00 |
|
nitrix
|
a8b093a005
|
reenable the mod test for -1, -1
|
2020-03-05 17:13:36 +01:00 |
|
nitrix
|
1530dc6c55
|
sign extend rax into rbx before calling idiv, the replaces the rbx zeroing
|
2020-03-05 17:13:19 +01:00 |
|
nitrix
|
09eec634b1
|
add new mixdiv test for -1, -1
|
2020-03-05 16:50:37 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
ebeabfe930
|
fix input values to match expected value
|
2020-03-05 16:39:47 +01:00 |
|
nitrix
|
18cfbdcbb5
|
implement function call tests for floats and floats mixed with integers
|
2020-03-04 20:46:49 +01:00 |
|
nitrix
|
384d98418d
|
implement math tests for floats
|
2020-03-04 20:46:08 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
1bb53a0bcf
|
add field 'initialized' to class VariableDeclaration
|
2020-02-04 12:02:15 +01:00 |
|
nitrix
|
1e2dee3f1d
|
add a section that showcases the static type system
|
2020-02-04 11:35:00 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
d3a4af0b8c
|
add lexer rules for line and block comments
|
2020-02-04 11:02:34 +01:00 |
|
nitrix
|
47390f6757
|
add missing type declarations to pretty print output
|
2020-02-04 00:16:14 +01:00 |
|
nitrix
|
e978b4d52c
|
remove unused import
|
2020-02-04 00:07:56 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
56463c3e30
|
the the result of eval as an object and call toString\(\) on it
|
2020-02-03 23:53:25 +01:00 |
|
nitrix
|
fc33ab6b12
|
add method to get the raw value representation
|
2020-02-03 23:52:21 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
e8f80eb2f9
|
make file pretty
|
2020-02-03 22:59:17 +01:00 |
|
nitrix
|
018ce8712a
|
add error message prefix to type missmatch errors, staticly assign bool type to boolean expressions
|
2020-02-03 22:56:40 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
7c56f401ac
|
add error prefix to the runtime exception message
|
2020-02-03 22:28:37 +01:00 |
|
nitrix
|
02fb7b7cc2
|
unify error message appearance
|
2020-02-03 22:28:21 +01:00 |
|
nitrix
|
3a89ab2231
|
remove error handling, since these kinds of errors are caught by our context analysis
|
2020-02-03 22:24:27 +01:00 |
|
nitrix
|
3e8a904cb8
|
catch error to abort further processing
|
2020-02-03 22:21:30 +01:00 |
|
nitrix
|
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 |
|
nitrix
|
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 |
|
nitrix
|
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 |
|
nitrix
|
3fb30ebd7e
|
print statement never has a type
|
2020-01-27 17:02:21 +01:00 |
|
nitrix
|
fa8904e0f5
|
fix type annotation for comparison expressions
|
2020-01-27 16:57:09 +01:00 |
|
nitrix
|
0aed4ee893
|
my initial short for typechecking, still very unifinished tho
|
2020-01-21 00:21:54 +01:00 |
|
nitrix
|
e5baad62e6
|
implement tests
|
2020-01-20 19:33:07 +01:00 |
|
nitrix
|
295bcaec8a
|
implement visitors for boolean expressions
|
2020-01-20 19:32:50 +01:00 |
|
nitrix
|
722a9babcb
|
remove unused import
|
2020-01-20 19:32:16 +01:00 |
|
nitrix
|
1186bb4550
|
add bool literal
|
2020-01-20 15:26:55 +01:00 |
|
nitrix
|
d1f8a18bef
|
add missing visit of lhs in a modulo expresion
|
2019-12-19 14:47:26 +01:00 |
|
nitrix
|
c3ad231650
|
ignore test binary
|
2019-12-19 14:46:53 +01:00 |
|
nitrix
|
2bc3b1898b
|
remove openjdk-13-jdk-headless
|
2019-12-17 18:53:12 +01:00 |
|
nitrix
|
3a9e84aefe
|
fix image name
|
2019-12-17 18:46:04 +01:00 |
|
nitrix
|
5ae34f6587
|
install openjdk and openjre before executing tests
|
2019-12-17 18:42:41 +01:00 |
|
nitrix
|
7d530263a4
|
add the target directory as an artifact
|
2019-12-17 18:34:28 +01:00 |
|
nitrix
|
514595baf6
|
execute apt update before installing build-essential
|
2019-12-17 18:19:00 +01:00 |
|
nitrix
|
b8f1017192
|
use mvn package instead of clean install
|
2019-12-17 18:16:34 +01:00 |
|
nitrix
|
e3bfbee80b
|
install build-essentials before executing the tests
|
2019-12-17 18:12:05 +01:00 |
|
nitrix
|
1c686fb0ea
|
Implement variable declaration
|
2019-12-16 22:41:58 +01:00 |
|
nitrix
|
ee19cb9a00
|
create VariableDeclaration nodes and check if a variable is redeclared or undefined
|
2019-12-16 22:41:45 +01:00 |
|
nitrix
|
b9b36f7ba1
|
Add new node for the variable declaration
|
2019-12-16 22:41:12 +01:00 |
|
nitrix
|
dc7dce48d9
|
add variable deklaration
|
2019-12-16 22:40:33 +01:00 |
|
nitrix
|
63c5f70358
|
add new node types to the visitors
|
2019-12-16 21:46:43 +01:00 |
|
nitrix
|
e1eb64f576
|
use new node types, implement new visitors
|
2019-12-16 21:46:18 +01:00 |
|
nitrix
|
9e5046a20a
|
implement new node types according to the new grammar
|
2019-12-16 21:45:55 +01:00 |
|
nitrix
|
629f67b39c
|
make expressions nestable
|
2019-12-16 21:44:37 +01:00 |
|
nitrix
|
de7625750e
|
remove obsolete visitor
|
2019-12-16 21:44:01 +01:00 |
|
nitrix
|
121d5c6fe7
|
ignore c and out files
|
2019-12-16 21:43:28 +01:00 |
|
nitrix
|
fdab293ab4
|
Merge branch 'master' of gitlab.cs.hs-rm.de:mkais001/klang
|
2019-12-16 11:52:18 +01:00 |
|
nitrix
|
64b88c192c
|
ignore klang sourcecode and assembly files
|
2019-12-16 11:52:05 +01:00 |
|
nitrix
|
2c2696207f
|
output the generated assembler code
|
2019-11-26 08:08:06 +01:00 |
|
nitrix
|
7d17accad5
|
implement assembler code generation
|
2019-11-26 08:07:43 +01:00 |
|
nitrix
|
5d62ef1d30
|
start implement a asm code generator visitor
|
2019-11-25 14:45:52 +01:00 |
|
nitrix
|
fda65c7d93
|
implement return statement
|
2019-11-25 14:45:35 +01:00 |
|
nitrix
|
07ff7b9f06
|
Implement return statement node
|
2019-11-25 14:44:41 +01:00 |
|
nitrix
|
c5dc08c1e0
|
add return statement to the grammar
|
2019-11-25 14:44:14 +01:00 |
|
nitrix
|
d8985bf070
|
print SCOL after the program's expression, remove whitespace before the OPAR of the funtion definition
|
2019-11-18 18:57:25 +01:00 |
|
nitrix
|
2af9f369cf
|
implement variable assignment
|
2019-11-18 18:54:24 +01:00 |
|
nitrix
|
b38369b7a5
|
implemented variables and function call evaluation
|
2019-11-18 18:02:10 +01:00 |
|
nitrix
|
9385618252
|
print and evaluate the source code
|
2019-11-12 12:03:59 +01:00 |
|
nitrix
|
38d34a7cbc
|
implement else if nesting
|
2019-11-11 22:27:27 +01:00 |
|
nitrix
|
ea6bde3305
|
enforce parantheses around the conditional expression of an if statement
|
2019-11-11 16:22:43 +01:00 |
|
nitrix
|
0021e4da60
|
shortened import statements
|
2019-11-11 16:20:08 +01:00 |
|
nitrix
|
d97f84e95f
|
use pretty print visitor
|
2019-11-11 15:50:37 +01:00 |
|
nitrix
|
9fa61ed1a4
|
implement pretty print visitor
|
2019-11-11 15:50:25 +01:00 |
|
nitrix
|
af363c729f
|
add method for visiting blocks
|
2019-11-11 15:50:08 +01:00 |
|
nitrix
|
b473a627b0
|
add stub for visiting block statement
|
2019-11-11 15:49:46 +01:00 |
|
nitrix
|
d5639db187
|
actually implement the visitor
|
2019-11-11 15:49:25 +01:00 |
|
nitrix
|
67670693e8
|
explicitly set the type of Blocks to null
|
2019-11-11 15:46:55 +01:00 |
|
nitrix
|
6dbc1fe4fb
|
implement visitors for block and braced_block
|
2019-11-11 11:46:05 +01:00 |
|
nitrix
|
42ae4c88fb
|
require at least one statement in block
|
2019-11-11 11:40:17 +01:00 |
|
nitrix
|
16b8efaa8b
|
delete build artifacts
|
2019-11-11 11:37:58 +01:00 |
|
nitrix
|
c26cb6ddf5
|
add context analysis and custom visitors
|
2019-11-04 17:35:15 +01:00 |
|
nitrix
|
bef26434c6
|
add ignore for antlr generated files
|
2019-11-04 15:44:20 +01:00 |
|
nitrix
|
ea248733d0
|
add launch config to immediately run the code
|
2019-10-28 22:11:39 +01:00 |
|
nitrix
|
4e15cdb49e
|
use CharStream instead of ANTLRInputStream
|
2019-10-28 22:08:39 +01:00 |
|
nitrix
|
ce39b5cc02
|
remove obsolete Value class since we currently only use plain-old Integers
|
2019-10-28 21:53:20 +01:00 |
|
nitrix
|
13d38a53aa
|
implement new for simplified grammar
|
2019-10-28 21:52:32 +01:00 |
|
nitrix
|
a6c732e99c
|
update grammar definition to the example from the lecture
|
2019-10-28 21:51:50 +01:00 |
|
nitrix
|
fb10c23c49
|
remove obsolete visitor implementation
|
2019-10-28 21:50:58 +01:00 |
|
nitrix
|
ec89390e4a
|
remove obsolete files
|
2019-10-28 21:50:27 +01:00 |
|
nitrix
|
eb8a1d7a7c
|
created initial readme
|
2019-10-28 16:20:04 +01:00 |
|
nitrix
|
36fb6cb9fa
|
add utf setting for antrl directory
|
2019-10-28 16:18:12 +01:00 |
|
nitrix
|
e64aead3c2
|
use default maven ignore
|
2019-10-28 16:17:51 +01:00 |
|
nitrix
|
78664cc874
|
remove target
|
2019-10-28 16:16:33 +01:00 |
|
nitrix
|
f011985aa2
|
add gitignore
|
2019-10-28 16:14:45 +01:00 |
|