package org.example.smalljava.parser.antlr.internal; import org.eclipse.xtext.*; import org.eclipse.xtext.parser.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.common.util.Enumerator; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; import org.example.smalljava.services.SmallJavaGrammarAccess; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; @SuppressWarnings("all") public class InternalSmallJavaParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'import'", "'.*'", "'.'", "'class'", "'extends'", "'{'", "'}'", "'('", "','", "')'", "'return'", "'='", "'if'", "'else'", "'true'", "'false'", "'this'", "'super'", "'null'", "'new'", "'private'", "'public'", "'protected'" }; public static final int RULE_ID=4; public static final int T__29=29; public static final int T__28=28; public static final int T__27=27; public static final int T__26=26; public static final int T__25=25; public static final int T__24=24; public static final int T__23=23; public static final int T__22=22; public static final int RULE_ANY_OTHER=10; public static final int T__21=21; public static final int T__20=20; public static final int RULE_SL_COMMENT=8; public static final int EOF=-1; public static final int RULE_ML_COMMENT=7; public static final int T__30=30; public static final int T__19=19; public static final int T__31=31; public static final int RULE_STRING=5; public static final int T__32=32; public static final int T__33=33; public static final int T__16=16; public static final int T__34=34; public static final int T__15=15; public static final int T__35=35; public static final int T__18=18; public static final int T__17=17; public static final int T__12=12; public static final int T__11=11; public static final int T__14=14; public static final int T__13=13; public static final int RULE_INT=6; public static final int RULE_WS=9; // delegates // delegators public InternalSmallJavaParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalSmallJavaParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalSmallJavaParser.tokenNames; } public String getGrammarFileName() { return "../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g"; } private SmallJavaGrammarAccess grammarAccess; public InternalSmallJavaParser(TokenStream input, SmallJavaGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "SJProgram"; } @Override protected SmallJavaGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleSJProgram" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:68:1: entryRuleSJProgram returns [EObject current=null] : iv_ruleSJProgram= ruleSJProgram EOF ; public final EObject entryRuleSJProgram() throws RecognitionException { EObject current = null; EObject iv_ruleSJProgram = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:69:2: (iv_ruleSJProgram= ruleSJProgram EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:70:2: iv_ruleSJProgram= ruleSJProgram EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJProgramRule()); } pushFollow(FOLLOW_ruleSJProgram_in_entryRuleSJProgram75); iv_ruleSJProgram=ruleSJProgram(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJProgram; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJProgram85); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJProgram" // $ANTLR start "ruleSJProgram" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:77:1: ruleSJProgram returns [EObject current=null] : ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? ( (lv_imports_3_0= ruleSJImport ) )* ( (lv_classes_4_0= ruleSJClass ) )* ) ; public final EObject ruleSJProgram() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_imports_3_0 = null; EObject lv_classes_4_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:80:28: ( ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? ( (lv_imports_3_0= ruleSJImport ) )* ( (lv_classes_4_0= ruleSJClass ) )* ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:81:1: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? ( (lv_imports_3_0= ruleSJImport ) )* ( (lv_classes_4_0= ruleSJClass ) )* ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:81:1: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? ( (lv_imports_3_0= ruleSJImport ) )* ( (lv_classes_4_0= ruleSJClass ) )* ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:81:2: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? ( (lv_imports_3_0= ruleSJImport ) )* ( (lv_classes_4_0= ruleSJClass ) )* { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:81:2: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==11) ) { alt1=1; } switch (alt1) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:81:4: otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= ';' { otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleSJProgram123); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSJProgramAccess().getPackageKeyword_0_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:85:1: ( (lv_name_1_0= ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:86:1: (lv_name_1_0= ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:86:1: (lv_name_1_0= ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:87:3: lv_name_1_0= ruleQualifiedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJProgramAccess().getNameQualifiedNameParserRuleCall_0_1_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJProgram144); lv_name_1_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJProgramRule()); } set( current, "name", lv_name_1_0, "QualifiedName"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleSJProgram156); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJProgramAccess().getSemicolonKeyword_0_2()); } } break; } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:107:3: ( (lv_imports_3_0= ruleSJImport ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==13) ) { alt2=1; } switch (alt2) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:108:1: (lv_imports_3_0= ruleSJImport ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:108:1: (lv_imports_3_0= ruleSJImport ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:109:3: lv_imports_3_0= ruleSJImport { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJProgramAccess().getImportsSJImportParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleSJImport_in_ruleSJProgram179); lv_imports_3_0=ruleSJImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJProgramRule()); } add( current, "imports", lv_imports_3_0, "SJImport"); afterParserOrEnumRuleCall(); } } } break; default : break loop2; } } while (true); // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:125:3: ( (lv_classes_4_0= ruleSJClass ) )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==16) ) { alt3=1; } switch (alt3) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:126:1: (lv_classes_4_0= ruleSJClass ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:126:1: (lv_classes_4_0= ruleSJClass ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:127:3: lv_classes_4_0= ruleSJClass { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJProgramAccess().getClassesSJClassParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleSJClass_in_ruleSJProgram201); lv_classes_4_0=ruleSJClass(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJProgramRule()); } add( current, "classes", lv_classes_4_0, "SJClass"); afterParserOrEnumRuleCall(); } } } break; default : break loop3; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJProgram" // $ANTLR start "entryRuleSJImport" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:151:1: entryRuleSJImport returns [EObject current=null] : iv_ruleSJImport= ruleSJImport EOF ; public final EObject entryRuleSJImport() throws RecognitionException { EObject current = null; EObject iv_ruleSJImport = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:152:2: (iv_ruleSJImport= ruleSJImport EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:153:2: iv_ruleSJImport= ruleSJImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJImportRule()); } pushFollow(FOLLOW_ruleSJImport_in_entryRuleSJImport238); iv_ruleSJImport=ruleSJImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJImport; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJImport248); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJImport" // $ANTLR start "ruleSJImport" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:160:1: ruleSJImport returns [EObject current=null] : (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) otherlv_2= ';' ) ; public final EObject ruleSJImport() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:163:28: ( (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) otherlv_2= ';' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:164:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) otherlv_2= ';' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:164:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) otherlv_2= ';' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:164:3: otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) otherlv_2= ';' { otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleSJImport285); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSJImportAccess().getImportKeyword_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:168:1: ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:169:1: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:169:1: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:170:3: lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_ruleSJImport306); lv_importedNamespace_1_0=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJImportRule()); } set( current, "importedNamespace", lv_importedNamespace_1_0, "QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleSJImport318); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJImportAccess().getSemicolonKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJImport" // $ANTLR start "entryRuleQualifiedNameWithWildcard" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:198:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:199:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:200:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard355); iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameWithWildcard.getText(); } match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard366); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameWithWildcard" // $ANTLR start "ruleQualifiedNameWithWildcard" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:207:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) ; public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_QualifiedName_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:210:28: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:211:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:211:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:212:5: this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard413); this_QualifiedName_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_QualifiedName_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:222:1: (kw= '.*' )? int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==14) ) { alt4=1; } switch (alt4) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:223:2: kw= '.*' { kw=(Token)match(input,14,FOLLOW_14_in_ruleQualifiedNameWithWildcard432); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameWithWildcard" // $ANTLR start "entryRuleQualifiedName" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:236:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedName = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:237:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:238:2: iv_ruleQualifiedName= ruleQualifiedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameRule()); } pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName475); iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedName.getText(); } match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName486); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedName" // $ANTLR start "ruleQualifiedName" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:245:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; Token kw=null; Token this_ID_2=null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:248:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:249:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:249:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:249:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* { this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName526); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ID_0); } if ( state.backtracking==0 ) { newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:256:1: (kw= '.' this_ID_2= RULE_ID )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==15) ) { alt5=1; } switch (alt5) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:257:2: kw= '.' this_ID_2= RULE_ID { kw=(Token)match(input,15,FOLLOW_15_in_ruleQualifiedName545); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName560); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ID_2); } if ( state.backtracking==0 ) { newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); } } break; default : break loop5; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedName" // $ANTLR start "entryRuleSJClass" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:277:1: entryRuleSJClass returns [EObject current=null] : iv_ruleSJClass= ruleSJClass EOF ; public final EObject entryRuleSJClass() throws RecognitionException { EObject current = null; EObject iv_ruleSJClass = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:278:2: (iv_ruleSJClass= ruleSJClass EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:279:2: iv_ruleSJClass= ruleSJClass EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJClassRule()); } pushFollow(FOLLOW_ruleSJClass_in_entryRuleSJClass607); iv_ruleSJClass=ruleSJClass(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJClass; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJClass617); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJClass" // $ANTLR start "ruleSJClass" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:286:1: ruleSJClass returns [EObject current=null] : (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? otherlv_4= '{' ( (lv_members_5_0= ruleSJMember ) )* otherlv_6= '}' ) ; public final EObject ruleSJClass() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token lv_name_1_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_members_5_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:289:28: ( (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? otherlv_4= '{' ( (lv_members_5_0= ruleSJMember ) )* otherlv_6= '}' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:290:1: (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? otherlv_4= '{' ( (lv_members_5_0= ruleSJMember ) )* otherlv_6= '}' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:290:1: (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? otherlv_4= '{' ( (lv_members_5_0= ruleSJMember ) )* otherlv_6= '}' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:290:3: otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? otherlv_4= '{' ( (lv_members_5_0= ruleSJMember ) )* otherlv_6= '}' { otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleSJClass654); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSJClassAccess().getClassKeyword_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:294:1: ( (lv_name_1_0= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:295:1: (lv_name_1_0= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:295:1: (lv_name_1_0= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:296:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJClass671); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getSJClassAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJClassRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "ID"); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:312:2: (otherlv_2= 'extends' ( ( ruleQualifiedName ) ) )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==17) ) { alt6=1; } switch (alt6) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:312:4: otherlv_2= 'extends' ( ( ruleQualifiedName ) ) { otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleSJClass689); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJClassAccess().getExtendsKeyword_2_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:316:1: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:317:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:317:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:318:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJClassRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJClassAccess().getSuperclassSJClassCrossReference_2_1_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJClass712); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; } otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleSJClass726); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSJClassAccess().getLeftCurlyBracketKeyword_3()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:335:1: ( (lv_members_5_0= ruleSJMember ) )* loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==RULE_ID||(LA7_0>=33 && LA7_0<=35)) ) { alt7=1; } switch (alt7) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:336:1: (lv_members_5_0= ruleSJMember ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:336:1: (lv_members_5_0= ruleSJMember ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:337:3: lv_members_5_0= ruleSJMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJClassAccess().getMembersSJMemberParserRuleCall_4_0()); } pushFollow(FOLLOW_ruleSJMember_in_ruleSJClass747); lv_members_5_0=ruleSJMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJClassRule()); } add( current, "members", lv_members_5_0, "SJMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop7; } } while (true); otherlv_6=(Token)match(input,19,FOLLOW_19_in_ruleSJClass760); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSJClassAccess().getRightCurlyBracketKeyword_5()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJClass" // $ANTLR start "entryRuleSJMember" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:365:1: entryRuleSJMember returns [EObject current=null] : iv_ruleSJMember= ruleSJMember EOF ; public final EObject entryRuleSJMember() throws RecognitionException { EObject current = null; EObject iv_ruleSJMember = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:366:2: (iv_ruleSJMember= ruleSJMember EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:367:2: iv_ruleSJMember= ruleSJMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMemberRule()); } pushFollow(FOLLOW_ruleSJMember_in_entryRuleSJMember796); iv_ruleSJMember=ruleSJMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJMember; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJMember806); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJMember" // $ANTLR start "ruleSJMember" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:374:1: ruleSJMember returns [EObject current=null] : (this_SJField_0= ruleSJField | this_SJMethod_1= ruleSJMethod ) ; public final EObject ruleSJMember() throws RecognitionException { EObject current = null; EObject this_SJField_0 = null; EObject this_SJMethod_1 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:377:28: ( (this_SJField_0= ruleSJField | this_SJMethod_1= ruleSJMethod ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:378:1: (this_SJField_0= ruleSJField | this_SJMethod_1= ruleSJMethod ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:378:1: (this_SJField_0= ruleSJField | this_SJMethod_1= ruleSJMethod ) int alt8=2; alt8 = dfa8.predict(input); switch (alt8) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:379:5: this_SJField_0= ruleSJField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMemberAccess().getSJFieldParserRuleCall_0()); } pushFollow(FOLLOW_ruleSJField_in_ruleSJMember853); this_SJField_0=ruleSJField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJField_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:389:5: this_SJMethod_1= ruleSJMethod { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMemberAccess().getSJMethodParserRuleCall_1()); } pushFollow(FOLLOW_ruleSJMethod_in_ruleSJMember880); this_SJMethod_1=ruleSJMethod(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJMethod_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJMember" // $ANTLR start "entryRuleSJField" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:405:1: entryRuleSJField returns [EObject current=null] : iv_ruleSJField= ruleSJField EOF ; public final EObject entryRuleSJField() throws RecognitionException { EObject current = null; EObject iv_ruleSJField = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:406:2: (iv_ruleSJField= ruleSJField EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:407:2: iv_ruleSJField= ruleSJField EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJFieldRule()); } pushFollow(FOLLOW_ruleSJField_in_entryRuleSJField915); iv_ruleSJField=ruleSJField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJField; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJField925); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJField" // $ANTLR start "ruleSJField" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:414:1: ruleSJField returns [EObject current=null] : ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ';' ) ; public final EObject ruleSJField() throws RecognitionException { EObject current = null; Token lv_name_2_0=null; Token otherlv_3=null; Enumerator lv_access_0_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:417:28: ( ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ';' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:418:1: ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ';' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:418:1: ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ';' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:418:2: ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ';' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:418:2: ( (lv_access_0_0= ruleSJAccessLevel ) )? int alt9=2; int LA9_0 = input.LA(1); if ( ((LA9_0>=33 && LA9_0<=35)) ) { alt9=1; } switch (alt9) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:419:1: (lv_access_0_0= ruleSJAccessLevel ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:419:1: (lv_access_0_0= ruleSJAccessLevel ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:420:3: lv_access_0_0= ruleSJAccessLevel { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJFieldAccess().getAccessSJAccessLevelEnumRuleCall_0_0()); } pushFollow(FOLLOW_ruleSJAccessLevel_in_ruleSJField971); lv_access_0_0=ruleSJAccessLevel(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJFieldRule()); } set( current, "access", lv_access_0_0, "SJAccessLevel"); afterParserOrEnumRuleCall(); } } } break; } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:436:3: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:437:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:437:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:438:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJFieldRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJFieldAccess().getTypeSJClassCrossReference_1_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJField995); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:451:2: ( (lv_name_2_0= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:452:1: (lv_name_2_0= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:452:1: (lv_name_2_0= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:453:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJField1012); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getSJFieldAccess().getNameIDTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJFieldRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "ID"); } } } otherlv_3=(Token)match(input,12,FOLLOW_12_in_ruleSJField1029); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJFieldAccess().getSemicolonKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJField" // $ANTLR start "entryRuleSJMethod" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:481:1: entryRuleSJMethod returns [EObject current=null] : iv_ruleSJMethod= ruleSJMethod EOF ; public final EObject entryRuleSJMethod() throws RecognitionException { EObject current = null; EObject iv_ruleSJMethod = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:482:2: (iv_ruleSJMethod= ruleSJMethod EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:483:2: iv_ruleSJMethod= ruleSJMethod EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodRule()); } pushFollow(FOLLOW_ruleSJMethod_in_entryRuleSJMethod1065); iv_ruleSJMethod=ruleSJMethod(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJMethod; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJMethod1075); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJMethod" // $ANTLR start "ruleSJMethod" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:490:1: ruleSJMethod returns [EObject current=null] : ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? otherlv_7= ')' ( (lv_body_8_0= ruleSJMethodBody ) ) ) ; public final EObject ruleSJMethod() throws RecognitionException { EObject current = null; Token lv_name_2_0=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Enumerator lv_access_0_0 = null; EObject lv_params_4_0 = null; EObject lv_params_6_0 = null; EObject lv_body_8_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:493:28: ( ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? otherlv_7= ')' ( (lv_body_8_0= ruleSJMethodBody ) ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:494:1: ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? otherlv_7= ')' ( (lv_body_8_0= ruleSJMethodBody ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:494:1: ( ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? otherlv_7= ')' ( (lv_body_8_0= ruleSJMethodBody ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:494:2: ( (lv_access_0_0= ruleSJAccessLevel ) )? ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? otherlv_7= ')' ( (lv_body_8_0= ruleSJMethodBody ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:494:2: ( (lv_access_0_0= ruleSJAccessLevel ) )? int alt10=2; int LA10_0 = input.LA(1); if ( ((LA10_0>=33 && LA10_0<=35)) ) { alt10=1; } switch (alt10) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:495:1: (lv_access_0_0= ruleSJAccessLevel ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:495:1: (lv_access_0_0= ruleSJAccessLevel ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:496:3: lv_access_0_0= ruleSJAccessLevel { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodAccess().getAccessSJAccessLevelEnumRuleCall_0_0()); } pushFollow(FOLLOW_ruleSJAccessLevel_in_ruleSJMethod1121); lv_access_0_0=ruleSJAccessLevel(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJMethodRule()); } set( current, "access", lv_access_0_0, "SJAccessLevel"); afterParserOrEnumRuleCall(); } } } break; } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:512:3: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:513:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:513:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:514:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJMethodRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodAccess().getTypeSJClassCrossReference_1_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJMethod1145); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:527:2: ( (lv_name_2_0= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:528:1: (lv_name_2_0= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:528:1: (lv_name_2_0= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:529:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJMethod1162); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getSJMethodAccess().getNameIDTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJMethodRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "ID"); } } } otherlv_3=(Token)match(input,20,FOLLOW_20_in_ruleSJMethod1179); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJMethodAccess().getLeftParenthesisKeyword_3()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:549:1: ( ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* )? int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==RULE_ID) ) { alt12=1; } switch (alt12) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:549:2: ( (lv_params_4_0= ruleSJParameter ) ) (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:549:2: ( (lv_params_4_0= ruleSJParameter ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:550:1: (lv_params_4_0= ruleSJParameter ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:550:1: (lv_params_4_0= ruleSJParameter ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:551:3: lv_params_4_0= ruleSJParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodAccess().getParamsSJParameterParserRuleCall_4_0_0()); } pushFollow(FOLLOW_ruleSJParameter_in_ruleSJMethod1201); lv_params_4_0=ruleSJParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJMethodRule()); } add( current, "params", lv_params_4_0, "SJParameter"); afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:567:2: (otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) )* loop11: do { int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==21) ) { alt11=1; } switch (alt11) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:567:4: otherlv_5= ',' ( (lv_params_6_0= ruleSJParameter ) ) { otherlv_5=(Token)match(input,21,FOLLOW_21_in_ruleSJMethod1214); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getSJMethodAccess().getCommaKeyword_4_1_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:571:1: ( (lv_params_6_0= ruleSJParameter ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:572:1: (lv_params_6_0= ruleSJParameter ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:572:1: (lv_params_6_0= ruleSJParameter ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:573:3: lv_params_6_0= ruleSJParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodAccess().getParamsSJParameterParserRuleCall_4_1_1_0()); } pushFollow(FOLLOW_ruleSJParameter_in_ruleSJMethod1235); lv_params_6_0=ruleSJParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJMethodRule()); } add( current, "params", lv_params_6_0, "SJParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop11; } } while (true); } break; } otherlv_7=(Token)match(input,22,FOLLOW_22_in_ruleSJMethod1251); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSJMethodAccess().getRightParenthesisKeyword_5()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:593:1: ( (lv_body_8_0= ruleSJMethodBody ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:594:1: (lv_body_8_0= ruleSJMethodBody ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:594:1: (lv_body_8_0= ruleSJMethodBody ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:595:3: lv_body_8_0= ruleSJMethodBody { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodAccess().getBodySJMethodBodyParserRuleCall_6_0()); } pushFollow(FOLLOW_ruleSJMethodBody_in_ruleSJMethod1272); lv_body_8_0=ruleSJMethodBody(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJMethodRule()); } set( current, "body", lv_body_8_0, "SJMethodBody"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJMethod" // $ANTLR start "entryRuleSJParameter" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:619:1: entryRuleSJParameter returns [EObject current=null] : iv_ruleSJParameter= ruleSJParameter EOF ; public final EObject entryRuleSJParameter() throws RecognitionException { EObject current = null; EObject iv_ruleSJParameter = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:620:2: (iv_ruleSJParameter= ruleSJParameter EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:621:2: iv_ruleSJParameter= ruleSJParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJParameterRule()); } pushFollow(FOLLOW_ruleSJParameter_in_entryRuleSJParameter1308); iv_ruleSJParameter=ruleSJParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJParameter; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJParameter1318); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJParameter" // $ANTLR start "ruleSJParameter" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:628:1: ruleSJParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; public final EObject ruleSJParameter() throws RecognitionException { EObject current = null; Token lv_name_1_0=null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:631:28: ( ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:632:1: ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:632:1: ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:632:2: ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:632:2: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:633:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:633:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:634:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJParameterRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJParameterAccess().getTypeSJClassCrossReference_0_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJParameter1366); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:647:2: ( (lv_name_1_0= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:648:1: (lv_name_1_0= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:648:1: (lv_name_1_0= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:649:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJParameter1383); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getSJParameterAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJParameterRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "ID"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJParameter" // $ANTLR start "entryRuleSJMethodBody" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:673:1: entryRuleSJMethodBody returns [EObject current=null] : iv_ruleSJMethodBody= ruleSJMethodBody EOF ; public final EObject entryRuleSJMethodBody() throws RecognitionException { EObject current = null; EObject iv_ruleSJMethodBody = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:674:2: (iv_ruleSJMethodBody= ruleSJMethodBody EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:675:2: iv_ruleSJMethodBody= ruleSJMethodBody EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodBodyRule()); } pushFollow(FOLLOW_ruleSJMethodBody_in_entryRuleSJMethodBody1424); iv_ruleSJMethodBody=ruleSJMethodBody(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJMethodBody; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJMethodBody1434); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJMethodBody" // $ANTLR start "ruleSJMethodBody" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:682:1: ruleSJMethodBody returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )* otherlv_3= '}' ) ; public final EObject ruleSJMethodBody() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; EObject lv_statements_2_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:685:28: ( ( () otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )* otherlv_3= '}' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:686:1: ( () otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )* otherlv_3= '}' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:686:1: ( () otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )* otherlv_3= '}' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:686:2: () otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )* otherlv_3= '}' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:686:2: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:687:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJMethodBodyAccess().getSJMethodBodyAction_0(), current); } } otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleSJMethodBody1480); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSJMethodBodyAccess().getLeftCurlyBracketKeyword_1()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:696:1: ( (lv_statements_2_0= ruleSJStatement ) )* loop13: do { int alt13=2; int LA13_0 = input.LA(1); if ( ((LA13_0>=RULE_ID && LA13_0<=RULE_INT)||LA13_0==20||LA13_0==23||LA13_0==25||(LA13_0>=27 && LA13_0<=32)) ) { alt13=1; } switch (alt13) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:697:1: (lv_statements_2_0= ruleSJStatement ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:697:1: (lv_statements_2_0= ruleSJStatement ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:698:3: lv_statements_2_0= ruleSJStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJMethodBodyAccess().getStatementsSJStatementParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleSJStatement_in_ruleSJMethodBody1501); lv_statements_2_0=ruleSJStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJMethodBodyRule()); } add( current, "statements", lv_statements_2_0, "SJStatement"); afterParserOrEnumRuleCall(); } } } break; default : break loop13; } } while (true); otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleSJMethodBody1514); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJMethodBodyAccess().getRightCurlyBracketKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJMethodBody" // $ANTLR start "entryRuleSJStatement" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:726:1: entryRuleSJStatement returns [EObject current=null] : iv_ruleSJStatement= ruleSJStatement EOF ; public final EObject entryRuleSJStatement() throws RecognitionException { EObject current = null; EObject iv_ruleSJStatement = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:727:2: (iv_ruleSJStatement= ruleSJStatement EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:728:2: iv_ruleSJStatement= ruleSJStatement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJStatementRule()); } pushFollow(FOLLOW_ruleSJStatement_in_entryRuleSJStatement1550); iv_ruleSJStatement=ruleSJStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJStatement; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJStatement1560); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJStatement" // $ANTLR start "ruleSJStatement" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:735:1: ruleSJStatement returns [EObject current=null] : (this_SJVariableDeclaration_0= ruleSJVariableDeclaration | this_SJReturn_1= ruleSJReturn | (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) | this_SJIfStatement_4= ruleSJIfStatement ) ; public final EObject ruleSJStatement() throws RecognitionException { EObject current = null; Token otherlv_3=null; EObject this_SJVariableDeclaration_0 = null; EObject this_SJReturn_1 = null; EObject this_SJExpression_2 = null; EObject this_SJIfStatement_4 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:738:28: ( (this_SJVariableDeclaration_0= ruleSJVariableDeclaration | this_SJReturn_1= ruleSJReturn | (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) | this_SJIfStatement_4= ruleSJIfStatement ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:739:1: (this_SJVariableDeclaration_0= ruleSJVariableDeclaration | this_SJReturn_1= ruleSJReturn | (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) | this_SJIfStatement_4= ruleSJIfStatement ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:739:1: (this_SJVariableDeclaration_0= ruleSJVariableDeclaration | this_SJReturn_1= ruleSJReturn | (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) | this_SJIfStatement_4= ruleSJIfStatement ) int alt14=4; alt14 = dfa14.predict(input); switch (alt14) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:740:5: this_SJVariableDeclaration_0= ruleSJVariableDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJStatementAccess().getSJVariableDeclarationParserRuleCall_0()); } pushFollow(FOLLOW_ruleSJVariableDeclaration_in_ruleSJStatement1607); this_SJVariableDeclaration_0=ruleSJVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJVariableDeclaration_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:750:5: this_SJReturn_1= ruleSJReturn { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJStatementAccess().getSJReturnParserRuleCall_1()); } pushFollow(FOLLOW_ruleSJReturn_in_ruleSJStatement1634); this_SJReturn_1=ruleSJReturn(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJReturn_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:759:6: (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:759:6: (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:760:5: this_SJExpression_2= ruleSJExpression otherlv_3= ';' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJStatementAccess().getSJExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJStatement1662); this_SJExpression_2=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJExpression_2; afterParserOrEnumRuleCall(); } otherlv_3=(Token)match(input,12,FOLLOW_12_in_ruleSJStatement1673); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJStatementAccess().getSemicolonKeyword_2_1()); } } } break; case 4 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:774:5: this_SJIfStatement_4= ruleSJIfStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJStatementAccess().getSJIfStatementParserRuleCall_3()); } pushFollow(FOLLOW_ruleSJIfStatement_in_ruleSJStatement1702); this_SJIfStatement_4=ruleSJIfStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJIfStatement_4; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJStatement" // $ANTLR start "entryRuleSJReturn" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:790:1: entryRuleSJReturn returns [EObject current=null] : iv_ruleSJReturn= ruleSJReturn EOF ; public final EObject entryRuleSJReturn() throws RecognitionException { EObject current = null; EObject iv_ruleSJReturn = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:791:2: (iv_ruleSJReturn= ruleSJReturn EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:792:2: iv_ruleSJReturn= ruleSJReturn EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJReturnRule()); } pushFollow(FOLLOW_ruleSJReturn_in_entryRuleSJReturn1737); iv_ruleSJReturn=ruleSJReturn(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJReturn; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJReturn1747); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJReturn" // $ANTLR start "ruleSJReturn" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:799:1: ruleSJReturn returns [EObject current=null] : (otherlv_0= 'return' ( (lv_expression_1_0= ruleSJExpression ) ) otherlv_2= ';' ) ; public final EObject ruleSJReturn() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_expression_1_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:802:28: ( (otherlv_0= 'return' ( (lv_expression_1_0= ruleSJExpression ) ) otherlv_2= ';' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:803:1: (otherlv_0= 'return' ( (lv_expression_1_0= ruleSJExpression ) ) otherlv_2= ';' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:803:1: (otherlv_0= 'return' ( (lv_expression_1_0= ruleSJExpression ) ) otherlv_2= ';' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:803:3: otherlv_0= 'return' ( (lv_expression_1_0= ruleSJExpression ) ) otherlv_2= ';' { otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleSJReturn1784); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSJReturnAccess().getReturnKeyword_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:807:1: ( (lv_expression_1_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:808:1: (lv_expression_1_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:808:1: (lv_expression_1_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:809:3: lv_expression_1_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJReturnAccess().getExpressionSJExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJReturn1805); lv_expression_1_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJReturnRule()); } set( current, "expression", lv_expression_1_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleSJReturn1817); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJReturnAccess().getSemicolonKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJReturn" // $ANTLR start "entryRuleSJVariableDeclaration" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:837:1: entryRuleSJVariableDeclaration returns [EObject current=null] : iv_ruleSJVariableDeclaration= ruleSJVariableDeclaration EOF ; public final EObject entryRuleSJVariableDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleSJVariableDeclaration = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:838:2: (iv_ruleSJVariableDeclaration= ruleSJVariableDeclaration EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:839:2: iv_ruleSJVariableDeclaration= ruleSJVariableDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJVariableDeclarationRule()); } pushFollow(FOLLOW_ruleSJVariableDeclaration_in_entryRuleSJVariableDeclaration1853); iv_ruleSJVariableDeclaration=ruleSJVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJVariableDeclaration; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJVariableDeclaration1863); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJVariableDeclaration" // $ANTLR start "ruleSJVariableDeclaration" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:846:1: ruleSJVariableDeclaration returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( (lv_expression_3_0= ruleSJExpression ) ) otherlv_4= ';' ) ; public final EObject ruleSJVariableDeclaration() throws RecognitionException { EObject current = null; Token lv_name_1_0=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_expression_3_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:849:28: ( ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( (lv_expression_3_0= ruleSJExpression ) ) otherlv_4= ';' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:850:1: ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( (lv_expression_3_0= ruleSJExpression ) ) otherlv_4= ';' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:850:1: ( ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( (lv_expression_3_0= ruleSJExpression ) ) otherlv_4= ';' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:850:2: ( ( ruleQualifiedName ) ) ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( (lv_expression_3_0= ruleSJExpression ) ) otherlv_4= ';' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:850:2: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:851:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:851:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:852:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJVariableDeclarationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJVariableDeclarationAccess().getTypeSJClassCrossReference_0_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJVariableDeclaration1911); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:865:2: ( (lv_name_1_0= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:866:1: (lv_name_1_0= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:866:1: (lv_name_1_0= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:867:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJVariableDeclaration1928); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getSJVariableDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJVariableDeclarationRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "ID"); } } } otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleSJVariableDeclaration1945); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJVariableDeclarationAccess().getEqualsSignKeyword_2()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:887:1: ( (lv_expression_3_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:888:1: (lv_expression_3_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:888:1: (lv_expression_3_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:889:3: lv_expression_3_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJVariableDeclarationAccess().getExpressionSJExpressionParserRuleCall_3_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJVariableDeclaration1966); lv_expression_3_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJVariableDeclarationRule()); } set( current, "expression", lv_expression_3_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,12,FOLLOW_12_in_ruleSJVariableDeclaration1978); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSJVariableDeclarationAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJVariableDeclaration" // $ANTLR start "entryRuleSJIfStatement" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:917:1: entryRuleSJIfStatement returns [EObject current=null] : iv_ruleSJIfStatement= ruleSJIfStatement EOF ; public final EObject entryRuleSJIfStatement() throws RecognitionException { EObject current = null; EObject iv_ruleSJIfStatement = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:918:2: (iv_ruleSJIfStatement= ruleSJIfStatement EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:919:2: iv_ruleSJIfStatement= ruleSJIfStatement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfStatementRule()); } pushFollow(FOLLOW_ruleSJIfStatement_in_entryRuleSJIfStatement2014); iv_ruleSJIfStatement=ruleSJIfStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJIfStatement; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJIfStatement2024); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJIfStatement" // $ANTLR start "ruleSJIfStatement" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:926:1: ruleSJIfStatement returns [EObject current=null] : (otherlv_0= 'if' otherlv_1= '(' ( (lv_expression_2_0= ruleSJExpression ) ) otherlv_3= ')' ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? ) ; public final EObject ruleSJIfStatement() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_expression_2_0 = null; EObject lv_thenBlock_4_0 = null; EObject lv_elseBlock_6_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:929:28: ( (otherlv_0= 'if' otherlv_1= '(' ( (lv_expression_2_0= ruleSJExpression ) ) otherlv_3= ')' ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:930:1: (otherlv_0= 'if' otherlv_1= '(' ( (lv_expression_2_0= ruleSJExpression ) ) otherlv_3= ')' ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:930:1: (otherlv_0= 'if' otherlv_1= '(' ( (lv_expression_2_0= ruleSJExpression ) ) otherlv_3= ')' ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:930:3: otherlv_0= 'if' otherlv_1= '(' ( (lv_expression_2_0= ruleSJExpression ) ) otherlv_3= ')' ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? { otherlv_0=(Token)match(input,25,FOLLOW_25_in_ruleSJIfStatement2061); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSJIfStatementAccess().getIfKeyword_0()); } otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleSJIfStatement2073); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSJIfStatementAccess().getLeftParenthesisKeyword_1()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:938:1: ( (lv_expression_2_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:939:1: (lv_expression_2_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:939:1: (lv_expression_2_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:940:3: lv_expression_2_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfStatementAccess().getExpressionSJExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJIfStatement2094); lv_expression_2_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJIfStatementRule()); } set( current, "expression", lv_expression_2_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,22,FOLLOW_22_in_ruleSJIfStatement2106); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJIfStatementAccess().getRightParenthesisKeyword_3()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:960:1: ( (lv_thenBlock_4_0= ruleSJIfBlock ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:961:1: (lv_thenBlock_4_0= ruleSJIfBlock ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:961:1: (lv_thenBlock_4_0= ruleSJIfBlock ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:962:3: lv_thenBlock_4_0= ruleSJIfBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfStatementAccess().getThenBlockSJIfBlockParserRuleCall_4_0()); } pushFollow(FOLLOW_ruleSJIfBlock_in_ruleSJIfStatement2127); lv_thenBlock_4_0=ruleSJIfBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJIfStatementRule()); } set( current, "thenBlock", lv_thenBlock_4_0, "SJIfBlock"); afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:2: ( ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==26) ) { int LA15_1 = input.LA(2); if ( (synpred1_InternalSmallJava()) ) { alt15=1; } } switch (alt15) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:3: ( ( 'else' )=>otherlv_5= 'else' ) ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:3: ( ( 'else' )=>otherlv_5= 'else' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:4: ( 'else' )=>otherlv_5= 'else' { otherlv_5=(Token)match(input,26,FOLLOW_26_in_ruleSJIfStatement2148); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getSJIfStatementAccess().getElseKeyword_5_0()); } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:983:2: ( (lv_elseBlock_6_0= ruleSJIfBlock ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:984:1: (lv_elseBlock_6_0= ruleSJIfBlock ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:984:1: (lv_elseBlock_6_0= ruleSJIfBlock ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:985:3: lv_elseBlock_6_0= ruleSJIfBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfStatementAccess().getElseBlockSJIfBlockParserRuleCall_5_1_0()); } pushFollow(FOLLOW_ruleSJIfBlock_in_ruleSJIfStatement2170); lv_elseBlock_6_0=ruleSJIfBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJIfStatementRule()); } set( current, "elseBlock", lv_elseBlock_6_0, "SJIfBlock"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJIfStatement" // $ANTLR start "entryRuleSJIfBlock" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1009:1: entryRuleSJIfBlock returns [EObject current=null] : iv_ruleSJIfBlock= ruleSJIfBlock EOF ; public final EObject entryRuleSJIfBlock() throws RecognitionException { EObject current = null; EObject iv_ruleSJIfBlock = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1010:2: (iv_ruleSJIfBlock= ruleSJIfBlock EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1011:2: iv_ruleSJIfBlock= ruleSJIfBlock EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfBlockRule()); } pushFollow(FOLLOW_ruleSJIfBlock_in_entryRuleSJIfBlock2208); iv_ruleSJIfBlock=ruleSJIfBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJIfBlock; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJIfBlock2218); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJIfBlock" // $ANTLR start "ruleSJIfBlock" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1018:1: ruleSJIfBlock returns [EObject current=null] : ( ( (lv_statements_0_0= ruleSJStatement ) ) | (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) ) ; public final EObject ruleSJIfBlock() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; EObject lv_statements_0_0 = null; EObject lv_statements_2_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1021:28: ( ( ( (lv_statements_0_0= ruleSJStatement ) ) | (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1022:1: ( ( (lv_statements_0_0= ruleSJStatement ) ) | (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1022:1: ( ( (lv_statements_0_0= ruleSJStatement ) ) | (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) ) int alt17=2; int LA17_0 = input.LA(1); if ( ((LA17_0>=RULE_ID && LA17_0<=RULE_INT)||LA17_0==20||LA17_0==23||LA17_0==25||(LA17_0>=27 && LA17_0<=32)) ) { alt17=1; } else if ( (LA17_0==18) ) { alt17=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 17, 0, input); throw nvae; } switch (alt17) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1022:2: ( (lv_statements_0_0= ruleSJStatement ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1022:2: ( (lv_statements_0_0= ruleSJStatement ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1023:1: (lv_statements_0_0= ruleSJStatement ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1023:1: (lv_statements_0_0= ruleSJStatement ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1024:3: lv_statements_0_0= ruleSJStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfBlockAccess().getStatementsSJStatementParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleSJStatement_in_ruleSJIfBlock2264); lv_statements_0_0=ruleSJStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJIfBlockRule()); } add( current, "statements", lv_statements_0_0, "SJStatement"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1041:6: (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1041:6: (otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1041:8: otherlv_1= '{' ( (lv_statements_2_0= ruleSJStatement ) )+ otherlv_3= '}' { otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleSJIfBlock2283); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSJIfBlockAccess().getLeftCurlyBracketKeyword_1_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1045:1: ( (lv_statements_2_0= ruleSJStatement ) )+ int cnt16=0; loop16: do { int alt16=2; int LA16_0 = input.LA(1); if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_INT)||LA16_0==20||LA16_0==23||LA16_0==25||(LA16_0>=27 && LA16_0<=32)) ) { alt16=1; } switch (alt16) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1046:1: (lv_statements_2_0= ruleSJStatement ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1046:1: (lv_statements_2_0= ruleSJStatement ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1047:3: lv_statements_2_0= ruleSJStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJIfBlockAccess().getStatementsSJStatementParserRuleCall_1_1_0()); } pushFollow(FOLLOW_ruleSJStatement_in_ruleSJIfBlock2304); lv_statements_2_0=ruleSJStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJIfBlockRule()); } add( current, "statements", lv_statements_2_0, "SJStatement"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt16 >= 1 ) break loop16; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(16, input); throw eee; } cnt16++; } while (true); otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleSJIfBlock2317); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJIfBlockAccess().getRightCurlyBracketKeyword_1_2()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJIfBlock" // $ANTLR start "entryRuleSJExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1079:1: entryRuleSJExpression returns [EObject current=null] : iv_ruleSJExpression= ruleSJExpression EOF ; public final EObject entryRuleSJExpression() throws RecognitionException { EObject current = null; EObject iv_ruleSJExpression = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1080:2: (iv_ruleSJExpression= ruleSJExpression EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1081:2: iv_ruleSJExpression= ruleSJExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJExpressionRule()); } pushFollow(FOLLOW_ruleSJExpression_in_entryRuleSJExpression2358); iv_ruleSJExpression=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJExpression; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJExpression2368); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJExpression" // $ANTLR start "ruleSJExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1088:1: ruleSJExpression returns [EObject current=null] : this_SJAssignment_0= ruleSJAssignment ; public final EObject ruleSJExpression() throws RecognitionException { EObject current = null; EObject this_SJAssignment_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1091:28: (this_SJAssignment_0= ruleSJAssignment ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1093:5: this_SJAssignment_0= ruleSJAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJExpressionAccess().getSJAssignmentParserRuleCall()); } pushFollow(FOLLOW_ruleSJAssignment_in_ruleSJExpression2414); this_SJAssignment_0=ruleSJAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJAssignment_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJExpression" // $ANTLR start "entryRuleSJAssignment" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1109:1: entryRuleSJAssignment returns [EObject current=null] : iv_ruleSJAssignment= ruleSJAssignment EOF ; public final EObject entryRuleSJAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleSJAssignment = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1110:2: (iv_ruleSJAssignment= ruleSJAssignment EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1111:2: iv_ruleSJAssignment= ruleSJAssignment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJAssignmentRule()); } pushFollow(FOLLOW_ruleSJAssignment_in_entryRuleSJAssignment2448); iv_ruleSJAssignment=ruleSJAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJAssignment; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJAssignment2458); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJAssignment" // $ANTLR start "ruleSJAssignment" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1118:1: ruleSJAssignment returns [EObject current=null] : (this_SJSelectionExpression_0= ruleSJSelectionExpression ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? ) ; public final EObject ruleSJAssignment() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject this_SJSelectionExpression_0 = null; EObject lv_right_3_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1121:28: ( (this_SJSelectionExpression_0= ruleSJSelectionExpression ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1122:1: (this_SJSelectionExpression_0= ruleSJSelectionExpression ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1122:1: (this_SJSelectionExpression_0= ruleSJSelectionExpression ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1123:5: this_SJSelectionExpression_0= ruleSJSelectionExpression ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJAssignmentAccess().getSJSelectionExpressionParserRuleCall_0()); } pushFollow(FOLLOW_ruleSJSelectionExpression_in_ruleSJAssignment2505); this_SJSelectionExpression_0=ruleSJSelectionExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJSelectionExpression_0; afterParserOrEnumRuleCall(); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1131:1: ( () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==24) ) { alt18=1; } switch (alt18) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1131:2: () otherlv_2= '=' ( (lv_right_3_0= ruleSJExpression ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1131:2: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1132:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getSJAssignmentAccess().getSJAssignmentLeftAction_1_0(), current); } } otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleSJAssignment2526); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJAssignmentAccess().getEqualsSignKeyword_1_1()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1141:1: ( (lv_right_3_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1142:1: (lv_right_3_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1142:1: (lv_right_3_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1143:3: lv_right_3_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJAssignmentAccess().getRightSJExpressionParserRuleCall_1_2_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJAssignment2547); lv_right_3_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJAssignmentRule()); } set( current, "right", lv_right_3_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJAssignment" // $ANTLR start "entryRuleSJSelectionExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1167:1: entryRuleSJSelectionExpression returns [EObject current=null] : iv_ruleSJSelectionExpression= ruleSJSelectionExpression EOF ; public final EObject entryRuleSJSelectionExpression() throws RecognitionException { EObject current = null; EObject iv_ruleSJSelectionExpression = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1168:2: (iv_ruleSJSelectionExpression= ruleSJSelectionExpression EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1169:2: iv_ruleSJSelectionExpression= ruleSJSelectionExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJSelectionExpressionRule()); } pushFollow(FOLLOW_ruleSJSelectionExpression_in_entryRuleSJSelectionExpression2585); iv_ruleSJSelectionExpression=ruleSJSelectionExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJSelectionExpression; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJSelectionExpression2595); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJSelectionExpression" // $ANTLR start "ruleSJSelectionExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1176:1: ruleSJSelectionExpression returns [EObject current=null] : (this_SJTerminalExpression_0= ruleSJTerminalExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* ) ; public final EObject ruleSJSelectionExpression() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_3=null; Token lv_methodinvocation_4_0=null; Token otherlv_6=null; Token otherlv_8=null; EObject this_SJTerminalExpression_0 = null; EObject lv_args_5_0 = null; EObject lv_args_7_0 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1179:28: ( (this_SJTerminalExpression_0= ruleSJTerminalExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1180:1: (this_SJTerminalExpression_0= ruleSJTerminalExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1180:1: (this_SJTerminalExpression_0= ruleSJTerminalExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1181:5: this_SJTerminalExpression_0= ruleSJTerminalExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJSelectionExpressionAccess().getSJTerminalExpressionParserRuleCall_0()); } pushFollow(FOLLOW_ruleSJTerminalExpression_in_ruleSJSelectionExpression2642); this_SJTerminalExpression_0=ruleSJTerminalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJTerminalExpression_0; afterParserOrEnumRuleCall(); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1189:1: ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? )* loop22: do { int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==15) ) { alt22=1; } switch (alt22) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1189:2: () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1189:2: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1190:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getSJSelectionExpressionAccess().getSJMemberSelectionReceiverAction_1_0(), current); } } otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleSJSelectionExpression2663); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSJSelectionExpressionAccess().getFullStopKeyword_1_1()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1199:1: ( (otherlv_3= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1200:1: (otherlv_3= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1200:1: (otherlv_3= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1201:3: otherlv_3= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJSelectionExpressionRule()); } } otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJSelectionExpression2683); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSJSelectionExpressionAccess().getMemberSJMemberCrossReference_1_2_0()); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1212:2: ( ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' )? int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==20) ) { alt21=1; } switch (alt21) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1212:3: ( (lv_methodinvocation_4_0= '(' ) ) ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? otherlv_8= ')' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1212:3: ( (lv_methodinvocation_4_0= '(' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1213:1: (lv_methodinvocation_4_0= '(' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1213:1: (lv_methodinvocation_4_0= '(' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1214:3: lv_methodinvocation_4_0= '(' { lv_methodinvocation_4_0=(Token)match(input,20,FOLLOW_20_in_ruleSJSelectionExpression2702); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_methodinvocation_4_0, grammarAccess.getSJSelectionExpressionAccess().getMethodinvocationLeftParenthesisKeyword_1_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJSelectionExpressionRule()); } setWithLastConsumed(current, "methodinvocation", true, "("); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1227:2: ( ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* )? int alt20=2; int LA20_0 = input.LA(1); if ( ((LA20_0>=RULE_ID && LA20_0<=RULE_INT)||LA20_0==20||(LA20_0>=27 && LA20_0<=32)) ) { alt20=1; } switch (alt20) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1227:3: ( (lv_args_5_0= ruleSJExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1227:3: ( (lv_args_5_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1228:1: (lv_args_5_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1228:1: (lv_args_5_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1229:3: lv_args_5_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJSelectionExpressionAccess().getArgsSJExpressionParserRuleCall_1_3_1_0_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJSelectionExpression2737); lv_args_5_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJSelectionExpressionRule()); } add( current, "args", lv_args_5_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1245:2: (otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) )* loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==21) ) { alt19=1; } switch (alt19) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1245:4: otherlv_6= ',' ( (lv_args_7_0= ruleSJExpression ) ) { otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleSJSelectionExpression2750); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSJSelectionExpressionAccess().getCommaKeyword_1_3_1_1_0()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1249:1: ( (lv_args_7_0= ruleSJExpression ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1250:1: (lv_args_7_0= ruleSJExpression ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1250:1: (lv_args_7_0= ruleSJExpression ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1251:3: lv_args_7_0= ruleSJExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJSelectionExpressionAccess().getArgsSJExpressionParserRuleCall_1_3_1_1_1_0()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJSelectionExpression2771); lv_args_7_0=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSJSelectionExpressionRule()); } add( current, "args", lv_args_7_0, "SJExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop19; } } while (true); } break; } otherlv_8=(Token)match(input,22,FOLLOW_22_in_ruleSJSelectionExpression2787); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getSJSelectionExpressionAccess().getRightParenthesisKeyword_1_3_2()); } } break; } } break; default : break loop22; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJSelectionExpression" // $ANTLR start "entryRuleSJTerminalExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1279:1: entryRuleSJTerminalExpression returns [EObject current=null] : iv_ruleSJTerminalExpression= ruleSJTerminalExpression EOF ; public final EObject entryRuleSJTerminalExpression() throws RecognitionException { EObject current = null; EObject iv_ruleSJTerminalExpression = null; try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1280:2: (iv_ruleSJTerminalExpression= ruleSJTerminalExpression EOF ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1281:2: iv_ruleSJTerminalExpression= ruleSJTerminalExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJTerminalExpressionRule()); } pushFollow(FOLLOW_ruleSJTerminalExpression_in_entryRuleSJTerminalExpression2827); iv_ruleSJTerminalExpression=ruleSJTerminalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSJTerminalExpression; } match(input,EOF,FOLLOW_EOF_in_entryRuleSJTerminalExpression2837); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSJTerminalExpression" // $ANTLR start "ruleSJTerminalExpression" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1288:1: ruleSJTerminalExpression returns [EObject current=null] : ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) | ( () ( (lv_value_3_0= RULE_INT ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () otherlv_7= 'this' ) | ( () otherlv_9= 'super' ) | ( () otherlv_11= 'null' ) | ( () ( (otherlv_13= RULE_ID ) ) ) | ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) | (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) ) ; public final EObject ruleSJTerminalExpression() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; Token lv_value_3_0=null; Token lv_value_5_1=null; Token lv_value_5_2=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_13=null; Token otherlv_15=null; Token otherlv_17=null; Token otherlv_18=null; Token otherlv_19=null; Token otherlv_21=null; EObject this_SJExpression_20 = null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1291:28: ( ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) | ( () ( (lv_value_3_0= RULE_INT ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () otherlv_7= 'this' ) | ( () otherlv_9= 'super' ) | ( () otherlv_11= 'null' ) | ( () ( (otherlv_13= RULE_ID ) ) ) | ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) | (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:1: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) | ( () ( (lv_value_3_0= RULE_INT ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () otherlv_7= 'this' ) | ( () otherlv_9= 'super' ) | ( () otherlv_11= 'null' ) | ( () ( (otherlv_13= RULE_ID ) ) ) | ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) | (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:1: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) | ( () ( (lv_value_3_0= RULE_INT ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () otherlv_7= 'this' ) | ( () otherlv_9= 'super' ) | ( () otherlv_11= 'null' ) | ( () ( (otherlv_13= RULE_ID ) ) ) | ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) | (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) ) int alt24=9; switch ( input.LA(1) ) { case RULE_STRING: { alt24=1; } break; case RULE_INT: { alt24=2; } break; case 27: case 28: { alt24=3; } break; case 29: { alt24=4; } break; case 30: { alt24=5; } break; case 31: { alt24=6; } break; case RULE_ID: { alt24=7; } break; case 32: { alt24=8; } break; case 20: { alt24=9; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 24, 0, input); throw nvae; } switch (alt24) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:3: () ( (lv_value_1_0= RULE_STRING ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1292:3: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1293:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJStringConstantAction_0_0(), current); } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1298:2: ( (lv_value_1_0= RULE_STRING ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1299:1: (lv_value_1_0= RULE_STRING ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1299:1: (lv_value_1_0= RULE_STRING ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1300:3: lv_value_1_0= RULE_STRING { lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleSJTerminalExpression2889); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getSJTerminalExpressionAccess().getValueSTRINGTerminalRuleCall_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "STRING"); } } } } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1317:6: ( () ( (lv_value_3_0= RULE_INT ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1317:6: ( () ( (lv_value_3_0= RULE_INT ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1317:7: () ( (lv_value_3_0= RULE_INT ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1317:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1318:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJIntConstantAction_1_0(), current); } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1323:2: ( (lv_value_3_0= RULE_INT ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1324:1: (lv_value_3_0= RULE_INT ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1324:1: (lv_value_3_0= RULE_INT ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1325:3: lv_value_3_0= RULE_INT { lv_value_3_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSJTerminalExpression2928); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_3_0, grammarAccess.getSJTerminalExpressionAccess().getValueINTTerminalRuleCall_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } setWithLastConsumed( current, "value", lv_value_3_0, "INT"); } } } } } break; case 3 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1342:6: ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1342:6: ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1342:7: () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1342:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1343:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJBoolConstantAction_2_0(), current); } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1348:2: ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1349:1: ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1349:1: ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1350:1: (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1350:1: (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==27) ) { alt23=1; } else if ( (LA23_0==28) ) { alt23=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 23, 0, input); throw nvae; } switch (alt23) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1351:3: lv_value_5_1= 'true' { lv_value_5_1=(Token)match(input,27,FOLLOW_27_in_ruleSJTerminalExpression2970); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_5_1, grammarAccess.getSJTerminalExpressionAccess().getValueTrueKeyword_2_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } setWithLastConsumed(current, "value", lv_value_5_1, null); } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1363:8: lv_value_5_2= 'false' { lv_value_5_2=(Token)match(input,28,FOLLOW_28_in_ruleSJTerminalExpression2999); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_5_2, grammarAccess.getSJTerminalExpressionAccess().getValueFalseKeyword_2_1_0_1()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } setWithLastConsumed(current, "value", lv_value_5_2, null); } } break; } } } } } break; case 4 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1379:6: ( () otherlv_7= 'this' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1379:6: ( () otherlv_7= 'this' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1379:7: () otherlv_7= 'this' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1379:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1380:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJThisAction_3_0(), current); } } otherlv_7=(Token)match(input,29,FOLLOW_29_in_ruleSJTerminalExpression3044); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSJTerminalExpressionAccess().getThisKeyword_3_1()); } } } break; case 5 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1390:6: ( () otherlv_9= 'super' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1390:6: ( () otherlv_9= 'super' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1390:7: () otherlv_9= 'super' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1390:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1391:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJSuperAction_4_0(), current); } } otherlv_9=(Token)match(input,30,FOLLOW_30_in_ruleSJTerminalExpression3073); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getSJTerminalExpressionAccess().getSuperKeyword_4_1()); } } } break; case 6 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1401:6: ( () otherlv_11= 'null' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1401:6: ( () otherlv_11= 'null' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1401:7: () otherlv_11= 'null' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1401:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1402:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJNullAction_5_0(), current); } } otherlv_11=(Token)match(input,31,FOLLOW_31_in_ruleSJTerminalExpression3102); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getSJTerminalExpressionAccess().getNullKeyword_5_1()); } } } break; case 7 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1412:6: ( () ( (otherlv_13= RULE_ID ) ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1412:6: ( () ( (otherlv_13= RULE_ID ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1412:7: () ( (otherlv_13= RULE_ID ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1412:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1413:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJSymbolRefAction_6_0(), current); } } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1418:2: ( (otherlv_13= RULE_ID ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1419:1: (otherlv_13= RULE_ID ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1419:1: (otherlv_13= RULE_ID ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1420:3: otherlv_13= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } } otherlv_13=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSJTerminalExpression3139); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getSJTerminalExpressionAccess().getSymbolSJSymbolCrossReference_6_1_0()); } } } } } break; case 8 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1432:6: ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1432:6: ( () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1432:7: () otherlv_15= 'new' ( ( ruleQualifiedName ) ) otherlv_17= '(' otherlv_18= ')' { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1432:7: () // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1433:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSJTerminalExpressionAccess().getSJNewAction_7_0(), current); } } otherlv_15=(Token)match(input,32,FOLLOW_32_in_ruleSJTerminalExpression3168); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getSJTerminalExpressionAccess().getNewKeyword_7_1()); } // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1442:1: ( ( ruleQualifiedName ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1443:1: ( ruleQualifiedName ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1443:1: ( ruleQualifiedName ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1444:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSJTerminalExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJTerminalExpressionAccess().getTypeSJClassCrossReference_7_2_0()); } pushFollow(FOLLOW_ruleQualifiedName_in_ruleSJTerminalExpression3191); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_17=(Token)match(input,20,FOLLOW_20_in_ruleSJTerminalExpression3203); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getSJTerminalExpressionAccess().getLeftParenthesisKeyword_7_3()); } otherlv_18=(Token)match(input,22,FOLLOW_22_in_ruleSJTerminalExpression3215); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getSJTerminalExpressionAccess().getRightParenthesisKeyword_7_4()); } } } break; case 9 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1466:6: (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1466:6: (otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1466:8: otherlv_19= '(' this_SJExpression_20= ruleSJExpression otherlv_21= ')' { otherlv_19=(Token)match(input,20,FOLLOW_20_in_ruleSJTerminalExpression3235); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getSJTerminalExpressionAccess().getLeftParenthesisKeyword_8_0()); } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSJTerminalExpressionAccess().getSJExpressionParserRuleCall_8_1()); } pushFollow(FOLLOW_ruleSJExpression_in_ruleSJTerminalExpression3257); this_SJExpression_20=ruleSJExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SJExpression_20; afterParserOrEnumRuleCall(); } otherlv_21=(Token)match(input,22,FOLLOW_22_in_ruleSJTerminalExpression3268); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getSJTerminalExpressionAccess().getRightParenthesisKeyword_8_2()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJTerminalExpression" // $ANTLR start "ruleSJAccessLevel" // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1491:1: ruleSJAccessLevel returns [Enumerator current=null] : ( (enumLiteral_0= 'private' ) | (enumLiteral_1= 'public' ) | (enumLiteral_2= 'protected' ) ) ; public final Enumerator ruleSJAccessLevel() throws RecognitionException { Enumerator current = null; Token enumLiteral_0=null; Token enumLiteral_1=null; Token enumLiteral_2=null; enterRule(); try { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1493:28: ( ( (enumLiteral_0= 'private' ) | (enumLiteral_1= 'public' ) | (enumLiteral_2= 'protected' ) ) ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1494:1: ( (enumLiteral_0= 'private' ) | (enumLiteral_1= 'public' ) | (enumLiteral_2= 'protected' ) ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1494:1: ( (enumLiteral_0= 'private' ) | (enumLiteral_1= 'public' ) | (enumLiteral_2= 'protected' ) ) int alt25=3; switch ( input.LA(1) ) { case 33: { alt25=1; } break; case 34: { alt25=2; } break; case 35: { alt25=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 25, 0, input); throw nvae; } switch (alt25) { case 1 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1494:2: (enumLiteral_0= 'private' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1494:2: (enumLiteral_0= 'private' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1494:4: enumLiteral_0= 'private' { enumLiteral_0=(Token)match(input,33,FOLLOW_33_in_ruleSJAccessLevel3319); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getSJAccessLevelAccess().getPRIVATEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_0, grammarAccess.getSJAccessLevelAccess().getPRIVATEEnumLiteralDeclaration_0()); } } } break; case 2 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1500:6: (enumLiteral_1= 'public' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1500:6: (enumLiteral_1= 'public' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1500:8: enumLiteral_1= 'public' { enumLiteral_1=(Token)match(input,34,FOLLOW_34_in_ruleSJAccessLevel3336); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getSJAccessLevelAccess().getPUBLICEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_1, grammarAccess.getSJAccessLevelAccess().getPUBLICEnumLiteralDeclaration_1()); } } } break; case 3 : // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1506:6: (enumLiteral_2= 'protected' ) { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1506:6: (enumLiteral_2= 'protected' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:1506:8: enumLiteral_2= 'protected' { enumLiteral_2=(Token)match(input,35,FOLLOW_35_in_ruleSJAccessLevel3353); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getSJAccessLevelAccess().getPROTECTEDEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_2, grammarAccess.getSJAccessLevelAccess().getPROTECTEDEnumLiteralDeclaration_2()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSJAccessLevel" // $ANTLR start synpred1_InternalSmallJava public final void synpred1_InternalSmallJava_fragment() throws RecognitionException { // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:4: ( 'else' ) // ../org.example.smalljava/src-gen/org/example/smalljava/parser/antlr/internal/InternalSmallJava.g:978:6: 'else' { match(input,26,FOLLOW_26_in_synpred1_InternalSmallJava2140); if (state.failed) return ; } } // $ANTLR end synpred1_InternalSmallJava // Delegated rules public final boolean synpred1_InternalSmallJava() { state.backtracking++; int start = input.mark(); try { synpred1_InternalSmallJava_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } protected DFA8 dfa8 = new DFA8(this); protected DFA14 dfa14 = new DFA14(this); static final String DFA8_eotS = "\12\uffff"; static final String DFA8_eofS = "\12\uffff"; static final String DFA8_minS = "\6\4\1\14\1\4\2\uffff"; static final String DFA8_maxS = "\1\43\3\4\1\17\1\4\1\24\1\17\2\uffff"; static final String DFA8_acceptS = "\10\uffff\1\2\1\1"; static final String DFA8_specialS = "\12\uffff}>"; static final String[] DFA8_transitionS = { "\1\4\34\uffff\1\1\1\2\1\3", "\1\4", "\1\4", "\1\4", "\1\6\12\uffff\1\5", "\1\7", "\1\11\7\uffff\1\10", "\1\6\12\uffff\1\5", "", "" }; static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS); static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS); static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS); static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS); static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS); static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS); static final short[][] DFA8_transition; static { int numStates = DFA8_transitionS.length; DFA8_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]); } } class DFA8 extends DFA { public DFA8(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 8; this.eot = DFA8_eot; this.eof = DFA8_eof; this.min = DFA8_min; this.max = DFA8_max; this.accept = DFA8_accept; this.special = DFA8_special; this.transition = DFA8_transition; } public String getDescription() { return "378:1: (this_SJField_0= ruleSJField | this_SJMethod_1= ruleSJMethod )"; } } static final String DFA14_eotS = "\10\uffff"; static final String DFA14_eofS = "\10\uffff"; static final String DFA14_minS = "\2\4\3\uffff\1\4\1\uffff\1\4"; static final String DFA14_maxS = "\1\40\1\30\3\uffff\1\4\1\uffff\1\30"; static final String DFA14_acceptS = "\2\uffff\1\2\1\3\1\4\1\uffff\1\1\1\uffff"; static final String DFA14_specialS = "\10\uffff}>"; static final String[] DFA14_transitionS = { "\1\1\2\3\15\uffff\1\3\2\uffff\1\2\1\uffff\1\4\1\uffff\6\3", "\1\6\7\uffff\1\3\2\uffff\1\5\10\uffff\1\3", "", "", "", "\1\7", "", "\1\6\7\uffff\1\3\2\uffff\1\5\4\uffff\1\3\3\uffff\1\3" }; static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS); static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS); static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS); static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS); static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS); static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS); static final short[][] DFA14_transition; static { int numStates = DFA14_transitionS.length; DFA14_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]); } } class DFA14 extends DFA { public DFA14(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 14; this.eot = DFA14_eot; this.eof = DFA14_eof; this.min = DFA14_min; this.max = DFA14_max; this.accept = DFA14_accept; this.special = DFA14_special; this.transition = DFA14_transition; } public String getDescription() { return "739:1: (this_SJVariableDeclaration_0= ruleSJVariableDeclaration | this_SJReturn_1= ruleSJReturn | (this_SJExpression_2= ruleSJExpression otherlv_3= ';' ) | this_SJIfStatement_4= ruleSJIfStatement )"; } } public static final BitSet FOLLOW_ruleSJProgram_in_entryRuleSJProgram75 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJProgram85 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_11_in_ruleSJProgram123 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJProgram144 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJProgram156 = new BitSet(new long[]{0x0000000000012002L}); public static final BitSet FOLLOW_ruleSJImport_in_ruleSJProgram179 = new BitSet(new long[]{0x0000000000012002L}); public static final BitSet FOLLOW_ruleSJClass_in_ruleSJProgram201 = new BitSet(new long[]{0x0000000000010002L}); public static final BitSet FOLLOW_ruleSJImport_in_entryRuleSJImport238 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJImport248 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_13_in_ruleSJImport285 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_ruleSJImport306 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJImport318 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard355 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard366 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard413 = new BitSet(new long[]{0x0000000000004002L}); public static final BitSet FOLLOW_14_in_ruleQualifiedNameWithWildcard432 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName475 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName486 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName526 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleQualifiedName545 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName560 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_ruleSJClass_in_entryRuleSJClass607 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJClass617 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_16_in_ruleSJClass654 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJClass671 = new BitSet(new long[]{0x0000000000060000L}); public static final BitSet FOLLOW_17_in_ruleSJClass689 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJClass712 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_18_in_ruleSJClass726 = new BitSet(new long[]{0x0000000E00080010L}); public static final BitSet FOLLOW_ruleSJMember_in_ruleSJClass747 = new BitSet(new long[]{0x0000000E00080010L}); public static final BitSet FOLLOW_19_in_ruleSJClass760 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJMember_in_entryRuleSJMember796 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJMember806 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJField_in_ruleSJMember853 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJMethod_in_ruleSJMember880 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJField_in_entryRuleSJField915 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJField925 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJAccessLevel_in_ruleSJField971 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJField995 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJField1012 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJField1029 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJMethod_in_entryRuleSJMethod1065 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJMethod1075 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJAccessLevel_in_ruleSJMethod1121 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJMethod1145 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJMethod1162 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleSJMethod1179 = new BitSet(new long[]{0x0000000000400010L}); public static final BitSet FOLLOW_ruleSJParameter_in_ruleSJMethod1201 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleSJMethod1214 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleSJParameter_in_ruleSJMethod1235 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleSJMethod1251 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_ruleSJMethodBody_in_ruleSJMethod1272 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJParameter_in_entryRuleSJParameter1308 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJParameter1318 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJParameter1366 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJParameter1383 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJMethodBody_in_entryRuleSJMethodBody1424 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJMethodBody1434 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleSJMethodBody1480 = new BitSet(new long[]{0x00000001FA980070L}); public static final BitSet FOLLOW_ruleSJStatement_in_ruleSJMethodBody1501 = new BitSet(new long[]{0x00000001FA980070L}); public static final BitSet FOLLOW_19_in_ruleSJMethodBody1514 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJStatement_in_entryRuleSJStatement1550 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJStatement1560 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJVariableDeclaration_in_ruleSJStatement1607 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJReturn_in_ruleSJStatement1634 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJStatement1662 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJStatement1673 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJIfStatement_in_ruleSJStatement1702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJReturn_in_entryRuleSJReturn1737 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJReturn1747 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_23_in_ruleSJReturn1784 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJReturn1805 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJReturn1817 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJVariableDeclaration_in_entryRuleSJVariableDeclaration1853 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJVariableDeclaration1863 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJVariableDeclaration1911 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJVariableDeclaration1928 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_24_in_ruleSJVariableDeclaration1945 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJVariableDeclaration1966 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleSJVariableDeclaration1978 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJIfStatement_in_entryRuleSJIfStatement2014 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJIfStatement2024 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_ruleSJIfStatement2061 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleSJIfStatement2073 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJIfStatement2094 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleSJIfStatement2106 = new BitSet(new long[]{0x00000001FA940070L}); public static final BitSet FOLLOW_ruleSJIfBlock_in_ruleSJIfStatement2127 = new BitSet(new long[]{0x0000000004000002L}); public static final BitSet FOLLOW_26_in_ruleSJIfStatement2148 = new BitSet(new long[]{0x00000001FA940070L}); public static final BitSet FOLLOW_ruleSJIfBlock_in_ruleSJIfStatement2170 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJIfBlock_in_entryRuleSJIfBlock2208 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJIfBlock2218 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJStatement_in_ruleSJIfBlock2264 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleSJIfBlock2283 = new BitSet(new long[]{0x00000001FA900070L}); public static final BitSet FOLLOW_ruleSJStatement_in_ruleSJIfBlock2304 = new BitSet(new long[]{0x00000001FA980070L}); public static final BitSet FOLLOW_19_in_ruleSJIfBlock2317 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJExpression_in_entryRuleSJExpression2358 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJExpression2368 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJAssignment_in_ruleSJExpression2414 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJAssignment_in_entryRuleSJAssignment2448 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJAssignment2458 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJSelectionExpression_in_ruleSJAssignment2505 = new BitSet(new long[]{0x0000000001000002L}); public static final BitSet FOLLOW_24_in_ruleSJAssignment2526 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJAssignment2547 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJSelectionExpression_in_entryRuleSJSelectionExpression2585 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJSelectionExpression2595 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSJTerminalExpression_in_ruleSJSelectionExpression2642 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleSJSelectionExpression2663 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJSelectionExpression2683 = new BitSet(new long[]{0x0000000000108002L}); public static final BitSet FOLLOW_20_in_ruleSJSelectionExpression2702 = new BitSet(new long[]{0x00000001F8500070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJSelectionExpression2737 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleSJSelectionExpression2750 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJSelectionExpression2771 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleSJSelectionExpression2787 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_ruleSJTerminalExpression_in_entryRuleSJTerminalExpression2827 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSJTerminalExpression2837 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleSJTerminalExpression2889 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleSJTerminalExpression2928 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_27_in_ruleSJTerminalExpression2970 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_28_in_ruleSJTerminalExpression2999 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_29_in_ruleSJTerminalExpression3044 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_30_in_ruleSJTerminalExpression3073 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_31_in_ruleSJTerminalExpression3102 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ID_in_ruleSJTerminalExpression3139 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_ruleSJTerminalExpression3168 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSJTerminalExpression3191 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleSJTerminalExpression3203 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleSJTerminalExpression3215 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleSJTerminalExpression3235 = new BitSet(new long[]{0x00000001F8100070L}); public static final BitSet FOLLOW_ruleSJExpression_in_ruleSJTerminalExpression3257 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleSJTerminalExpression3268 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_ruleSJAccessLevel3319 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_34_in_ruleSJAccessLevel3336 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_35_in_ruleSJAccessLevel3353 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_26_in_synpred1_InternalSmallJava2140 = new BitSet(new long[]{0x0000000000000002L}); }