Commit message (Collapse) | 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 |
| | | | | TA always uses MAIN. | ||||
* | 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 |
| | | | | | Additional changes: delete white spaces in a blank line | ||||
* | 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 |
| | | | | | We should not skip the argument-saving step for functions without arguments of the special write function. | ||||
* | 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 |
| | | | | | | | | | | | 1. The symbol attribute is modified to allow storing a related register instead of a memory location. 2. Call check_relop_expr() on all scalar function arguments to make sure that type information is available when generating code. 3. calc_array_offset() is modified to accept incomplete arrays, which is used when passing parts of arrays as arguments. 4. It is currently possible to crash the code generator by calling a function with more than 3 arguments. | ||||
* | 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 |
| | | | | There are only two state: locked and unlocked. | ||||
* | Fix calc_array_offset() | kugwa | 2016-01-18 | 1 | -14/+18 |
| | | | | Don't use type->array_size[0] | ||||
* | 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 |
| | | | | This allows using large global arrays. | ||||
* | Fix linking error caused by missing .align directive | Ting-Wei Lan | 2016-01-03 | 1 | -0/+1 |
| | | | | relocation truncated to fit: R_AARCH64_LD_PREL_LO19 against `.rodata' | ||||
* | 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 |
| | | | | | This implementation only works with single constant. Using expressions as initializers can corrupt values stored on the stack. | ||||
* | 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 |
| | | | | | additional changes: TODO: ccmmc_register_fini() | ||||
* | 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 |
| | | | | | Additional changes: Fix crash when excuting statement "return; " in a function with return type "void" | ||||
* | 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 |
| | | | | | | Additional changes: 1. Check if a function is redeclared. 2. Add a macro WARNING(). | ||||
* | 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 |
| | | | | Left-child right-sibling representation is hard to read. | ||||
* | 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 |
| | | | | | | Additional changes: 1. Check malloc() 2. Add param_node to avoid long lines | ||||
* | Change ID to var_ref for rule assign_expr | kugwa | 2015-12-09 | 1 | -4/+2 |
| | | | | ccmmc_ast_new_id() is not needed for the rule | ||||
* | 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 |
| | | | | I don't know how to indent beautifully... | ||||
* | Can declare functions with empty blocks | kugwa | 2015-12-08 | 1 | -18/+73 |
| | | | | get_array_size() is modified to handle empty dimension fields. | ||||
* | 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 |
| | | | | | Function eval_const_expr should accept all kinds of operators and reject non-constant expressions properly. | ||||
* | 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 |
| | | | | This commit also add a macro to reduce duplicate code. | ||||
* | Allow using typedef with array types | Ting-Wei Lan | 2015-12-07 | 1 | -4/+15 |
| | | | | | | Our parser only allows using typedef with int, float, void, so there should be no user-visible change in this commit. It just makes process_typedef and process_variable look similar. | ||||
* | 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 |
| | | | | The semantic checker should not stop or skip tests when an error is found. | ||||
* | 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 |
| | | | | It is required to show line numbers in error messages. | ||||
* | 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 |
| | | | | This feature is still available through defining environment variable. | ||||
* | Use multiple small hash tables to implement symbol tables | Ting-Wei Lan | 2015-12-06 | 3 | -80/+116 |
| | | | | The scanner no longer modifies the symbol table when finding identifiers. | ||||
* | Refuse to compile if C11 isn't supported | Ting-Wei Lan | 2015-12-03 | 2 | -3/+178 |
| | | | | Some bad hacks are added to support *BSD. | ||||
* | Drop all non-namespaced symbols | Ting-Wei Lan | 2015-12-03 | 10 | -505/+525 |
| | | | | | | | | | | | | | | 1. All data types and macros in headers, global variables and functions that have external linkage are namespaced. The only two files that allow non-namespaced symbols are main.c and common.h. common.h should not be included by any other headers. 2. Coding style is fixed when possible. 3. Drop unused variables or struct members. 4. 'name' macro is renamed to 'prog_name' to prevent conflicts with ast.h. 5. %union includes a CON_Type (now CcmmcValueConst) instead of a pointer to it. This prevents an unnecessary malloc. 6. Fix buffer overflow in draw.c. draw.c should not modify the input AST while generating the graph. | ||||
* | Drop line_number and prog global variables | Ting-Wei Lan | 2015-12-02 | 7 | -34/+80 |
| | | | | | All important states should be stored in the local struct allocated in main function. | ||||
* | 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 |
| | | | | | This commit adds a new file, common.h, which contains private macros and static functions to make the code cleaner. | ||||
* | 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 |
| | | | | | | 1. Add missing 'const' keyword for string literals. 2. Add missing 'static' keyword for internal functions. 3. Add missing default cases for switch statements. | ||||
* | Implement IF and IF...ELSE statements | kugwa | 2015-11-13 | 1 | -5/+7 |
| | | | | | 1. Use "%right DL_RPAREN ELSE" to solve SR conflict. 2. Fix a bug in assign_expr: token ID is not an AST_NODE. | ||||
* | Complete rules and actions for remaining operators and arrays | Ting-Wei Lan | 2015-11-13 | 1 | -26/+84 |
| | | | | | | 1. Actions for binary operators are completed. 2. Rules and actions for unary operators are added. 3. Arrays can be used in expressions now. | ||||
* | Complete most of the semantic actions before relop_expr | kugwa | 2015-11-13 | 1 | -47/+81 |
| | | | | | if and if-then-else have not been implemented. Some actions after relop_expr is done for the test of for loop. | ||||
* | Fix some actions to meet TA's spec | kugwa | 2015-11-13 | 1 | -10/+5 |
| | | | | | | | | 1. dim_fn should be the child of ID 2. decl_list should be the child of VARIABLE_DECL_LIST_NODE 3. stmt_list should be the child of STMT_LIST_NODE 4. Add actions for decl_list 5. ID with initial value should use WITH_INIT_ID instead of NORMAL_ID | ||||
* | 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 |
| | | | | Complete actions of some nonterminals derived from global_decl. | ||||
* | 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 |
| | | | | | | Delete tmp funtion used in HW2. Move AST functions into ast.c. CONST_INT, CONST_FLOAT, and CONST_STRING all return CONST. | ||||
* | 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 |
| | | | | | Define tokens in enum for reserved words and the action of {ID} will return the currect token. Other actions also return tokens. | ||||
* | Change the action of the comment token | kugwa | 2015-11-09 | 1 | -1/+6 |
| | | | | Don't print comment. line_number increases when there are newlines in the comment. | ||||
* | 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 |
| | | | | | Source files generated by flex cannot use warning flags because there are too many errors that we cannot fix. | ||||
* | 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 |