ifstat -> IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END */
| 222 | |
| 223 | /* ifstat -> IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END */ |
| 224 | void LuaParser::IfStatement() { |
| 225 | auto m = Mark(); |
| 226 | |
| 227 | TestThenBlock(); |
| 228 | while (Current() == TK_ELSEIF) { |
| 229 | TestThenBlock(); |
| 230 | } |
| 231 | if (TestAndNext(TK_ELSE)) { |
| 232 | Block(); |
| 233 | } |
| 234 | CheckAndNext(TK_END); |
| 235 | |
| 236 | TestAndNext(';'); |
| 237 | |
| 238 | m.Complete(*this, LuaSyntaxNodeKind::IfStatement); |
| 239 | } |
| 240 | |
| 241 | /* whilestat -> WHILE cond DO block END */ |
| 242 | void LuaParser::WhileStatement() { |