From 3c0a885186b29dcfc48578ce93b8cbf16892dfa7 Mon Sep 17 00:00:00 2001 From: servostar Date: Fri, 26 Apr 2024 16:53:41 +0200 Subject: [PATCH] added parser rules for declaration, assignment, definition --- src/yacc/parser.y | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/yacc/parser.y b/src/yacc/parser.y index 8dc3d64..c158dec 100644 --- a/src/yacc/parser.y +++ b/src/yacc/parser.y @@ -56,7 +56,35 @@ %token FunExtsupport %% -program: ; +program: assign + | definition; + +expr: ValFloat + | ValInt + | ValMultistr + | ValStr + | Ident; + +assign: Ident '=' expr { DEBUG("Assignment"); }; + +decl: type ':' Ident { DEBUG("Declaration"); }; + +definition: decl '=' expr { DEBUG("Definition"); }; + +sign: KeySigned + | KeyUnsigned + | ; + +scale: scale KeyShort + | scale KeyHalf + | scale KeyLong + | scale KeyDouble + | ; + +type: Ident + | sign scale KeyInt + | sign scale KeyFloat; + %% int yyerror(char *s) {