summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
39 hourslc/semanticanalysis: simplify labeling with loops and switchHEADmasterThomas Bracht Laumann Jespersen
39 hourslc/semanticanalysis: remove some print debuggingThomas Bracht Laumann Jespersen
39 hourslc/bin: only print lexed tokens when stage == LexThomas Bracht Laumann Jespersen
39 hoursdriver: support -cThomas Bracht Laumann Jespersen
40 hourslc/tacky: gen TACKY for switch, case, and defaultThomas Bracht Laumann Jespersen
2 dayslc: parse and validate switch statementsThomas Bracht Laumann Jespersen
8 dayslc/tacky: generate TACKY for loopsThomas Bracht Laumann Jespersen
10 dayslc/semanticanalysis: finish loop labelingThomas Bracht Laumann Jespersen
11 dayslc/parse+semanticanalysis: parsing and label mapping doneThomas Bracht Laumann Jespersen
11 dayslc/parse: parse all looping constructsThomas Bracht Laumann Jespersen
12 dayslc/lex: lex do, for, while, break and continueThomas Bracht Laumann Jespersen
13 dayslc/semanticanalysis: use bindThomas Bracht Laumann Jespersen
13 dayslc/ast: adjust AST pretty-printingThomas Bracht Laumann Jespersen
13 dayslc/semanticanalysis: introduce transpose for option resultThomas Bracht Laumann Jespersen
13 dayslc/semanticanalysis: minor changesThomas Bracht Laumann Jespersen
13 dayslc/semanticanalysis: compress some linesThomas Bracht Laumann Jespersen
13 dayslc: complete chapter 7, supporting compound statementsThomas Bracht Laumann Jespersen
2024-12-07lc/semanticanalysis: pull out some shared functionalityThomas Bracht Laumann Jespersen
2024-12-07lc: add semantic analysis stageThomas Bracht Laumann Jespersen
2024-12-07lc: allow labels before declarationsThomas Bracht Laumann Jespersen
2024-12-07lc: labeled statements and goto passing all the testsThomas Bracht Laumann Jespersen
2024-11-26lc: validation, tacky and codegen for goto and labelsThomas Bracht Laumann Jespersen
2024-11-22lc: lex and parse labels and gotoThomas Bracht Laumann Jespersen
2024-11-21lc: implement if-then-else and conditional syntaxThomas Bracht Laumann Jespersen
2024-11-20lc/lex: lex if, else, ? and :Thomas Bracht Laumann Jespersen
2024-11-19lc: a little clean-upThomas Bracht Laumann Jespersen
2024-11-19lc/tacky: fix selection of result tmp for pre/post inc/decThomas Bracht Laumann Jespersen
2024-11-19lc/parse+tacky: add support for pre/post inc/decThomas Bracht Laumann Jespersen
2024-11-18lc/parse: add our grammarThomas Bracht Laumann Jespersen
2024-11-17lc/ast: introduce CompoundAssignmentThomas Bracht Laumann Jespersen
2024-11-15lc: add compound assignment operatorsThomas Bracht Laumann Jespersen
2024-11-14lc/tacky: add "ret 0" if last instruction is not a retThomas Bracht Laumann Jespersen
2024-11-14lc/tacky: generate TACKY for declarations and assignmentsThomas Bracht Laumann Jespersen
2024-11-13update makefile with test targetThomas Bracht Laumann Jespersen
2024-11-13lc/parse: implement full variable declaration validationThomas Bracht Laumann Jespersen
2024-11-11lc/parse: rename parse_state.{decls -> symtab}Thomas Bracht Laumann Jespersen
2024-11-11lc/parse: change the threaded token list to a parse stateThomas Bracht Laumann Jespersen
2024-11-11add makefileThomas Bracht Laumann Jespersen
2024-11-11add MakefileThomas Bracht Laumann Jespersen
2024-11-11lc/ast: adjust pretty-printingThomas Bracht Laumann Jespersen
2024-11-11lc/ast: fix some indentationThomas Bracht Laumann Jespersen
2024-11-11lc/parse: remove unnecessary parenthesisThomas Bracht Laumann Jespersen
2024-11-10update README.mdThomas Bracht Laumann Jespersen
2024-11-10add README.mdThomas Bracht Laumann Jespersen
2024-11-10lc/parse: remove unnecessary parenthesis around matchThomas Bracht Laumann Jespersen
2024-11-09tests: add vars.cThomas Bracht Laumann Jespersen
2024-11-09lc/parse: compress parse_exp a littleThomas Bracht Laumann Jespersen
2024-11-09lc: lex and parse assignment operator and declarationsThomas Bracht Laumann Jespersen
2024-11-09tests: some additional testsThomas Bracht Laumann Jespersen
2024-11-09lc/codegen: swap some things aroundThomas Bracht Laumann Jespersen