summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* implement memory bounds checkingBenedikt Böhm2009-07-075-1/+15
|
* push command line params onto stackBenedikt Böhm2009-07-074-8/+19
|
* make instruction 64-bit wide to support more than 32 registersBenedikt Böhm2009-07-0710-74/+82
|
* Merge branch 'master' of git@git.animux.de:swppyAndreas Nüßlein2009-07-064-3/+3
|\
| * minor fixesBenedikt Böhm2009-07-064-3/+3
| |
* | praesentation -> doc/praes2Andreas Nüßlein2009-07-0613-0/+0
| |
* | added presentationAndreas Nüßlein2009-07-0613-0/+1836
|/
* ggT exampleAndreas Nüßlein2009-07-061-0/+27
|
* implement print statementBenedikt Böhm2009-07-069-12/+39
|
* add compiler wrapperBenedikt Böhm2009-07-063-1/+19
|
* fix generation of LW, SW opcodesBenedikt Böhm2009-07-061-1/+2
|
* fix segmentation fault on syntax errorBenedikt Böhm2009-07-061-7/+7
|
* fix function call as statement, fix EBNF errorsBenedikt Böhm2009-07-043-26/+23
|
* simplify generatorJana Rekittke2009-07-041-45/+12
|
* add test casesBenedikt Böhm2009-07-044-0/+46
|
* cleanupBenedikt Böhm2009-07-044-28/+8
|
* remove test filesBenedikt Böhm2009-07-045-195/+0
|
* adapt emulator for generator changes:Benedikt Böhm2009-07-0414-219/+450
| | | | | | | | - new instructions (push, pop, call, ret) - new pseudo-registers (bp, sp, rv) - new binary format - dynamic register file size - removed obsolete instructions
* implement the code generatorJana Rekittke2009-07-042-3/+182
|
* adapt parser for backend changesBenedikt Böhm2009-07-043-34/+69
| | | | | | | | - emit a prologue/epilogue for functions - emit a "JMP main" instruction in the beginning - track the last function label across genrate calls - split scope in params and local variables (they have a different layout on the stack)
* cleanupBenedikt Böhm2009-07-031-32/+0
|
* rename BEQ to BEZ and make TACList iterableBenedikt Böhm2009-07-031-1/+4
|
* cleanup astBenedikt Böhm2009-07-031-57/+30
|
* adapt instructions changes from back/tac.pyJana Rekittke2009-07-023-29/+29
|
* implement three-address-code objects instead of printfAndreas Nüßlein2009-07-027-90/+157
|
* implemented scope and most of astAndreas Nüßlein2009-06-305-172/+238
|
* fix function_callBenedikt Böhm2009-06-296-102/+59
| | | | | - function_call is now an expression and a statement - call keyword is required to make lookahead = 1 work
* Merge branch 'master' of git@git.animux.de:swppyBenedikt Böhm2009-06-296-92/+260
|\ | | | | | | | | Conflicts: src/front/__init__.py
| * fixed error with not newline at file endAlexander Sulfrian2009-06-284-40/+43
| | | | | | | | | | | | moved __init__.py with testcode from src/front to src/ added in lexer "\n\n" at source end to have a newline at file end added unexpected end of file message, if matched token is None
| * added parserAlexander Sulfrian2009-06-234-69/+232
| | | | | | | | | | - commited parser (Michael Popov) - changed encoding of parser.py to utf8
* | remove obsolete filesBenedikt Böhm2009-06-091-145/+0
| |
* | update first presentationBenedikt Böhm2009-06-091-11/+11
| |
* | simplify scope, symbol and typesBenedikt Böhm2009-06-093-48/+20
| |
* | strictly seperate boolean and numeric expressionsBenedikt Böhm2009-06-091-12/+12
| |
* | Merge branch 'master' of git@git.animux.de:swppyBenedikt Böhm2009-05-262-5/+38
|\|
| * added a main_test (currently for back)Andreas Nüßlein2009-05-262-5/+38
| |
* | fix __init__.pyBenedikt Böhm2009-05-261-3/+1
|/
* add first presentationBenedikt Böhm2009-05-265-0/+315
|
* tac and ast updates - added eval to ast-elemsAndreas Nüßlein2009-05-263-44/+163
| | | | | | every ast-element now has a .eval-method that creates the ThreeAddressCode for said element. Also: tac-elements are stored linear in a list (, duh)
* add modulus operatorBenedikt Böhm2009-05-251-1/+1
|
* add scope, and symbol class, obsoletes SymbolTableBenedikt Böhm2009-05-253-30/+54
|
* added ThreeAddressCode classAndreas Nüßlein2009-05-221-0/+50
|
* implement AST interfaces, which also superseeds parser tokensBenedikt Böhm2009-05-213-59/+111
|
* make syntax productions consistentBenedikt Böhm2009-05-211-6/+7
|
* lexer combines multiple newlines already, so we ignore it in the grammarBenedikt Böhm2009-05-201-6/+5
|
* make newlines explicitBenedikt Böhm2009-05-201-9/+6
|
* remove symbol table from lexerBenedikt Böhm2009-05-204-33/+40
|
* convert tags to a typesafe enum so we can print strings instead of intsBenedikt Böhm2009-05-201-42/+50
|
* beautify symbol tableBenedikt Böhm2009-05-202-17/+20
|
* implemented lexer (with tokens and symbolTable)Alexander Sulfrian2009-05-205-61/+216
| | | | | | todo: beautify code, implement token classes for parser implemented test function with testcode moved token class to single file (token.py)