summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* Check and write computed types for expressions and arraysTing-Wei Lan2015-12-092-7/+181
* process_{relop_expr, var_ref} -> check_{relop_expr, var_ref}kugwa2015-12-092-6/+44
* Handle array dimension error of function parameterskugwa2015-12-092-9/+17
* Change ID to var_ref for rule assign_exprkugwa2015-12-091-4/+2
* process_{typedef,variable,function} -> decl_{typedef,variable,function}Ting-Wei Lan2015-12-091-9/+9
* retrive -> retrieveTing-Wei Lan2015-12-093-7/+7
* Fix crash when constant expressions include string literalsTing-Wei Lan2015-12-091-1/+8
* Show (void) for functions without argumentsTing-Wei Lan2015-12-091-0/+2
* Can declare local variable and write empty statementskugwa2015-12-081-3/+24
* Move code for block node into process_block()kugwa2015-12-081-34/+62
* Can declare functions with empty blockskugwa2015-12-081-18/+73
* Allow using 'type name(void)' to define functions with no argumentTing-Wei Lan2015-12-071-0/+24
* Implement checks for global variable initalizersTing-Wei Lan2015-12-071-46/+185
* Reject void variables and void arrays.Ting-Wei Lan2015-12-071-0/+11
* Write results to AST nodes when evaluating constant expressionsTing-Wei Lan2015-12-072-88/+93
* Allow using typedef with array typesTing-Wei Lan2015-12-071-4/+15
* Fix unhandled enumeration value errorTing-Wei Lan2015-12-071-0/+1
* Use stdin if the source file name is a single dashTing-Wei Lan2015-12-071-1/+2
* Allow dumping symbol table via an environment variableTing-Wei Lan2015-12-071-1/+14
* Fix problems caused by short-circuit evaluationTing-Wei Lan2015-12-071-4/+4
* Handle constant expressions with integer division by zeroTing-Wei Lan2015-12-072-5/+11
* Re-add line number fields in AST nodesTing-Wei Lan2015-12-074-152/+225
* Implement semantic checks for type and variable declarationsTing-Wei Lan2015-12-065-2/+434
* Add a flag to mark whether the type is a functionTing-Wei Lan2015-12-061-3/+16
* Simple coding style fixTing-Wei Lan2015-12-061-1/+1
* Fix typo in ast.hTing-Wei Lan2015-12-061-2/+2
* We are going to do semantic analysisTing-Wei Lan2015-12-065-0/+42
* Fix indent and broken include guard in state.[ch]Ting-Wei Lan2015-12-062-11/+13
* Disable AST dumping by defaultTing-Wei Lan2015-12-061-1/+3
* Use multiple small hash tables to implement symbol tablesTing-Wei Lan2015-12-063-80/+116
* Drop all non-namespaced symbolsTing-Wei Lan2015-12-039-504/+523
* Drop line_number and prog global variablesTing-Wei Lan2015-12-026-34/+78
* Make the scanner and the parser reentrant and reduce non-namespaced symbolsTing-Wei Lan2015-12-013-19/+52
* Sort the list of tokens and non-terminalsTing-Wei Lan2015-11-301-15/+18
* Use strerror_r to make error messages more usefulTing-Wei Lan2015-11-303-19/+89
* The style of grammer rules is more consistent nowTing-Wei Lan2015-11-301-129/+130
* Drop tab usage in source filesTing-Wei Lan2015-11-302-63/+63
* Drop unused codeTing-Wei Lan2015-11-301-7/+1
* All source files should include vim modelinesTing-Wei Lan2015-11-304-0/+7
* Include our headers before including system headersTing-Wei Lan2015-11-306-8/+15
* Don't include lexer.c and move yyerror to the end of fileTing-Wei Lan2015-11-302-11/+13
* Enable POSIX extensionsTing-Wei Lan2015-11-135-0/+19
* Fix the build with --enable-compile-warnings=errorTing-Wei Lan2015-11-133-31/+41
* Implement IF and IF...ELSE statementskugwa2015-11-131-5/+7
* Complete rules and actions for remaining operators and arraysTing-Wei Lan2015-11-131-26/+84
* Complete most of the semantic actions before relop_exprkugwa2015-11-131-47/+81
* Fix some actions to meet TA's speckugwa2015-11-131-10/+5
* Add declaration of printGV() in main.ckugwa2015-11-121-0/+2
* It finally works for some simple programskugwa2015-11-121-21/+43
* main() prints the parse treekugwa2015-11-122-0/+203
* Token ID fills yylvalkugwa2015-11-121-0/+5
* Constant tokens fill yylval and return CONSTkugwa2015-11-121-5/+24
* Merge TA's codes to ourskugwa2015-11-117-130/+917
* Don't define [+-]? for CONST_INT and CONST_FLOATkugwa2015-11-111-3/+2
* Make sure we don't accidently change the number of reserved wordsTing-Wei Lan2015-11-111-0/+5
* All actions in lexer.l return the currect tokenkugwa2015-11-111-27/+47
* Change the action of the comment tokenkugwa2015-11-091-1/+6
* Move all source files to the new src directoryTing-Wei Lan2015-11-094-0/+311