diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-12 20:49:21 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-12 20:49:21 +0000 |
commit | 3b0a7ae09d2f9770bfae9f5eed6a6667c9a3c1ca (patch) | |
tree | eece0681cab7486bbb1543197335eab1d29dae46 /c_parser/src/c_parser.y | |
parent | bd2b74569393c2a12f39fad6a3ad11eef2a367b3 (diff) | |
download | Compiler-3b0a7ae09d2f9770bfae9f5eed6a6667c9a3c1ca.tar.gz Compiler-3b0a7ae09d2f9770bfae9f5eed6a6667c9a3c1ca.zip |
Saving files to make changes
Diffstat (limited to 'c_parser/src/c_parser.y')
-rw-r--r-- | c_parser/src/c_parser.y | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/c_parser/src/c_parser.y b/c_parser/src/c_parser.y index 25659b5..7d36fc6 100644 --- a/c_parser/src/c_parser.y +++ b/c_parser/src/c_parser.y @@ -15,32 +15,28 @@ void yyerror(const char *); // AST node. %union{ const Expression *expr; - double number; + // double number; std::string *string; } - -%token T_KEYWORD T_IDENTIFIER T_CONSTANT T_OPERATOR T_LCBRACKET T_RCBRACKET - -%type <expr> STMNT_LIST STMNT COMP_STMNT EXPR_STMNT SLCT_STMNT ITR_STMNT JMP_STMNT -%type <number> T_CONSTANT -%type <string> T_KEYWORD T_IDENTIFIER T_OPERATOR - + +%token T_KEYWORD T_IDENTIFIER T_SC //T_CONSTANT T_OPERATOR T_LCBRACKET T_RCBRACKET + +%type <expr> STMNT_LIST STMNT DCLRTN // COMP_STMNT EXPR_STMNT SLCT_STMNT ITR_STMNT JMP_STMNT +// %type <number> // T_CONSTANT +%type <string> T_KEYWORD T_IDENTIFIER //T_OPERATOR + %start ROOT - + %% ROOT : STMNT_LIST { g_root = $1; } -STMNT_LIST : STMNT - | STMNT_LIST STMNT +STMNT_LIST : STMNT { $$ = $1; } + | STMNT_LIST STMNT { $$ = $2; } -STMNT : COMP_STMNT - | EXPR_STMNT - | SLCT_STMNT - | ITR_STMNT - | JMP_STMNT +STMNT : DCLRTN { $$ = $1; } -COMP_STMNT : STMNT_LIST +DCLRTN : T_KEYWORD T_IDENTIFIER T_SC { $$ = new Declaration(*$2); } %% |