summaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-07-07implement memory bounds checkingBenedikt Böhm5-1/+15
2009-07-07push command line params onto stackBenedikt Böhm4-8/+19
2009-07-07make instruction 64-bit wide to support more than 32 registersBenedikt Böhm9-74/+81
2009-07-06minor fixesBenedikt Böhm2-1/+2
2009-07-06implement print statementBenedikt Böhm8-11/+37
2009-07-06fix generation of LW, SW opcodesBenedikt Böhm1-1/+2
2009-07-06fix segmentation fault on syntax errorBenedikt Böhm1-7/+7
2009-07-04fix function call as statement, fix EBNF errorsBenedikt Böhm2-16/+14
2009-07-04simplify generatorJana Rekittke1-45/+12
2009-07-04cleanupBenedikt Böhm4-28/+8
2009-07-04remove test filesBenedikt Böhm5-195/+0
2009-07-04adapt emulator for generator changes:Benedikt Böhm14-219/+450
- new instructions (push, pop, call, ret) - new pseudo-registers (bp, sp, rv) - new binary format - dynamic register file size - removed obsolete instructions
2009-07-04implement the code generatorJana Rekittke2-3/+182
2009-07-04adapt parser for backend changesBenedikt Böhm3-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)
2009-07-03cleanupBenedikt Böhm1-32/+0
2009-07-03rename BEQ to BEZ and make TACList iterableBenedikt Böhm1-1/+4
2009-07-03cleanup astBenedikt Böhm1-57/+30
2009-07-02adapt instructions changes from back/tac.pyJana Rekittke3-29/+29
2009-07-02implement three-address-code objects instead of printfAndreas Nüßlein7-90/+157
2009-06-30implemented scope and most of astAndreas Nüßlein5-172/+238
2009-06-29fix function_callBenedikt Böhm5-84/+41
- function_call is now an expression and a statement - call keyword is required to make lookahead = 1 work
2009-06-28fixed error with not newline at file endAlexander Sulfrian4-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
2009-06-23added parserAlexander Sulfrian4-69/+232
- commited parser (Michael Popov) - changed encoding of parser.py to utf8
2009-06-09simplify scope, symbol and typesBenedikt Böhm3-48/+20
2009-05-26added a main_test (currently for back)Andreas Nüßlein2-5/+38
2009-05-26fix __init__.pyBenedikt Böhm1-3/+1
2009-05-26tac and ast updates - added eval to ast-elemsAndreas Nüßlein2-44/+162
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)
2009-05-25add scope, and symbol class, obsoletes SymbolTableBenedikt Böhm3-30/+54
2009-05-22added ThreeAddressCode classAndreas Nüßlein1-0/+50
2009-05-21implement AST interfaces, which also superseeds parser tokensBenedikt Böhm3-59/+111
2009-05-20remove symbol table from lexerBenedikt Böhm4-33/+40
2009-05-20convert tags to a typesafe enum so we can print strings instead of intsBenedikt Böhm1-42/+50
2009-05-20beautify symbol tableBenedikt Böhm2-17/+20
2009-05-20implemented lexer (with tokens and symbolTable)Alexander Sulfrian4-61/+215
todo: beautify code, implement token classes for parser implemented test function with testcode moved token class to single file (token.py)
2009-05-19parse tree not needed anymoreBenedikt Böhm1-3/+0
2009-05-19define interfacesBenedikt Böhm8-0/+174
2009-05-19fix CMP instructionBenedikt Böhm1-2/+2
2009-05-18move stuff around and create initial source structureBenedikt Böhm23-0/+736