| Commit message (Expand) | Author | Age | Files | Lines |
* | Handle the case of freeing a tmp on the stack | kugwa | 2016-01-21 | 1 | -21/+63 |
* | Save arguments before calling any function | Ting-Wei Lan | 2016-01-20 | 1 | -16/+20 |
* | Fix the problem of immediates in register.c | kugwa | 2016-01-20 | 1 | -11/+20 |
* | Support calling functions with arguments | Ting-Wei Lan | 2016-01-20 | 5 | -33/+257 |
* | Add the missing vim modeline in register.c | Ting-Wei Lan | 2016-01-20 | 1 | -0/+2 |
* | Fix the problem of initializing local variables | kugwa | 2016-01-19 | 1 | -11/+16 |
* | Complete code-gen of for statement | kugwa | 2016-01-18 | 1 | -2/+51 |
* | Complete global array reference | kugwa | 2016-01-18 | 1 | -2/+52 |
* | Change mul 4 to lsl 2 | kugwa | 2016-01-18 | 1 | -11/+4 |
* | Use bool to store lock information of a register | Ting-Wei Lan | 2016-01-18 | 2 | -12/+13 |
* | Fix calc_array_offset() | kugwa | 2016-01-18 | 1 | -14/+18 |
* | Callers have to pass extend_name[]HW5 | kugwa | 2016-01-03 | 3 | -9/+9 |
* | sxt -> sxtw | kugwa | 2016-01-03 | 1 | -17/+23 |
* | Add a function to get the name of 64 bit registers | kugwa | 2016-01-03 | 3 | -2/+27 |
* | Add missing ccmmc_register_lock() in store_variable() | kugwa | 2016-01-03 | 1 | -0/+2 |
* | Complete array reference for storing local variables | kugwa | 2016-01-03 | 1 | -18/+41 |
* | Complete array reference for loading local variables | kugwa | 2016-01-03 | 1 | -21/+110 |
* | Use adrp and add to address global variables | Ting-Wei Lan | 2016-01-03 | 1 | -4/+6 |
* | Fix linking error caused by missing .align directive | Ting-Wei Lan | 2016-01-03 | 1 | -0/+1 |
* | Add missing colons after label names | Ting-Wei Lan | 2016-01-03 | 1 | -5/+5 |
* | Don't add a newline when writing a string | Ting-Wei Lan | 2016-01-03 | 1 | -1/+1 |
* | fmov -> mov, fmov cannot be used to move integer registers | Ting-Wei Lan | 2016-01-03 | 1 | -1/+1 |
* | Fix syntax error when accessing global variables | Ting-Wei Lan | 2016-01-03 | 1 | -2/+4 |
* | Drop trailing whitespaces | Ting-Wei Lan | 2016-01-03 | 1 | -2/+2 |
* | Comment and indent code generated by register.c | kugwa | 2016-01-03 | 1 | -6/+14 |
* | Apply register management | kugwa | 2016-01-03 | 2 | -128/+185 |
* | Rewrite names for read, fread, and the overloaded write function | Ting-Wei Lan | 2016-01-03 | 1 | -1/+34 |
* | Temporarily workaround the wrong return label | Ting-Wei Lan | 2016-01-03 | 1 | -0/+10 |
* | Rewrite the name of main function to work with TA's broken toolchain | Ting-Wei Lan | 2016-01-03 | 1 | -6/+12 |
* | Workaround label name conflict with TA's broken toolchain | Ting-Wei Lan | 2016-01-03 | 1 | -1/+2 |
* | Add a function to handle function calls to reduce duplicate code | Ting-Wei Lan | 2016-01-03 | 1 | -6/+9 |
* | Complete code-gen of if-else statement | kugwa | 2016-01-03 | 1 | -3/+56 |
* | Workaround large immediate by loading constant offsets from memory | Ting-Wei Lan | 2016-01-02 | 1 | -4/+12 |
* | Free registers after generating condition code in while statement | kugwa | 2016-01-02 | 1 | -0/+6 |
* | Generate code for return statements | Ting-Wei Lan | 2016-01-02 | 2 | -17/+39 |
* | Floating-point return value is in s0 | Ting-Wei Lan | 2016-01-02 | 1 | -2/+9 |
* | Complete code-gen of while statement | kugwa | 2016-01-02 | 1 | -2/+34 |
* | Remove the assert() in the function call case of generating expr | kugwa | 2016-01-02 | 1 | -1/+1 |
* | Fix output to meet asm syntax | kugwa | 2016-01-02 | 1 | -5/+5 |
* | Handle function calls in expr | kugwa | 2016-01-02 | 1 | -1/+4 |
* | Generate code for function calls | kugwa | 2016-01-02 | 2 | -1/+14 |
* | fneg instruction should use floating-point registers | Ting-Wei Lan | 2016-01-02 | 1 | -1/+1 |
* | div -> sdiv, there is no instruction called div | Ting-Wei Lan | 2016-01-02 | 1 | -1/+1 |
* | Generate code to initialize variables with constants | Ting-Wei Lan | 2016-01-02 | 1 | -35/+44 |
* | Fill type_value for ID nodes of newly declared variables | Ting-Wei Lan | 2016-01-02 | 1 | -0/+1 |
* | No code has to be generated for typedef | Ting-Wei Lan | 2016-01-02 | 1 | -1/+2 |
* | Suppress a bogus array bound warning for clang and glibc | Ting-Wei Lan | 2016-01-02 | 1 | -0/+8 |
* | Generate code for expressions and assignments | Ting-Wei Lan | 2016-01-02 | 5 | -3/+394 |
* | Add function prologue and epilogue | Ting-Wei Lan | 2016-01-02 | 1 | -2/+8 |
* | Use x30 as the frame pointer | Ting-Wei Lan | 2016-01-02 | 1 | -0/+1 |
* | Add a simple function to check whether an immediate is too large | Ting-Wei Lan | 2016-01-02 | 1 | -8/+12 |
* | Add .size and .type to all global symbols except for uninitialized variables | Ting-Wei Lan | 2016-01-02 | 1 | -6/+20 |
* | Can allocate many tmps | kugwa | 2016-01-02 | 3 | -38/+118 |
* | Immediate is only safe to when the number is <= 4096 | Ting-Wei Lan | 2015-12-31 | 1 | -2/+2 |
* | Process local variables declared in else blocks | Ting-Wei Lan | 2015-12-31 | 1 | -0/+4 |
* | Add missing else statement check | kugwa | 2015-12-31 | 1 | -0/+5 |
* | Properly deallocate the register pool | Ting-Wei Lan | 2015-12-31 | 2 | -0/+6 |
* | Export functions and global variables as global symbols | Ting-Wei Lan | 2015-12-31 | 1 | -4/+9 |
* | Use ldr to prevent immediate from becoming too large | Ting-Wei Lan | 2015-12-31 | 1 | -3/+28 |
* | Initialize the register pool | kugwa | 2015-12-31 | 4 | -0/+9 |
* | Add code for register management | kugwa | 2015-12-31 | 3 | -0/+155 |
* | Statements should not change the fp offset | Ting-Wei Lan | 2015-12-31 | 1 | -13/+11 |
* | Generate fp offsets for local variables | Ting-Wei Lan | 2015-12-31 | 1 | -1/+99 |
* | Generate code for global variable declarations | Ting-Wei Lan | 2015-12-31 | 1 | -6/+45 |
* | Reset the state of the symbol table before generating code | Ting-Wei Lan | 2015-12-31 | 1 | -0/+2 |
* | Add the missing vim modeline in code-generation.c | Ting-Wei Lan | 2015-12-31 | 1 | -0/+2 |
* | Complete the NORMAL_ID case in generate_global_variable() | kugwa | 2015-12-30 | 3 | -1/+34 |
* | Add 3 static code-generation functions | kugwa | 2015-12-30 | 1 | -0/+28 |
* | Drop any_error from state and add asm_output to state | Ting-Wei Lan | 2015-12-30 | 5 | -12/+12 |
* | Add the code-generation phase | kugwa | 2015-12-30 | 3 | -0/+36 |
* | Fix error detection in check_call() | kugwa | 2015-12-11 | 1 | -5/+10 |
* | Handle builtin functions: read, fread, write | Ting-Wei Lan | 2015-12-10 | 1 | -0/+25 |
* | Check return type when a function returns | kugwa | 2015-12-10 | 1 | -1/+30 |
* | Complete check_call() and case CCMMC_KIND_STMT_FOR | kugwa | 2015-12-10 | 1 | -12/+106 |
* | Fix indent of a statement in else | kugwa | 2015-12-10 | 1 | -1/+1 |
* | Detect overflows and underflows when scanning numbers | Ting-Wei Lan | 2015-12-10 | 1 | -2/+50 |
* | Scalars cannot be used as arrays and arrays cannot be used as scalars | Ting-Wei Lan | 2015-12-09 | 1 | -0/+10 |
* | Use regular tree representation in AST drawer | Ting-Wei Lan | 2015-12-09 | 1 | -12/+6 |
* | Draw computed types stored in AST | Ting-Wei Lan | 2015-12-09 | 1 | -0/+36 |
* | Check and write computed types for expressions and arrays | Ting-Wei Lan | 2015-12-09 | 2 | -7/+181 |
* | process_{relop_expr, var_ref} -> check_{relop_expr, var_ref} | kugwa | 2015-12-09 | 2 | -6/+44 |
* | Handle array dimension error of function parameters | kugwa | 2015-12-09 | 2 | -9/+17 |
* | Change ID to var_ref for rule assign_expr | kugwa | 2015-12-09 | 1 | -4/+2 |
* | process_{typedef,variable,function} -> decl_{typedef,variable,function} | Ting-Wei Lan | 2015-12-09 | 1 | -9/+9 |
* | retrive -> retrieve | Ting-Wei Lan | 2015-12-09 | 3 | -7/+7 |
* | Fix crash when constant expressions include string literals | Ting-Wei Lan | 2015-12-09 | 1 | -1/+8 |
* | Show (void) for functions without arguments | Ting-Wei Lan | 2015-12-09 | 1 | -0/+2 |
* | Can declare local variable and write empty statements | kugwa | 2015-12-08 | 1 | -3/+24 |
* | Move code for block node into process_block() | kugwa | 2015-12-08 | 1 | -34/+62 |
* | Can declare functions with empty blocks | kugwa | 2015-12-08 | 1 | -18/+73 |
* | Allow using 'type name(void)' to define functions with no argument | Ting-Wei Lan | 2015-12-07 | 1 | -0/+24 |
* | Implement checks for global variable initalizers | Ting-Wei Lan | 2015-12-07 | 1 | -46/+185 |
* | Reject void variables and void arrays. | Ting-Wei Lan | 2015-12-07 | 1 | -0/+11 |
* | Write results to AST nodes when evaluating constant expressions | Ting-Wei Lan | 2015-12-07 | 2 | -88/+93 |
* | Allow using typedef with array types | Ting-Wei Lan | 2015-12-07 | 1 | -4/+15 |
* | Fix unhandled enumeration value error | Ting-Wei Lan | 2015-12-07 | 1 | -0/+1 |
* | Use stdin if the source file name is a single dash | Ting-Wei Lan | 2015-12-07 | 1 | -1/+2 |
* | Allow dumping symbol table via an environment variable | Ting-Wei Lan | 2015-12-07 | 1 | -1/+14 |
* | Fix problems caused by short-circuit evaluation | Ting-Wei Lan | 2015-12-07 | 1 | -4/+4 |
* | Handle constant expressions with integer division by zero | Ting-Wei Lan | 2015-12-07 | 2 | -5/+11 |
* | Re-add line number fields in AST nodes | Ting-Wei Lan | 2015-12-07 | 4 | -152/+225 |
* | Implement semantic checks for type and variable declarations | Ting-Wei Lan | 2015-12-06 | 5 | -2/+434 |
* | Add a flag to mark whether the type is a function | Ting-Wei Lan | 2015-12-06 | 1 | -3/+16 |
* | Simple coding style fix | Ting-Wei Lan | 2015-12-06 | 1 | -1/+1 |
* | Fix typo in ast.h | Ting-Wei Lan | 2015-12-06 | 1 | -2/+2 |
* | We are going to do semantic analysis | Ting-Wei Lan | 2015-12-06 | 5 | -0/+42 |
* | Fix indent and broken include guard in state.[ch] | Ting-Wei Lan | 2015-12-06 | 2 | -11/+13 |
* | Disable AST dumping by default | Ting-Wei Lan | 2015-12-06 | 1 | -1/+3 |
* | Use multiple small hash tables to implement symbol tables | Ting-Wei Lan | 2015-12-06 | 3 | -80/+116 |
* | Drop all non-namespaced symbols | Ting-Wei Lan | 2015-12-03 | 9 | -504/+523 |
* | Drop line_number and prog global variables | Ting-Wei Lan | 2015-12-02 | 6 | -34/+78 |
* | Make the scanner and the parser reentrant and reduce non-namespaced symbols | Ting-Wei Lan | 2015-12-01 | 3 | -19/+52 |
* | Sort the list of tokens and non-terminals | Ting-Wei Lan | 2015-11-30 | 1 | -15/+18 |
* | Use strerror_r to make error messages more useful | Ting-Wei Lan | 2015-11-30 | 3 | -19/+89 |
* | The style of grammer rules is more consistent now | Ting-Wei Lan | 2015-11-30 | 1 | -129/+130 |
* | Drop tab usage in source files | Ting-Wei Lan | 2015-11-30 | 2 | -63/+63 |
* | Drop unused code | Ting-Wei Lan | 2015-11-30 | 1 | -7/+1 |
* | All source files should include vim modelines | Ting-Wei Lan | 2015-11-30 | 4 | -0/+7 |
* | Include our headers before including system headers | Ting-Wei Lan | 2015-11-30 | 6 | -8/+15 |
* | Don't include lexer.c and move yyerror to the end of file | Ting-Wei Lan | 2015-11-30 | 2 | -11/+13 |
* | Enable POSIX extensions | Ting-Wei Lan | 2015-11-13 | 5 | -0/+19 |
* | Fix the build with --enable-compile-warnings=error | Ting-Wei Lan | 2015-11-13 | 3 | -31/+41 |
* | Implement IF and IF...ELSE statements | kugwa | 2015-11-13 | 1 | -5/+7 |
* | Complete rules and actions for remaining operators and arrays | Ting-Wei Lan | 2015-11-13 | 1 | -26/+84 |
* | Complete most of the semantic actions before relop_expr | kugwa | 2015-11-13 | 1 | -47/+81 |
* | Fix some actions to meet TA's spec | kugwa | 2015-11-13 | 1 | -10/+5 |
* | Add declaration of printGV() in main.c | kugwa | 2015-11-12 | 1 | -0/+2 |
* | It finally works for some simple programs | kugwa | 2015-11-12 | 1 | -21/+43 |
* | main() prints the parse tree | kugwa | 2015-11-12 | 2 | -0/+203 |
* | Token ID fills yylval | kugwa | 2015-11-12 | 1 | -0/+5 |
* | Constant tokens fill yylval and return CONST | kugwa | 2015-11-12 | 1 | -5/+24 |
* | Merge TA's codes to ours | kugwa | 2015-11-11 | 7 | -130/+917 |
* | Don't define [+-]? for CONST_INT and CONST_FLOAT | kugwa | 2015-11-11 | 1 | -3/+2 |
* | Make sure we don't accidently change the number of reserved words | Ting-Wei Lan | 2015-11-11 | 1 | -0/+5 |
* | All actions in lexer.l return the currect token | kugwa | 2015-11-11 | 1 | -27/+47 |
* | Change the action of the comment token | kugwa | 2015-11-09 | 1 | -1/+6 |
* | Move all source files to the new src directory | Ting-Wei Lan | 2015-11-09 | 4 | -0/+311 |