Commit Graph

262 Commits

Author SHA1 Message Date
Marvin Kaiser 5275b63940 added make target to only cleanup the tests. Can be used for quicker test development without having to recompile the klang compiler 2020-01-14 12:25:04 +01:00
Marvin Kaiser 7af6565e07 Added more tests for while 2020-01-14 12:24:25 +01:00
Marvin Kaiser 3ca9fe4de1 Added automatic counting of successes/failures in tests 2020-01-14 12:15:20 +01:00
Marvin Kaiser 1ceba78059 Updated cicd yaml to work with latest test suite 2020-01-14 11:50:56 +01:00
Marvin Kaiser d2d50f6d4f cleaned up test suit 2020-01-14 11:47:04 +01:00
Marvin Kaiser be43cc9a77 implement for loops 2020-01-14 11:04:31 +01:00
Marvin Kaiser 1980e1ba8c Move the SCOL for var_assigns and var_decl to the statement rule 2020-01-14 10:39:46 +01:00
Marvin Kaiser f6818b6983 fix syntax issues 2020-01-14 10:23:12 +01:00
Marvin Kaiser 586c2bb5d9 renamed whileLoop to WhileLoop 2020-01-14 08:50:45 +01:00
Marvin Kaiser 5eb0679bf3 Renamed doWhileLoop to DoWhileLoop 2020-01-14 08:48:51 +01:00
Marvin Kaiser e52ad061f9 Implemented do while loops 2020-01-13 16:43:38 +01:00
Marvin Kaiser 02e57b7db5 Added tests for self-altering expressions 2020-01-13 16:17:20 +01:00
Marvin Kaiser bd4ae1d605 Added while loop 2020-01-13 16:08:44 +01:00
Marvin Kaiser 33215a1b4a Merge branch '10-vergleichsoperatoren' into 'master'
Resolve "Vergleichsoperatoren"

Closes #10

See merge request mkais001/klang!5
2019-12-20 10:02:10 +01:00
Marvin Kaiser 079cdf4969 Implemented != expression 2019-12-20 09:09:01 +01:00
Marvin Kaiser a79b7c9362 Implemented boolean expressions 2019-12-20 09:01:03 +01:00
Marvin Kaiser f341401ccc Implemented pretty printing and evaluating of boolean expressions 2019-12-20 08:42:20 +01:00
Marvin Kaiser 00145848da Added classes for boolean expressions 2019-12-20 08:41:05 +01:00
Marvin Kaiser c5419b85c7 Extend grammar: added boolean expressions 2019-12-20 08:40:17 +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
Marvin Kaiser 3f2987074d Fix: Variable Declaration with initialization not correctly pretty printed 2019-12-18 10:37:05 +01:00
Marvin Kaiser 9f68e6b8d1 Added test for recursive calls 2019-12-17 19:09:09 +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
Marvin Kaiser ab80f16092 updated gitlab pipeline 2019-12-17 17:47:48 +01:00
Marvin Kaiser 9d71927241 updated ci pipeline 2019-12-17 17:43:18 +01:00
Marvin Kaiser 6d97ec4b55 added docker tags to ci configuration 2019-12-17 17:36:15 +01:00
Marvin Kaiser 6e21697f2e Added gitlab ci configuration 2019-12-17 17:31:17 +01:00
Marvin Kaiser 08f486203b Fix: Arguments that don't fit into registeres are passed in the incorrect order 2019-12-17 17:22:44 +01:00
Marvin Kaiser 5745062704 Fix: Subtraction tests not working. Was: incorrect order of expression evaluation 2019-12-17 16:53:20 +01:00
Marvin Kaiser c8bca94ca8 Added tests that check that klang passes parameters to functions in the same way that gcc does it 2019-12-17 16:48:09 +01:00
Marvin Kaiser d3847682d6 Fix: Offset calculation for stack parameters 2019-12-17 16:45:54 +01:00
Marvin Kaiser e71ccf1cdc Fix: Additional parameters not pushed onto stack 2019-12-17 16:45:32 +01:00
Marvin Kaiser d4dfe27bc0 Added error counting to tests. Tests return ERROR_FAILURE when not all test were successful 2019-12-17 16:13:04 +01:00
Marvin Kaiser 3710c1f903 Added rule to evaluate the source code 2019-12-17 15:53:15 +01:00
Marvin Kaiser b4b2bceae5 added pretty printing rule to makefile 2019-12-17 15:52:19 +01:00
Marvin Kaiser 086e9dae76 Added possibility to select pretty printing / evaluating via argument 2019-12-17 15:52:06 +01:00
Marvin Kaiser a01a27bd77 Updated makefile to include functions to run/build the project 2019-12-17 15:47:50 +01:00
Marvin Kaiser 59664e73b0 Created testsuite and makefile to run testsuite 2019-12-17 15:13:31 +01:00
Marvin Kaiser aaf1c3195d if statement asm generation now omits else labels if no else was defined 2019-12-17 15:12:36 +01:00
Marvin Kaiser bf50587cdb Comment out syso's that print something that's not assembly code 2019-12-17 15:10:37 +01:00
Marvin Kaiser b022f41bb5 Remove *.k and *.c from gitignore, we need them for tests 2019-12-17 15:10:06 +01:00
Dennis Kaiser 12f5ef9121 Merge branch 'feature/variable-declaration' into 'master'
Feature/variable declaration

See merge request mkais001/klang!3
2019-12-16 22:44:12 +01:00
nitrix 1c686fb0ea Implement variable declaration 2019-12-16 22:41:58 +01:00