/* */ private Stmnt parseSwitchBlock(SymbolTable tbl) throws CompileError {
/* 400 */ if (this.lex.get() != 123) {
/* 401 */ throw new SyntaxError(this.lex);
/* */ }
/* 403 */ SymbolTable tbl2 = new SymbolTable(tbl);
/* 404 */ Stmnt s = parseStmntOrCase(tbl2);
/* 405 */ if (s == null) {
/* 406 */ throw new CompileError("empty switch block", this.lex);
/* */ }
/* 408 */ int op = s.getOperator();
/* 409 */ if ((op != 304) && (op != 310)) {
/* 410 */ throw new CompileError("no case or default in a switch block", this.lex);
/* */ }
/* */
/* 413 */ Stmnt body = new Stmnt(66, s);
/* 414 */ while (this.lex.lookAhead() != 125) {
/* 415 */ Stmnt s2 = parseStmntOrCase(tbl2);
/* 416 */ if (s2 != null) {
/* 417 */ int op2 = s2.getOperator();
/* 418 */ if ((op2 == 304) || (op2 == 310)) {
/* 419 */ body = (Stmnt)ASTList.concat(body, new Stmnt(66, s2));
/* 420 */ s = s2;
/* */ }
/* */ else {
/* 423 */ s = (Stmnt)ASTList.concat(s, new Stmnt(66, s2));
/* */ }
/* */ }
/* */ }
/* 427 */ this.lex.get();
/* 428 */ return body;