| Commit message (Expand) | Author | Age | Files | Lines |
* | Fix homework submission script on FreeBSDHEADmaster | Ting-Wei Lan | 2016-01-24 | 1 | -1/+1 |
* | Don't call ccmmc_register_alloc() after saving registers for write functionHW6 | Ting-Wei Lan | 2016-01-21 | 1 | -4/+8 |
* | Don't output add/sub sp, sp ,0 | kugwa | 2016-01-21 | 1 | -2/+6 |
* | Allow using expressions as arguments of write function | Ting-Wei Lan | 2016-01-21 | 1 | -2/+2 |
* | Move some globals into the structure | kugwa | 2016-01-21 | 2 | -11/+12 |
* | Don't use x29 for tmp | kugwa | 2016-01-21 | 1 | -2/+2 |
* | Dynamically adjust the size of pool->spill | kugwa | 2016-01-21 | 1 | -3/+11 |
* | Add missing _caller_save() and _save_arguments() | kugwa | 2016-01-21 | 1 | -0/+3 |
* | Only save and restore registers being used | kugwa | 2016-01-21 | 1 | -8/+18 |
* | Can use more registers | kugwa | 2016-01-21 | 1 | -2/+2 |
* | Don't replace main with _start_MAIN | Ting-Wei Lan | 2016-01-21 | 1 | -1/+1 |
* | libparser_a-parser.[ch] -> parser.[ch] | Ting-Wei Lan | 2016-01-21 | 3 | -8/+8 |
* | Don't call ccmmc_register_alloc() after saving registers for function calls | Ting-Wei Lan | 2016-01-21 | 1 | -18/+18 |
* | Reverse the order of arguments on the stack | Ting-Wei Lan | 2016-01-21 | 1 | -3/+8 |
* | Fix stack restoration after function calls | Ting-Wei Lan | 2016-01-21 | 1 | -1/+1 |
* | sxtw x__, w__ | kugwa | 2016-01-21 | 2 | -2/+2 |
* | 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 | 4 | -0/+157 |
* | 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 | 4 | -0/+38 |
* | Add a testcase to show the modification of grammerHW4 | kugwa | 2015-12-11 | 2 | -0/+11 |
* | Fix constant expression testcase | Ting-Wei Lan | 2015-12-11 | 1 | -2/+1 |
* | Add some testcases | Ting-Wei Lan | 2015-12-11 | 11 | -1/+74 |
* | 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 | 6 | -0/+44 |
* | 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 |
* | Refuse to compile if C11 isn't supported | Ting-Wei Lan | 2015-12-03 | 2 | -3/+178 |
* | Drop all non-namespaced symbols | Ting-Wei Lan | 2015-12-03 | 10 | -505/+525 |
* | Drop line_number and prog global variables | Ting-Wei Lan | 2015-12-02 | 7 | -34/+80 |
* | 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 | 5 | -19/+91 |
* | 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 | 7 | -9/+16 |
* | Don't include lexer.c and move yyerror to the end of file | Ting-Wei Lan | 2015-11-30 | 3 | -15/+17 |
* | Add the header generated by yacc to BUILT_SOURCESHW3 | Ting-Wei Lan | 2015-11-13 | 1 | -1/+1 |
* | Enable POSIX extensions | Ting-Wei Lan | 2015-11-13 | 6 | -0/+23 |
* | 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 | 3 | -0/+204 |
* | 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 | 9 | -144/+937 |
* | 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 | 6 | -12/+14 |
* | CONST_FLOAT now matchs some fucking cases like '1.' or '.1'HW2 | kugwa | 2015-10-23 | 1 | -1/+1 |
* | CONST_FLOAT can now match 1e9 | kugwa | 2015-10-23 | 1 | -1/+1 |
* | Exit after an unknown token is found | Ting-Wei Lan | 2015-10-23 | 1 | -0/+2 |
* | line_number starts from 1 instead of 0 | kugwa | 2015-10-23 | 1 | -1/+1 |
* | More complex format of int and float can be match | kugwa | 2015-10-23 | 1 | -3/+3 |
* | Don't include file generated by flex in submitted homework | Ting-Wei Lan | 2015-10-21 | 1 | -0/+3 |
* | Follow the format required by TA | Ting-Wei Lan | 2015-10-21 | 2 | -10/+14 |
* | Use AX_COMPILER_FLAGS | Ting-Wei Lan | 2015-10-21 | 13 | -3/+899 |
* | Don't export non-namespaced symbols | Ting-Wei Lan | 2015-10-21 | 4 | -34/+34 |
* | symbol-table.h needs a header guard | Ting-Wei Lan | 2015-10-21 | 1 | -0/+4 |
* | Don't export linenumber global variable | Ting-Wei Lan | 2015-10-21 | 3 | -8/+7 |
* | Print sorted list of identifiers in main | Ting-Wei Lan | 2015-10-21 | 1 | -3/+20 |
* | Move main function to a separate file | Ting-Wei Lan | 2015-10-21 | 3 | -12/+21 |
* | Break a long line | Ting-Wei Lan | 2015-10-21 | 1 | -1/+2 |
* | Show undefined characters in error messages | Ting-Wei Lan | 2015-10-21 | 1 | -1/+4 |
* | Change the usage of fillTab() | kugwa | 2015-10-21 | 2 | -3/+16 |
* | Add fillTab() for hw2 | kugwa | 2015-10-21 | 2 | -0/+15 |
* | Replace tabs with spaces in symbol-table.c | kugwa | 2015-10-21 | 1 | -8/+8 |
* | Add modelines for vim | Ting-Wei Lan | 2015-10-21 | 3 | -0/+5 |
* | Replace all tabs with spaces in symbol-table.h | Ting-Wei Lan | 2015-10-21 | 1 | -5/+5 |
* | Show line numbers in error messages | Ting-Wei Lan | 2015-10-21 | 1 | -1/+1 |
* | Ignore ylwrap generated by automake | Ting-Wei Lan | 2015-10-21 | 1 | -0/+1 |
* | Fix coding style and remove all tabs | Ting-Wei Lan | 2015-10-21 | 2 | -74/+69 |
* | Deal with identifiers and reserved words differently | kugwa | 2015-10-21 | 1 | -15/+19 |
* | Complete lexer.l | kugwa | 2015-10-19 | 3 | -74/+135 |
* | Add a simple autotools build system | Ting-Wei Lan | 2015-10-19 | 3 | -0/+57 |
* | Rename header.h to symbol-table.h | Ting-Wei Lan | 2015-10-19 | 4 | -3/+3 |
* | Rewrite Makefile to use default rules specified by POSIX | Ting-Wei Lan | 2015-10-19 | 2 | -21/+10 |
* | Add a .gitignore file for autotools | Ting-Wei Lan | 2015-10-19 | 1 | -0/+64 |
* | Import files provided by TATA | Ting-Wei Lan | 2015-10-19 | 4 | -0/+211 |