| 298 | } |
| 299 | |
| 300 | Action* Parser::parseIfThenElseAction(DefAction::DefType dt) |
| 301 | { |
| 302 | IfThenElseAction act; |
| 303 | |
| 304 | act.exprIf = parseLogicalExpr(); |
| 305 | |
| 306 | getToken(token, Token::TYPE_THEN); |
| 307 | act.actThen = parseAction(dt); |
| 308 | |
| 309 | lexer->getToken(token); |
| 310 | if (token.type == Token::TYPE_ELSE) |
| 311 | act.actElse = parseAction(dt); |
| 312 | else |
| 313 | lexer->pushToken(token); |
| 314 | |
| 315 | getToken(token, Token::TYPE_ENDIF); |
| 316 | return new IfThenElseAction(act); |
| 317 | } |
| 318 | |
| 319 | Action* Parser::parseCallAction() |
| 320 | { |