From e10e9ee07c03d7ee5752b8122ecddaef40dfd5d5 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Mon, 6 Feb 2012 01:21:36 -0700 Subject: Option input type situations almost done. Interfaces just need some work. --- src/parser.y | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/parser.y') diff --git a/src/parser.y b/src/parser.y index e127627..b50b897 100644 --- a/src/parser.y +++ b/src/parser.y @@ -121,9 +121,9 @@ bodyDecl: | bodyDecl function ; -situationMode: tokSituation tokSituationName { bld.beginSituation( *($2) ); } - | tokCommand tokSituation tokSituationName { bld.beginSituation( *($2) ); } - | tokOption tokSituation tokSituationName { bld.beginSituation( *($2) ); } +situationMode: tokSituation tokSituationName { bld.beginSituation( *($2), Situation::inputCommand ); } + | tokCommand tokSituation tokSituationName { bld.beginSituation( *($3), Situation::inputCommand ); } + | tokOption tokSituation tokSituationName { bld.beginSituation( *($3), Situation::inputOption ); } ; situation: situationMode '{' situationMembers '}' { bld.endSituation(); } @@ -284,7 +284,8 @@ dictValues: expr ':' expr { bld.addNode( AstNode::tInsert ); } | dictValues ',' expr ':' expr { bld.addNode( AstNode::tInsert ); } ; -optionDecl: tokOption ':' tokString '{' cmpltExprList '}' +optionDecl: tokOption ':' tokString { bld.beginOption( *$3 ); } '{' + cmpltExprList '}' { bld.closeOption(); } ; commandDecl: tokCommand ':' tokString { bld.beginCommand( *$3 ); } -- cgit v1.2.3