aboutsummaryrefslogtreecommitdiffstats
path: root/c_parser/src
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-02-17 15:10:22 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-02-17 15:10:22 +0000
commit419384dbd0efced3af6c10ccfc2eee4ff6ca22c7 (patch)
treedb81f68a4afd5e150ffeedf17f91abbff5223518 /c_parser/src
parent6c4106967613cfebfe8582c84eacbf5b4110729f (diff)
downloadCompiler-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.y6
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); }
;