diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-17 15:10:22 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-17 15:10:22 +0000 |
commit | 419384dbd0efced3af6c10ccfc2eee4ff6ca22c7 (patch) | |
tree | db81f68a4afd5e150ffeedf17f91abbff5223518 /c_parser/src | |
parent | 6c4106967613cfebfe8582c84eacbf5b4110729f (diff) | |
download | Compiler-419384dbd0efced3af6c10ccfc2eee4ff6ca22c7.tar.gz Compiler-419384dbd0efced3af6c10ccfc2eee4ff6ca22c7.zip |
Functions now work as well
Diffstat (limited to 'c_parser/src')
-rw-r--r-- | c_parser/src/c_parser.y | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/c_parser/src/c_parser.y b/c_parser/src/c_parser.y index de93939..95db2c9 100644 --- a/c_parser/src/c_parser.y +++ b/c_parser/src/c_parser.y @@ -47,15 +47,15 @@ EXT_DECLARATION : DECLARATION_SPEC EXT_DECLARATION_2 { $$ = $2; } ; EXT_DECLARATION_2 : DECLARATION { $$ = $1; } - | FUNC_DEF { ; } + | FUNC_DEF { $$ = $1; } ; // FUNCTION DEFINITION -FUNC_DEF : T_IDENTIFIER T_LRB PARAMETER_LIST T_RRB COMPOUND_STATEMENT { printf("Function Def\n"); } +FUNC_DEF : T_IDENTIFIER T_LRB PARAMETER_LIST T_RRB COMPOUND_STATEMENT { $$ = new ast_Function(*$1, $3); } ; -PARAMETER_LIST: PARAMETER { $$ = new ast_Function($1); } +PARAMETER_LIST: PARAMETER { $$ = new ast_ParamList($1); } | PARAMETER_LIST T_CMA PARAMETER { $$->push($3); } ; |