Commit Graph
75 Commits
Author SHA1 Message Date
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