public void Join(FromClause fromClause) { Expression onExpression; switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case 156: mcc_consume_token(156); fromClause.AddJoin(JoinType.Inner); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case K_ONLY: case K_TABLE: case S_IDENTIFIER: case S_BIND: case S_QUOTED_IDENTIFIER: case 150: case 154: TableReference(fromClause); break; default: mcc_la1[177] = mcc_gen; ; break; } break; case K_INNER: case S_IDENTIFIER: switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case K_INNER: mcc_consume_token(K_INNER); break; default: mcc_la1[178] = mcc_gen; ; break; } ID("JOIN"); TableDeclaration(fromClause); mcc_consume_token(K_ON); onExpression = SQLExpression(); fromClause.AddPreviousJoin(JoinType.Inner, onExpression); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case K_INNER: case K_LEFT: case K_RIGHT: case S_IDENTIFIER: case 156: Join(fromClause); break; default: mcc_la1[179] = mcc_gen; ; break; } break; case K_LEFT: mcc_consume_token(K_LEFT); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case 178: mcc_consume_token(178); break; default: mcc_la1[180] = mcc_gen; ; break; } ID("JOIN"); TableDeclaration(fromClause); mcc_consume_token(K_ON); onExpression = SQLExpression(); fromClause.AddPreviousJoin(JoinType.Left, onExpression); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case K_INNER: case K_LEFT: case K_RIGHT: case S_IDENTIFIER: case 156: Join(fromClause); break; default: mcc_la1[181] = mcc_gen; ; break; } break; case K_RIGHT: mcc_consume_token(K_RIGHT); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case 178: mcc_consume_token(178); break; default: mcc_la1[182] = mcc_gen; ; break; } ID("JOIN"); TableDeclaration(fromClause); mcc_consume_token(K_ON); onExpression = SQLExpression(); fromClause.AddPreviousJoin(JoinType.Right, onExpression); switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) { case K_INNER: case K_LEFT: case K_RIGHT: case S_IDENTIFIER: case 156: Join(fromClause); break; default: mcc_la1[183] = mcc_gen; ; break; } break; default: mcc_la1[184] = mcc_gen; mcc_consume_token(-1); throw new ParseException(); } }