use of org.eclipse.emf.ecore.EObject in project mechanoid by robotoworks.
the class InternalSqliteModelParser method ruleDMLStatement.
// $ANTLR end "entryRuleDMLStatement"
// $ANTLR start "ruleDMLStatement"
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5694:1: ruleDMLStatement returns [EObject current=null] : (this_SelectStatement_0= ruleSelectStatement | this_InsertStatement_1= ruleInsertStatement | this_UpdateStatement_2= ruleUpdateStatement | this_DeleteStatement_3= ruleDeleteStatement ) ;
public final EObject ruleDMLStatement() throws RecognitionException {
EObject current = null;
EObject this_SelectStatement_0 = null;
EObject this_InsertStatement_1 = null;
EObject this_UpdateStatement_2 = null;
EObject this_DeleteStatement_3 = null;
enterRule();
try {
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5697:28: ( (this_SelectStatement_0= ruleSelectStatement | this_InsertStatement_1= ruleInsertStatement | this_UpdateStatement_2= ruleUpdateStatement | this_DeleteStatement_3= ruleDeleteStatement ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5698:1: (this_SelectStatement_0= ruleSelectStatement | this_InsertStatement_1= ruleInsertStatement | this_UpdateStatement_2= ruleUpdateStatement | this_DeleteStatement_3= ruleDeleteStatement )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5698:1: (this_SelectStatement_0= ruleSelectStatement | this_InsertStatement_1= ruleInsertStatement | this_UpdateStatement_2= ruleUpdateStatement | this_DeleteStatement_3= ruleDeleteStatement )
int alt100 = 4;
switch(input.LA(1)) {
case 74:
{
alt100 = 1;
}
break;
case 103:
case 122:
{
alt100 = 2;
}
break;
case 104:
{
alt100 = 3;
}
break;
case 102:
{
alt100 = 4;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return current;
}
NoViableAltException nvae = new NoViableAltException("", 100, 0, input);
throw nvae;
}
switch(alt100) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5699:5: this_SelectStatement_0= ruleSelectStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDMLStatementAccess().getSelectStatementParserRuleCall_0());
}
pushFollow(FOLLOW_ruleSelectStatement_in_ruleDMLStatement12394);
this_SelectStatement_0 = ruleSelectStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_SelectStatement_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5709:5: this_InsertStatement_1= ruleInsertStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDMLStatementAccess().getInsertStatementParserRuleCall_1());
}
pushFollow(FOLLOW_ruleInsertStatement_in_ruleDMLStatement12421);
this_InsertStatement_1 = ruleInsertStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_InsertStatement_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5719:5: this_UpdateStatement_2= ruleUpdateStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDMLStatementAccess().getUpdateStatementParserRuleCall_2());
}
pushFollow(FOLLOW_ruleUpdateStatement_in_ruleDMLStatement12448);
this_UpdateStatement_2 = ruleUpdateStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_UpdateStatement_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:5729:5: this_DeleteStatement_3= ruleDeleteStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDMLStatementAccess().getDeleteStatementParserRuleCall_3());
}
pushFollow(FOLLOW_ruleDeleteStatement_in_ruleDMLStatement12475);
this_DeleteStatement_3 = ruleDeleteStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_DeleteStatement_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if (state.backtracking == 0) {
leaveRule();
}
} catch (RecognitionException re) {
recover(input, re);
appendSkippedTokens();
} finally {
}
return current;
}
use of org.eclipse.emf.ecore.EObject in project mechanoid by robotoworks.
the class InternalSqliteModelParser method entryRuleSelectList.
// $ANTLR end "ruleSelectExpression"
// $ANTLR start "entryRuleSelectList"
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2770:1: entryRuleSelectList returns [EObject current=null] : iv_ruleSelectList= ruleSelectList EOF ;
public final EObject entryRuleSelectList() throws RecognitionException {
EObject current = null;
EObject iv_ruleSelectList = null;
try {
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2771:2: (iv_ruleSelectList= ruleSelectList EOF )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2772:2: iv_ruleSelectList= ruleSelectList EOF
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getSelectListRule());
}
pushFollow(FOLLOW_ruleSelectList_in_entryRuleSelectList5888);
iv_ruleSelectList = ruleSelectList();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = iv_ruleSelectList;
}
match(input, EOF, FOLLOW_EOF_in_entryRuleSelectList5898);
if (state.failed)
return current;
}
} catch (RecognitionException re) {
recover(input, re);
appendSkippedTokens();
} finally {
}
return current;
}
use of org.eclipse.emf.ecore.EObject in project mechanoid by robotoworks.
the class InternalSqliteModelParser method rulePrimaryExpression.
// $ANTLR end "entryRulePrimaryExpression"
// $ANTLR start "rulePrimaryExpression"
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1763:1: rulePrimaryExpression returns [EObject current=null] : ( ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) ) | ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) ) | ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) ) | ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) ) | ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' ) | ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' ) | ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' ) | ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' ) | ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' ) | ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) ) ) ;
public final EObject rulePrimaryExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1 = null;
Token otherlv_2 = null;
Token otherlv_4 = null;
Token otherlv_5 = null;
Token otherlv_7 = null;
Token otherlv_8 = null;
Token otherlv_9 = null;
Token otherlv_10 = null;
Token lv_all_11_0 = null;
Token otherlv_12 = null;
Token otherlv_13 = null;
Token otherlv_17 = null;
Token otherlv_19 = null;
Token lv_not_21_0 = null;
Token lv_exists_22_0 = null;
Token otherlv_23 = null;
Token otherlv_25 = null;
Token otherlv_27 = null;
Token otherlv_30 = null;
Token otherlv_32 = null;
Token lv_name_34_0 = null;
Token otherlv_35 = null;
Token lv_all_36_0 = null;
Token otherlv_38 = null;
Token otherlv_40 = null;
Token otherlv_42 = null;
Token otherlv_43 = null;
Token otherlv_45 = null;
Token otherlv_47 = null;
Token otherlv_49 = null;
Token otherlv_50 = null;
EObject lv_literalValue_15_0 = null;
EObject lv_expression_18_0 = null;
EObject lv_select_24_0 = null;
EObject lv_caseExpression_28_0 = null;
EObject lv_cases_29_0 = null;
EObject lv_elseExpression_31_0 = null;
EObject lv_arguments_37_0 = null;
EObject lv_arguments_39_0 = null;
EObject lv_expression_44_0 = null;
Enumerator lv_type_46_0 = null;
enterRule();
try {
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1766:28: ( ( ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) ) | ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) ) | ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) ) | ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) ) | ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' ) | ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' ) | ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' ) | ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' ) | ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' ) | ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:1: ( ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) ) | ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) ) | ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) ) | ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) ) | ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' ) | ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' ) | ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' ) | ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' ) | ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' ) | ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:1: ( ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) ) | ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) ) | ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) ) | ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) ) | ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' ) | ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' ) | ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' ) | ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' ) | ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' ) | ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) ) )
int alt39 = 10;
alt39 = dfa39.predict(input);
switch(alt39) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:2: ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:2: ( () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:3: () otherlv_1= 'new.' ( (otherlv_2= RULE_ID ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1767:3: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1768:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getNewColumnAction_0_0(), current);
}
}
otherlv_1 = (Token) match(input, 58, FOLLOW_58_in_rulePrimaryExpression3930);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_1, grammarAccess.getPrimaryExpressionAccess().getNewKeyword_0_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1777:1: ( (otherlv_2= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1778:1: (otherlv_2= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1778:1: (otherlv_2= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1779:3: otherlv_2= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_2 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression3950);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_2, grammarAccess.getPrimaryExpressionAccess().getColumnColumnSourceCrossReference_0_2_0());
}
}
}
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1791:6: ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1791:6: ( () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1791:7: () otherlv_4= 'old.' ( (otherlv_5= RULE_ID ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1791:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1792:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getOldColumnAction_1_0(), current);
}
}
otherlv_4 = (Token) match(input, 59, FOLLOW_59_in_rulePrimaryExpression3979);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_4, grammarAccess.getPrimaryExpressionAccess().getOldKeyword_1_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1801:1: ( (otherlv_5= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1802:1: (otherlv_5= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1802:1: (otherlv_5= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1803:3: otherlv_5= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_5 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression3999);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_5, grammarAccess.getPrimaryExpressionAccess().getColumnColumnSourceCrossReference_1_2_0());
}
}
}
}
}
break;
case 3:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1815:6: ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1815:6: ( () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1815:7: () ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1815:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1816:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getColumnSourceRefAction_2_0(), current);
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:2: ( ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' ) | ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) ) | ( (otherlv_13= RULE_ID ) ) )
int alt31 = 3;
alt31 = dfa31.predict(input);
switch(alt31) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:3: ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:3: ( ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:4: ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) ) otherlv_8= '.'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:4: ( ( ( RULE_ID ) )=> (otherlv_7= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1821:5: ( ( RULE_ID ) )=> (otherlv_7= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1827:1: (otherlv_7= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1828:3: otherlv_7= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_7 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4050);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_7, grammarAccess.getPrimaryExpressionAccess().getSourceSelectSourceCrossReference_2_1_0_0_0());
}
}
}
otherlv_8 = (Token) match(input, 60, FOLLOW_60_in_rulePrimaryExpression4062);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_8, grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_2_1_0_1());
}
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1844:6: ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1844:6: ( ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1844:7: ( (otherlv_9= RULE_ID ) ) otherlv_10= '.' ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1844:7: ( (otherlv_9= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1845:1: (otherlv_9= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1845:1: (otherlv_9= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1846:3: otherlv_9= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_9 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4090);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_9, grammarAccess.getPrimaryExpressionAccess().getSourceSelectSourceCrossReference_2_1_1_0_0());
}
}
}
otherlv_10 = (Token) match(input, 60, FOLLOW_60_in_rulePrimaryExpression4102);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_10, grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_2_1_1_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1861:1: ( ( (lv_all_11_0= '*' ) ) | ( (otherlv_12= RULE_ID ) ) )
int alt30 = 2;
int LA30_0 = input.LA(1);
if ((LA30_0 == 27)) {
alt30 = 1;
} else if ((LA30_0 == RULE_ID)) {
alt30 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return current;
}
NoViableAltException nvae = new NoViableAltException("", 30, 0, input);
throw nvae;
}
switch(alt30) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1861:2: ( (lv_all_11_0= '*' ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1861:2: ( (lv_all_11_0= '*' ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1862:1: (lv_all_11_0= '*' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1862:1: (lv_all_11_0= '*' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1863:3: lv_all_11_0= '*'
{
lv_all_11_0 = (Token) match(input, 27, FOLLOW_27_in_rulePrimaryExpression4121);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_all_11_0, grammarAccess.getPrimaryExpressionAccess().getAllAsteriskKeyword_2_1_1_2_0_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
setWithLastConsumed(current, "all", true, "*");
}
}
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1877:6: ( (otherlv_12= RULE_ID ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1877:6: ( (otherlv_12= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1878:1: (otherlv_12= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1878:1: (otherlv_12= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1879:3: otherlv_12= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_12 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4160);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_12, grammarAccess.getPrimaryExpressionAccess().getColumnColumnSourceCrossReference_2_1_1_2_1_0());
}
}
}
}
break;
}
}
}
break;
case 3:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1891:6: ( (otherlv_13= RULE_ID ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1891:6: ( (otherlv_13= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1892:1: (otherlv_13= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1892:1: (otherlv_13= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1893:3: otherlv_13= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_13 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4188);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_13, grammarAccess.getPrimaryExpressionAccess().getColumnColumnSourceCrossReference_2_1_2_0());
}
}
}
}
break;
}
}
}
break;
case 4:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1905:6: ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1905:6: ( () ( (lv_literalValue_15_0= ruleLiteralValue ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1905:7: () ( (lv_literalValue_15_0= ruleLiteralValue ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1905:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1906:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getLiteralAction_3_0(), current);
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1911:2: ( (lv_literalValue_15_0= ruleLiteralValue ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1912:1: (lv_literalValue_15_0= ruleLiteralValue )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1912:1: (lv_literalValue_15_0= ruleLiteralValue )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1913:3: lv_literalValue_15_0= ruleLiteralValue
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getLiteralValueLiteralValueParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_ruleLiteralValue_in_rulePrimaryExpression4227);
lv_literalValue_15_0 = ruleLiteralValue();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "literalValue", lv_literalValue_15_0, "LiteralValue");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 5:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1930:6: ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1930:6: ( () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1930:7: () otherlv_17= '(' ( (lv_expression_18_0= ruleSqlExpression ) ) otherlv_19= ')'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1930:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1931:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getNestedExpressionAction_4_0(), current);
}
}
otherlv_17 = (Token) match(input, 21, FOLLOW_21_in_rulePrimaryExpression4256);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_17, grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_4_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1940:1: ( (lv_expression_18_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1941:1: (lv_expression_18_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1941:1: (lv_expression_18_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1942:3: lv_expression_18_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getExpressionSqlExpressionParserRuleCall_4_2_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4277);
lv_expression_18_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "expression", lv_expression_18_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_19 = (Token) match(input, 23, FOLLOW_23_in_rulePrimaryExpression4289);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_19, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_4_3());
}
}
}
break;
case 6:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1963:6: ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1963:6: ( () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1963:7: () ( (lv_not_21_0= 'not' ) )? ( (lv_exists_22_0= 'exists' ) )? otherlv_23= '(' ( (lv_select_24_0= ruleSelectStatement ) ) otherlv_25= ')'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1963:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1964:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getSelectStatementExpressionAction_5_0(), current);
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1969:2: ( (lv_not_21_0= 'not' ) )?
int alt32 = 2;
int LA32_0 = input.LA(1);
if ((LA32_0 == 61)) {
alt32 = 1;
}
switch(alt32) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1970:1: (lv_not_21_0= 'not' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1970:1: (lv_not_21_0= 'not' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1971:3: lv_not_21_0= 'not'
{
lv_not_21_0 = (Token) match(input, 61, FOLLOW_61_in_rulePrimaryExpression4324);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_not_21_0, grammarAccess.getPrimaryExpressionAccess().getNotNotKeyword_5_1_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
setWithLastConsumed(current, "not", true, "not");
}
}
}
break;
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1984:3: ( (lv_exists_22_0= 'exists' ) )?
int alt33 = 2;
int LA33_0 = input.LA(1);
if ((LA33_0 == 62)) {
alt33 = 1;
}
switch(alt33) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1985:1: (lv_exists_22_0= 'exists' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1985:1: (lv_exists_22_0= 'exists' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:1986:3: lv_exists_22_0= 'exists'
{
lv_exists_22_0 = (Token) match(input, 62, FOLLOW_62_in_rulePrimaryExpression4356);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_exists_22_0, grammarAccess.getPrimaryExpressionAccess().getExistsExistsKeyword_5_2_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
setWithLastConsumed(current, "exists", true, "exists");
}
}
}
break;
}
otherlv_23 = (Token) match(input, 21, FOLLOW_21_in_rulePrimaryExpression4382);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_23, grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_5_3());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2003:1: ( (lv_select_24_0= ruleSelectStatement ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2004:1: (lv_select_24_0= ruleSelectStatement )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2004:1: (lv_select_24_0= ruleSelectStatement )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2005:3: lv_select_24_0= ruleSelectStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getSelectSelectStatementParserRuleCall_5_4_0());
}
pushFollow(FOLLOW_ruleSelectStatement_in_rulePrimaryExpression4403);
lv_select_24_0 = ruleSelectStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "select", lv_select_24_0, "SelectStatement");
afterParserOrEnumRuleCall();
}
}
}
otherlv_25 = (Token) match(input, 23, FOLLOW_23_in_rulePrimaryExpression4415);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_25, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_5_5());
}
}
}
break;
case 7:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2026:6: ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2026:6: ( () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2026:7: () otherlv_27= 'case' ( (lv_caseExpression_28_0= ruleSqlExpression ) )? ( (lv_cases_29_0= ruleCase ) )+ (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )? otherlv_32= 'end'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2026:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2027:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getCaseExpressionAction_6_0(), current);
}
}
otherlv_27 = (Token) match(input, 63, FOLLOW_63_in_rulePrimaryExpression4444);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_27, grammarAccess.getPrimaryExpressionAccess().getCaseKeyword_6_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2036:1: ( (lv_caseExpression_28_0= ruleSqlExpression ) )?
int alt34 = 2;
int LA34_0 = input.LA(1);
if (((LA34_0 >= RULE_ID && LA34_0 <= RULE_NUMBER) || LA34_0 == 21 || LA34_0 == 32 || (LA34_0 >= 58 && LA34_0 <= 59) || (LA34_0 >= 61 && LA34_0 <= 63) || LA34_0 == 66 || LA34_0 == 68 || (LA34_0 >= 90 && LA34_0 <= 93))) {
alt34 = 1;
}
switch(alt34) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2037:1: (lv_caseExpression_28_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2037:1: (lv_caseExpression_28_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2038:3: lv_caseExpression_28_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getCaseExpressionSqlExpressionParserRuleCall_6_2_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4465);
lv_caseExpression_28_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "caseExpression", lv_caseExpression_28_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2054:3: ( (lv_cases_29_0= ruleCase ) )+
int cnt35 = 0;
loop35: do {
int alt35 = 2;
int LA35_0 = input.LA(1);
if ((LA35_0 == 69)) {
alt35 = 1;
}
switch(alt35) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2055:1: (lv_cases_29_0= ruleCase )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2055:1: (lv_cases_29_0= ruleCase )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2056:3: lv_cases_29_0= ruleCase
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getCasesCaseParserRuleCall_6_3_0());
}
pushFollow(FOLLOW_ruleCase_in_rulePrimaryExpression4487);
lv_cases_29_0 = ruleCase();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
add(current, "cases", lv_cases_29_0, "Case");
afterParserOrEnumRuleCall();
}
}
}
break;
default:
if (cnt35 >= 1)
break loop35;
if (state.backtracking > 0) {
state.failed = true;
return current;
}
EarlyExitException eee = new EarlyExitException(35, input);
throw eee;
}
cnt35++;
} while (true);
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2072:3: (otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) ) )?
int alt36 = 2;
int LA36_0 = input.LA(1);
if ((LA36_0 == 64)) {
alt36 = 1;
}
switch(alt36) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2072:5: otherlv_30= 'else' ( (lv_elseExpression_31_0= ruleSqlExpression ) )
{
otherlv_30 = (Token) match(input, 64, FOLLOW_64_in_rulePrimaryExpression4501);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_30, grammarAccess.getPrimaryExpressionAccess().getElseKeyword_6_4_0());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2076:1: ( (lv_elseExpression_31_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2077:1: (lv_elseExpression_31_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2077:1: (lv_elseExpression_31_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2078:3: lv_elseExpression_31_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getElseExpressionSqlExpressionParserRuleCall_6_4_1_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4522);
lv_elseExpression_31_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "elseExpression", lv_elseExpression_31_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_32 = (Token) match(input, 65, FOLLOW_65_in_rulePrimaryExpression4536);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_32, grammarAccess.getPrimaryExpressionAccess().getEndKeyword_6_5());
}
}
}
break;
case 8:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2099:6: ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2099:6: ( () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2099:7: () ( (lv_name_34_0= RULE_ID ) ) otherlv_35= '(' ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) ) otherlv_40= ')'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2099:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2100:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getFunctionAction_7_0(), current);
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2105:2: ( (lv_name_34_0= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2106:1: (lv_name_34_0= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2106:1: (lv_name_34_0= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2107:3: lv_name_34_0= RULE_ID
{
lv_name_34_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4570);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_name_34_0, grammarAccess.getPrimaryExpressionAccess().getNameIDTerminalRuleCall_7_1_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
setWithLastConsumed(current, "name", lv_name_34_0, "ID");
}
}
}
otherlv_35 = (Token) match(input, 21, FOLLOW_21_in_rulePrimaryExpression4587);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_35, grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_7_2());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2127:1: ( ( (lv_all_36_0= '*' ) ) | ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* ) )
int alt38 = 2;
int LA38_0 = input.LA(1);
if ((LA38_0 == 27)) {
alt38 = 1;
} else if (((LA38_0 >= RULE_ID && LA38_0 <= RULE_NUMBER) || LA38_0 == 21 || LA38_0 == 32 || (LA38_0 >= 58 && LA38_0 <= 59) || (LA38_0 >= 61 && LA38_0 <= 63) || LA38_0 == 66 || LA38_0 == 68 || (LA38_0 >= 90 && LA38_0 <= 93))) {
alt38 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return current;
}
NoViableAltException nvae = new NoViableAltException("", 38, 0, input);
throw nvae;
}
switch(alt38) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2127:2: ( (lv_all_36_0= '*' ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2127:2: ( (lv_all_36_0= '*' ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2128:1: (lv_all_36_0= '*' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2128:1: (lv_all_36_0= '*' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2129:3: lv_all_36_0= '*'
{
lv_all_36_0 = (Token) match(input, 27, FOLLOW_27_in_rulePrimaryExpression4606);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_all_36_0, grammarAccess.getPrimaryExpressionAccess().getAllAsteriskKeyword_7_3_0_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
setWithLastConsumed(current, "all", true, "*");
}
}
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2143:6: ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2143:6: ( ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )* )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2143:7: ( (lv_arguments_37_0= ruleSqlExpression ) ) (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )*
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2143:7: ( (lv_arguments_37_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2144:1: (lv_arguments_37_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2144:1: (lv_arguments_37_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2145:3: lv_arguments_37_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgumentsSqlExpressionParserRuleCall_7_3_1_0_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4647);
lv_arguments_37_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
add(current, "arguments", lv_arguments_37_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2161:2: (otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) ) )*
loop37: do {
int alt37 = 2;
int LA37_0 = input.LA(1);
if ((LA37_0 == 22)) {
alt37 = 1;
}
switch(alt37) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2161:4: otherlv_38= ',' ( (lv_arguments_39_0= ruleSqlExpression ) )
{
otherlv_38 = (Token) match(input, 22, FOLLOW_22_in_rulePrimaryExpression4660);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_38, grammarAccess.getPrimaryExpressionAccess().getCommaKeyword_7_3_1_1_0());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2165:1: ( (lv_arguments_39_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2166:1: (lv_arguments_39_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2166:1: (lv_arguments_39_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2167:3: lv_arguments_39_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgumentsSqlExpressionParserRuleCall_7_3_1_1_1_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4681);
lv_arguments_39_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
add(current, "arguments", lv_arguments_39_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default:
break loop37;
}
} while (true);
}
}
break;
}
otherlv_40 = (Token) match(input, 23, FOLLOW_23_in_rulePrimaryExpression4697);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_40, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_7_4());
}
}
}
break;
case 9:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2188:6: ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2188:6: ( () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')' )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2188:7: () otherlv_42= 'cast' otherlv_43= '(' ( (lv_expression_44_0= ruleSqlExpression ) ) otherlv_45= 'as' ( (lv_type_46_0= ruleSqliteDataType ) ) otherlv_47= ')'
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2188:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2189:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getCastExpressionAction_8_0(), current);
}
}
otherlv_42 = (Token) match(input, 66, FOLLOW_66_in_rulePrimaryExpression4726);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_42, grammarAccess.getPrimaryExpressionAccess().getCastKeyword_8_1());
}
otherlv_43 = (Token) match(input, 21, FOLLOW_21_in_rulePrimaryExpression4738);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_43, grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_8_2());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2202:1: ( (lv_expression_44_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2203:1: (lv_expression_44_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2203:1: (lv_expression_44_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2204:3: lv_expression_44_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getExpressionSqlExpressionParserRuleCall_8_3_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_rulePrimaryExpression4759);
lv_expression_44_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "expression", lv_expression_44_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_45 = (Token) match(input, 67, FOLLOW_67_in_rulePrimaryExpression4771);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_45, grammarAccess.getPrimaryExpressionAccess().getAsKeyword_8_4());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2224:1: ( (lv_type_46_0= ruleSqliteDataType ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2225:1: (lv_type_46_0= ruleSqliteDataType )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2225:1: (lv_type_46_0= ruleSqliteDataType )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2226:3: lv_type_46_0= ruleSqliteDataType
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getTypeSqliteDataTypeEnumRuleCall_8_5_0());
}
pushFollow(FOLLOW_ruleSqliteDataType_in_rulePrimaryExpression4792);
lv_type_46_0 = ruleSqliteDataType();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(current, "type", lv_type_46_0, "SqliteDataType");
afterParserOrEnumRuleCall();
}
}
}
otherlv_47 = (Token) match(input, 23, FOLLOW_23_in_rulePrimaryExpression4804);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_47, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_8_6());
}
}
}
break;
case 10:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2247:6: ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2247:6: ( () otherlv_49= '$' ( (otherlv_50= RULE_ID ) ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2247:7: () otherlv_49= '$' ( (otherlv_50= RULE_ID ) )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2247:7: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2248:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getPrimaryExpressionAccess().getFunctionArgumentAction_9_0(), current);
}
}
otherlv_49 = (Token) match(input, 68, FOLLOW_68_in_rulePrimaryExpression4833);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_49, grammarAccess.getPrimaryExpressionAccess().getDollarSignKeyword_9_1());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2257:1: ( (otherlv_50= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2258:1: (otherlv_50= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2258:1: (otherlv_50= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:2259:3: otherlv_50= RULE_ID
{
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
otherlv_50 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_rulePrimaryExpression4853);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_50, grammarAccess.getPrimaryExpressionAccess().getArgFunctionArgCrossReference_9_2_0());
}
}
}
}
}
break;
}
}
if (state.backtracking == 0) {
leaveRule();
}
} catch (RecognitionException re) {
recover(input, re);
appendSkippedTokens();
} finally {
}
return current;
}
use of org.eclipse.emf.ecore.EObject in project mechanoid by robotoworks.
the class InternalSqliteModelParser method ruleDDLStatement.
// $ANTLR end "entryRuleDDLStatement"
// $ANTLR start "ruleDDLStatement"
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3713:1: ruleDDLStatement returns [EObject current=null] : (this_CreateTableStatement_0= ruleCreateTableStatement | this_CreateViewStatement_1= ruleCreateViewStatement | this_CreateTriggerStatement_2= ruleCreateTriggerStatement | this_CreateIndexStatement_3= ruleCreateIndexStatement | this_AlterTableRenameStatement_4= ruleAlterTableRenameStatement | this_AlterTableAddColumnStatement_5= ruleAlterTableAddColumnStatement | this_DropTableStatement_6= ruleDropTableStatement | this_DropTriggerStatement_7= ruleDropTriggerStatement | this_DropViewStatement_8= ruleDropViewStatement | this_DropIndexStatement_9= ruleDropIndexStatement ) ;
public final EObject ruleDDLStatement() throws RecognitionException {
EObject current = null;
EObject this_CreateTableStatement_0 = null;
EObject this_CreateViewStatement_1 = null;
EObject this_CreateTriggerStatement_2 = null;
EObject this_CreateIndexStatement_3 = null;
EObject this_AlterTableRenameStatement_4 = null;
EObject this_AlterTableAddColumnStatement_5 = null;
EObject this_DropTableStatement_6 = null;
EObject this_DropTriggerStatement_7 = null;
EObject this_DropViewStatement_8 = null;
EObject this_DropIndexStatement_9 = null;
enterRule();
try {
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3716:28: ( (this_CreateTableStatement_0= ruleCreateTableStatement | this_CreateViewStatement_1= ruleCreateViewStatement | this_CreateTriggerStatement_2= ruleCreateTriggerStatement | this_CreateIndexStatement_3= ruleCreateIndexStatement | this_AlterTableRenameStatement_4= ruleAlterTableRenameStatement | this_AlterTableAddColumnStatement_5= ruleAlterTableAddColumnStatement | this_DropTableStatement_6= ruleDropTableStatement | this_DropTriggerStatement_7= ruleDropTriggerStatement | this_DropViewStatement_8= ruleDropViewStatement | this_DropIndexStatement_9= ruleDropIndexStatement ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3717:1: (this_CreateTableStatement_0= ruleCreateTableStatement | this_CreateViewStatement_1= ruleCreateViewStatement | this_CreateTriggerStatement_2= ruleCreateTriggerStatement | this_CreateIndexStatement_3= ruleCreateIndexStatement | this_AlterTableRenameStatement_4= ruleAlterTableRenameStatement | this_AlterTableAddColumnStatement_5= ruleAlterTableAddColumnStatement | this_DropTableStatement_6= ruleDropTableStatement | this_DropTriggerStatement_7= ruleDropTriggerStatement | this_DropViewStatement_8= ruleDropViewStatement | this_DropIndexStatement_9= ruleDropIndexStatement )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3717:1: (this_CreateTableStatement_0= ruleCreateTableStatement | this_CreateViewStatement_1= ruleCreateViewStatement | this_CreateTriggerStatement_2= ruleCreateTriggerStatement | this_CreateIndexStatement_3= ruleCreateIndexStatement | this_AlterTableRenameStatement_4= ruleAlterTableRenameStatement | this_AlterTableAddColumnStatement_5= ruleAlterTableAddColumnStatement | this_DropTableStatement_6= ruleDropTableStatement | this_DropTriggerStatement_7= ruleDropTriggerStatement | this_DropViewStatement_8= ruleDropViewStatement | this_DropIndexStatement_9= ruleDropIndexStatement )
int alt64 = 10;
alt64 = dfa64.predict(input);
switch(alt64) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3718:5: this_CreateTableStatement_0= ruleCreateTableStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getCreateTableStatementParserRuleCall_0());
}
pushFollow(FOLLOW_ruleCreateTableStatement_in_ruleDDLStatement8011);
this_CreateTableStatement_0 = ruleCreateTableStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_CreateTableStatement_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3728:5: this_CreateViewStatement_1= ruleCreateViewStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getCreateViewStatementParserRuleCall_1());
}
pushFollow(FOLLOW_ruleCreateViewStatement_in_ruleDDLStatement8038);
this_CreateViewStatement_1 = ruleCreateViewStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_CreateViewStatement_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3738:5: this_CreateTriggerStatement_2= ruleCreateTriggerStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getCreateTriggerStatementParserRuleCall_2());
}
pushFollow(FOLLOW_ruleCreateTriggerStatement_in_ruleDDLStatement8065);
this_CreateTriggerStatement_2 = ruleCreateTriggerStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_CreateTriggerStatement_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3748:5: this_CreateIndexStatement_3= ruleCreateIndexStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getCreateIndexStatementParserRuleCall_3());
}
pushFollow(FOLLOW_ruleCreateIndexStatement_in_ruleDDLStatement8092);
this_CreateIndexStatement_3 = ruleCreateIndexStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_CreateIndexStatement_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3758:5: this_AlterTableRenameStatement_4= ruleAlterTableRenameStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getAlterTableRenameStatementParserRuleCall_4());
}
pushFollow(FOLLOW_ruleAlterTableRenameStatement_in_ruleDDLStatement8119);
this_AlterTableRenameStatement_4 = ruleAlterTableRenameStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_AlterTableRenameStatement_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3768:5: this_AlterTableAddColumnStatement_5= ruleAlterTableAddColumnStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getAlterTableAddColumnStatementParserRuleCall_5());
}
pushFollow(FOLLOW_ruleAlterTableAddColumnStatement_in_ruleDDLStatement8146);
this_AlterTableAddColumnStatement_5 = ruleAlterTableAddColumnStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_AlterTableAddColumnStatement_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3778:5: this_DropTableStatement_6= ruleDropTableStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getDropTableStatementParserRuleCall_6());
}
pushFollow(FOLLOW_ruleDropTableStatement_in_ruleDDLStatement8173);
this_DropTableStatement_6 = ruleDropTableStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_DropTableStatement_6;
afterParserOrEnumRuleCall();
}
}
break;
case 8:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3788:5: this_DropTriggerStatement_7= ruleDropTriggerStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getDropTriggerStatementParserRuleCall_7());
}
pushFollow(FOLLOW_ruleDropTriggerStatement_in_ruleDDLStatement8200);
this_DropTriggerStatement_7 = ruleDropTriggerStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_DropTriggerStatement_7;
afterParserOrEnumRuleCall();
}
}
break;
case 9:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3798:5: this_DropViewStatement_8= ruleDropViewStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getDropViewStatementParserRuleCall_8());
}
pushFollow(FOLLOW_ruleDropViewStatement_in_ruleDDLStatement8227);
this_DropViewStatement_8 = ruleDropViewStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_DropViewStatement_8;
afterParserOrEnumRuleCall();
}
}
break;
case 10:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3808:5: this_DropIndexStatement_9= ruleDropIndexStatement
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getDDLStatementAccess().getDropIndexStatementParserRuleCall_9());
}
pushFollow(FOLLOW_ruleDropIndexStatement_in_ruleDDLStatement8254);
this_DropIndexStatement_9 = ruleDropIndexStatement();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
current = this_DropIndexStatement_9;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if (state.backtracking == 0) {
leaveRule();
}
} catch (RecognitionException re) {
recover(input, re);
appendSkippedTokens();
} finally {
}
return current;
}
use of org.eclipse.emf.ecore.EObject in project mechanoid by robotoworks.
the class InternalSqliteModelParser method ruleResultColumn.
// $ANTLR end "entryRuleResultColumn"
// $ANTLR start "ruleResultColumn"
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3488:1: ruleResultColumn returns [EObject current=null] : ( () ( (lv_expression_1_0= ruleSqlExpression ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ) ;
public final EObject ruleResultColumn() throws RecognitionException {
EObject current = null;
Token otherlv_2 = null;
Token lv_name_3_0 = null;
EObject lv_expression_1_0 = null;
enterRule();
try {
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3491:28: ( ( () ( (lv_expression_1_0= ruleSqlExpression ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3492:1: ( () ( (lv_expression_1_0= ruleSqlExpression ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3492:1: ( () ( (lv_expression_1_0= ruleSqlExpression ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3492:2: () ( (lv_expression_1_0= ruleSqlExpression ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3492:2: ()
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3493:5:
{
if (state.backtracking == 0) {
current = forceCreateModelElement(grammarAccess.getResultColumnAccess().getResultColumnAction_0(), current);
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3498:2: ( (lv_expression_1_0= ruleSqlExpression ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3499:1: (lv_expression_1_0= ruleSqlExpression )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3499:1: (lv_expression_1_0= ruleSqlExpression )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3500:3: lv_expression_1_0= ruleSqlExpression
{
if (state.backtracking == 0) {
newCompositeNode(grammarAccess.getResultColumnAccess().getExpressionSqlExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_ruleSqlExpression_in_ruleResultColumn7547);
lv_expression_1_0 = ruleSqlExpression();
state._fsp--;
if (state.failed)
return current;
if (state.backtracking == 0) {
if (current == null) {
current = createModelElementForParent(grammarAccess.getResultColumnRule());
}
set(current, "expression", lv_expression_1_0, "SqlExpression");
afterParserOrEnumRuleCall();
}
}
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3516:2: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
int alt62 = 2;
int LA62_0 = input.LA(1);
if ((LA62_0 == 67)) {
alt62 = 1;
}
switch(alt62) {
case 1:
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3516:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
{
otherlv_2 = (Token) match(input, 67, FOLLOW_67_in_ruleResultColumn7560);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(otherlv_2, grammarAccess.getResultColumnAccess().getAsKeyword_2_0());
}
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3520:1: ( (lv_name_3_0= RULE_ID ) )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3521:1: (lv_name_3_0= RULE_ID )
{
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3521:1: (lv_name_3_0= RULE_ID )
// ../com.robotoworks.mechanoid.db/src-gen/com/robotoworks/mechanoid/db/parser/antlr/internal/InternalSqliteModel.g:3522:3: lv_name_3_0= RULE_ID
{
lv_name_3_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleResultColumn7577);
if (state.failed)
return current;
if (state.backtracking == 0) {
newLeafNode(lv_name_3_0, grammarAccess.getResultColumnAccess().getNameIDTerminalRuleCall_2_1_0());
}
if (state.backtracking == 0) {
if (current == null) {
current = createModelElement(grammarAccess.getResultColumnRule());
}
setWithLastConsumed(current, "name", lv_name_3_0, "ID");
}
}
}
}
break;
}
}
}
if (state.backtracking == 0) {
leaveRule();
}
} catch (RecognitionException re) {
recover(input, re);
appendSkippedTokens();
} finally {
}
return current;
}
Aggregations