diff --git a/parser/parser.yy b/parser/parser.yy index f99332c..4c931e4 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -213,6 +213,7 @@ general_item: AMBIENT vector3 { $$ = new AmbientNode($2); } | UP vector3 { $$ = new UpNode($2); } | vector2 { $$ = $1; } | VFOV expression { $$ = new VFOVNode($2); } + | while { $$ = $1; } | WIDTH expression { $$ = new WidthNode($2); } ; @@ -430,6 +431,12 @@ for: FOR LPAREN maybe_expression SEMICOLON bool_expression SEMICOLON maybe_expre } ; +while: WHILE LPAREN bool_expression RPAREN LCURLY general_items RCURLY { + $$ = new ForNode(NULL, $3, NULL); + $$->addChildren($6); + } + ; + if: IF LPAREN bool_expression RPAREN LCURLY general_items RCURLY if_more { $$ = new IfNode($3, $8); $$->addChildren($6);