package net.certware.argument.sfp.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 net.certware.argument.sfp.services.SemiFormalProofGrammarAccess; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; @SuppressWarnings("all") public class InternalSemiFormalProofParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Theorem'", "':'", "'('", "')'", "','", "'hypothesis'", "'epsilon'", "'->'", "'^'", "'.'", "'{'", "'}'", "'unknown'", "'valid'", "'invalid'" }; public static final int RULE_ID=6; 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__19=19; public static final int RULE_STRING=4; public static final int T__16=16; public static final int T__15=15; 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=5; public static final int RULE_WS=9; // delegates // delegators public InternalSemiFormalProofParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalSemiFormalProofParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalSemiFormalProofParser.tokenNames; } public String getGrammarFileName() { return "../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g"; } private SemiFormalProofGrammarAccess grammarAccess; public InternalSemiFormalProofParser(TokenStream input, SemiFormalProofGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "Proof"; } @Override protected SemiFormalProofGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleProof" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:68:1: entryRuleProof returns [EObject current=null] : iv_ruleProof= ruleProof EOF ; public final EObject entryRuleProof() throws RecognitionException { EObject current = null; EObject iv_ruleProof = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:69:2: (iv_ruleProof= ruleProof EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:70:2: iv_ruleProof= ruleProof EOF { newCompositeNode(grammarAccess.getProofRule()); pushFollow(FOLLOW_ruleProof_in_entryRuleProof75); iv_ruleProof=ruleProof(); state._fsp--; current =iv_ruleProof; match(input,EOF,FOLLOW_EOF_in_entryRuleProof85); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleProof" // $ANTLR start "ruleProof" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:77:1: ruleProof returns [EObject current=null] : (otherlv_0= 'Theorem' otherlv_1= ':' ( (lv_title_2_0= ruleText ) ) otherlv_3= '(' ( (lv_justifications_4_0= ruleJustifications ) ) otherlv_5= ')' ( (lv_proofSteps_6_0= ruleProofSteps ) ) ) ; public final EObject ruleProof() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; AntlrDatatypeRuleToken lv_title_2_0 = null; EObject lv_justifications_4_0 = null; EObject lv_proofSteps_6_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:80:28: ( (otherlv_0= 'Theorem' otherlv_1= ':' ( (lv_title_2_0= ruleText ) ) otherlv_3= '(' ( (lv_justifications_4_0= ruleJustifications ) ) otherlv_5= ')' ( (lv_proofSteps_6_0= ruleProofSteps ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:81:1: (otherlv_0= 'Theorem' otherlv_1= ':' ( (lv_title_2_0= ruleText ) ) otherlv_3= '(' ( (lv_justifications_4_0= ruleJustifications ) ) otherlv_5= ')' ( (lv_proofSteps_6_0= ruleProofSteps ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:81:1: (otherlv_0= 'Theorem' otherlv_1= ':' ( (lv_title_2_0= ruleText ) ) otherlv_3= '(' ( (lv_justifications_4_0= ruleJustifications ) ) otherlv_5= ')' ( (lv_proofSteps_6_0= ruleProofSteps ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:81:3: otherlv_0= 'Theorem' otherlv_1= ':' ( (lv_title_2_0= ruleText ) ) otherlv_3= '(' ( (lv_justifications_4_0= ruleJustifications ) ) otherlv_5= ')' ( (lv_proofSteps_6_0= ruleProofSteps ) ) { otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleProof122); newLeafNode(otherlv_0, grammarAccess.getProofAccess().getTheoremKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_12_in_ruleProof134); newLeafNode(otherlv_1, grammarAccess.getProofAccess().getColonKeyword_1()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:89:1: ( (lv_title_2_0= ruleText ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:90:1: (lv_title_2_0= ruleText ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:90:1: (lv_title_2_0= ruleText ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:91:3: lv_title_2_0= ruleText { newCompositeNode(grammarAccess.getProofAccess().getTitleTextParserRuleCall_2_0()); pushFollow(FOLLOW_ruleText_in_ruleProof155); lv_title_2_0=ruleText(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getProofRule()); } set( current, "title", lv_title_2_0, "Text"); afterParserOrEnumRuleCall(); } } otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleProof167); newLeafNode(otherlv_3, grammarAccess.getProofAccess().getLeftParenthesisKeyword_3()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:111:1: ( (lv_justifications_4_0= ruleJustifications ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:112:1: (lv_justifications_4_0= ruleJustifications ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:112:1: (lv_justifications_4_0= ruleJustifications ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:113:3: lv_justifications_4_0= ruleJustifications { newCompositeNode(grammarAccess.getProofAccess().getJustificationsJustificationsParserRuleCall_4_0()); pushFollow(FOLLOW_ruleJustifications_in_ruleProof188); lv_justifications_4_0=ruleJustifications(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getProofRule()); } set( current, "justifications", lv_justifications_4_0, "Justifications"); afterParserOrEnumRuleCall(); } } otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleProof200); newLeafNode(otherlv_5, grammarAccess.getProofAccess().getRightParenthesisKeyword_5()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:133:1: ( (lv_proofSteps_6_0= ruleProofSteps ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:134:1: (lv_proofSteps_6_0= ruleProofSteps ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:134:1: (lv_proofSteps_6_0= ruleProofSteps ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:135:3: lv_proofSteps_6_0= ruleProofSteps { newCompositeNode(grammarAccess.getProofAccess().getProofStepsProofStepsParserRuleCall_6_0()); pushFollow(FOLLOW_ruleProofSteps_in_ruleProof221); lv_proofSteps_6_0=ruleProofSteps(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getProofRule()); } set( current, "proofSteps", lv_proofSteps_6_0, "ProofSteps"); afterParserOrEnumRuleCall(); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleProof" // $ANTLR start "entryRuleText" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:159:1: entryRuleText returns [String current=null] : iv_ruleText= ruleText EOF ; public final String entryRuleText() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleText = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:160:2: (iv_ruleText= ruleText EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:161:2: iv_ruleText= ruleText EOF { newCompositeNode(grammarAccess.getTextRule()); pushFollow(FOLLOW_ruleText_in_entryRuleText258); iv_ruleText=ruleText(); state._fsp--; current =iv_ruleText.getText(); match(input,EOF,FOLLOW_EOF_in_entryRuleText269); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleText" // $ANTLR start "ruleText" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:168:1: ruleText returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ; public final AntlrDatatypeRuleToken ruleText() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_STRING_0=null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:171:28: (this_STRING_0= RULE_STRING ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:172:5: this_STRING_0= RULE_STRING { this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleText308); current.merge(this_STRING_0); newLeafNode(this_STRING_0, grammarAccess.getTextAccess().getSTRINGTerminalRuleCall()); } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleText" // $ANTLR start "entryRuleJustifications" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:187:1: entryRuleJustifications returns [EObject current=null] : iv_ruleJustifications= ruleJustifications EOF ; public final EObject entryRuleJustifications() throws RecognitionException { EObject current = null; EObject iv_ruleJustifications = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:188:2: (iv_ruleJustifications= ruleJustifications EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:189:2: iv_ruleJustifications= ruleJustifications EOF { newCompositeNode(grammarAccess.getJustificationsRule()); pushFollow(FOLLOW_ruleJustifications_in_entryRuleJustifications352); iv_ruleJustifications=ruleJustifications(); state._fsp--; current =iv_ruleJustifications; match(input,EOF,FOLLOW_EOF_in_entryRuleJustifications362); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJustifications" // $ANTLR start "ruleJustifications" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:196:1: ruleJustifications returns [EObject current=null] : ( () ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? ) ; public final EObject ruleJustifications() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject lv_justifications_1_0 = null; EObject lv_justifications_3_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:199:28: ( ( () ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:200:1: ( () ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:200:1: ( () ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:200:2: () ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:200:2: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:201:5: { current = forceCreateModelElement( grammarAccess.getJustificationsAccess().getJustificationsAction_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:206:2: ( ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* )? int alt2=2; int LA2_0 = input.LA(1); if ( ((LA2_0>=RULE_STRING && LA2_0<=RULE_INT)||(LA2_0>=16 && LA2_0<=17)) ) { alt2=1; } switch (alt2) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:206:3: ( (lv_justifications_1_0= ruleJustification ) ) (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:206:3: ( (lv_justifications_1_0= ruleJustification ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:207:1: (lv_justifications_1_0= ruleJustification ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:207:1: (lv_justifications_1_0= ruleJustification ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:208:3: lv_justifications_1_0= ruleJustification { newCompositeNode(grammarAccess.getJustificationsAccess().getJustificationsJustificationParserRuleCall_1_0_0()); pushFollow(FOLLOW_ruleJustification_in_ruleJustifications418); lv_justifications_1_0=ruleJustification(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJustificationsRule()); } add( current, "justifications", lv_justifications_1_0, "Justification"); afterParserOrEnumRuleCall(); } } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:224:2: (otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==15) ) { alt1=1; } switch (alt1) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:224:4: otherlv_2= ',' ( (lv_justifications_3_0= ruleJustification ) ) { otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleJustifications431); newLeafNode(otherlv_2, grammarAccess.getJustificationsAccess().getCommaKeyword_1_1_0()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:228:1: ( (lv_justifications_3_0= ruleJustification ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:229:1: (lv_justifications_3_0= ruleJustification ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:229:1: (lv_justifications_3_0= ruleJustification ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:230:3: lv_justifications_3_0= ruleJustification { newCompositeNode(grammarAccess.getJustificationsAccess().getJustificationsJustificationParserRuleCall_1_1_1_0()); pushFollow(FOLLOW_ruleJustification_in_ruleJustifications452); lv_justifications_3_0=ruleJustification(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJustificationsRule()); } add( current, "justifications", lv_justifications_3_0, "Justification"); afterParserOrEnumRuleCall(); } } } break; default : break loop1; } } while (true); } break; } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJustifications" // $ANTLR start "entryRuleJustification" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:254:1: entryRuleJustification returns [EObject current=null] : iv_ruleJustification= ruleJustification EOF ; public final EObject entryRuleJustification() throws RecognitionException { EObject current = null; EObject iv_ruleJustification = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:255:2: (iv_ruleJustification= ruleJustification EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:256:2: iv_ruleJustification= ruleJustification EOF { newCompositeNode(grammarAccess.getJustificationRule()); pushFollow(FOLLOW_ruleJustification_in_entryRuleJustification492); iv_ruleJustification=ruleJustification(); state._fsp--; current =iv_ruleJustification; match(input,EOF,FOLLOW_EOF_in_entryRuleJustification502); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJustification" // $ANTLR start "ruleJustification" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:263:1: ruleJustification returns [EObject current=null] : ( ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) | ( (lv_epsilon_2_0= 'epsilon' ) ) | ( (lv_numeral_3_0= ruleNumeral ) ) | ( (lv_assertion_4_0= ruleQuotedAssertion ) ) | ( (lv_entailment_5_0= ruleEntailment ) ) ) ; public final EObject ruleJustification() throws RecognitionException { EObject current = null; Token lv_hypothesis_1_0=null; Token lv_epsilon_2_0=null; AntlrDatatypeRuleToken lv_numeral_3_0 = null; EObject lv_assertion_4_0 = null; EObject lv_entailment_5_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:266:28: ( ( ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) | ( (lv_epsilon_2_0= 'epsilon' ) ) | ( (lv_numeral_3_0= ruleNumeral ) ) | ( (lv_assertion_4_0= ruleQuotedAssertion ) ) | ( (lv_entailment_5_0= ruleEntailment ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:1: ( ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) | ( (lv_epsilon_2_0= 'epsilon' ) ) | ( (lv_numeral_3_0= ruleNumeral ) ) | ( (lv_assertion_4_0= ruleQuotedAssertion ) ) | ( (lv_entailment_5_0= ruleEntailment ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:1: ( ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) | ( (lv_epsilon_2_0= 'epsilon' ) ) | ( (lv_numeral_3_0= ruleNumeral ) ) | ( (lv_assertion_4_0= ruleQuotedAssertion ) ) | ( (lv_entailment_5_0= ruleEntailment ) ) ) int alt3=5; switch ( input.LA(1) ) { case 16: { alt3=1; } break; case 17: { alt3=2; } break; case RULE_INT: { int LA3_3 = input.LA(2); if ( ((LA3_3>=18 && LA3_3<=19)) ) { alt3=5; } else if ( (LA3_3==EOF||(LA3_3>=14 && LA3_3<=15)) ) { alt3=3; } else { NoViableAltException nvae = new NoViableAltException("", 3, 3, input); throw nvae; } } break; case RULE_STRING: { alt3=4; } break; default: NoViableAltException nvae = new NoViableAltException("", 3, 0, input); throw nvae; } switch (alt3) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:2: ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:2: ( () ( (lv_hypothesis_1_0= 'hypothesis' ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:3: () ( (lv_hypothesis_1_0= 'hypothesis' ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:267:3: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:268:5: { current = forceCreateModelElement( grammarAccess.getJustificationAccess().getJustificationAction_0_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:273:2: ( (lv_hypothesis_1_0= 'hypothesis' ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:274:1: (lv_hypothesis_1_0= 'hypothesis' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:274:1: (lv_hypothesis_1_0= 'hypothesis' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:275:3: lv_hypothesis_1_0= 'hypothesis' { lv_hypothesis_1_0=(Token)match(input,16,FOLLOW_16_in_ruleJustification555); newLeafNode(lv_hypothesis_1_0, grammarAccess.getJustificationAccess().getHypothesisHypothesisKeyword_0_1_0()); if (current==null) { current = createModelElement(grammarAccess.getJustificationRule()); } setWithLastConsumed(current, "hypothesis", true, "hypothesis"); } } } } break; case 2 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:289:6: ( (lv_epsilon_2_0= 'epsilon' ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:289:6: ( (lv_epsilon_2_0= 'epsilon' ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:290:1: (lv_epsilon_2_0= 'epsilon' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:290:1: (lv_epsilon_2_0= 'epsilon' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:291:3: lv_epsilon_2_0= 'epsilon' { lv_epsilon_2_0=(Token)match(input,17,FOLLOW_17_in_ruleJustification593); newLeafNode(lv_epsilon_2_0, grammarAccess.getJustificationAccess().getEpsilonEpsilonKeyword_1_0()); if (current==null) { current = createModelElement(grammarAccess.getJustificationRule()); } setWithLastConsumed(current, "epsilon", true, "epsilon"); } } } break; case 3 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:305:6: ( (lv_numeral_3_0= ruleNumeral ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:305:6: ( (lv_numeral_3_0= ruleNumeral ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:306:1: (lv_numeral_3_0= ruleNumeral ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:306:1: (lv_numeral_3_0= ruleNumeral ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:307:3: lv_numeral_3_0= ruleNumeral { newCompositeNode(grammarAccess.getJustificationAccess().getNumeralNumeralParserRuleCall_2_0()); pushFollow(FOLLOW_ruleNumeral_in_ruleJustification633); lv_numeral_3_0=ruleNumeral(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJustificationRule()); } set( current, "numeral", lv_numeral_3_0, "Numeral"); afterParserOrEnumRuleCall(); } } } break; case 4 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:324:6: ( (lv_assertion_4_0= ruleQuotedAssertion ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:324:6: ( (lv_assertion_4_0= ruleQuotedAssertion ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:325:1: (lv_assertion_4_0= ruleQuotedAssertion ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:325:1: (lv_assertion_4_0= ruleQuotedAssertion ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:326:3: lv_assertion_4_0= ruleQuotedAssertion { newCompositeNode(grammarAccess.getJustificationAccess().getAssertionQuotedAssertionParserRuleCall_3_0()); pushFollow(FOLLOW_ruleQuotedAssertion_in_ruleJustification660); lv_assertion_4_0=ruleQuotedAssertion(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJustificationRule()); } set( current, "assertion", lv_assertion_4_0, "QuotedAssertion"); afterParserOrEnumRuleCall(); } } } break; case 5 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:343:6: ( (lv_entailment_5_0= ruleEntailment ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:343:6: ( (lv_entailment_5_0= ruleEntailment ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:344:1: (lv_entailment_5_0= ruleEntailment ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:344:1: (lv_entailment_5_0= ruleEntailment ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:345:3: lv_entailment_5_0= ruleEntailment { newCompositeNode(grammarAccess.getJustificationAccess().getEntailmentEntailmentParserRuleCall_4_0()); pushFollow(FOLLOW_ruleEntailment_in_ruleJustification687); lv_entailment_5_0=ruleEntailment(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJustificationRule()); } set( current, "entailment", lv_entailment_5_0, "Entailment"); afterParserOrEnumRuleCall(); } } } break; } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJustification" // $ANTLR start "entryRuleQuotedAssertion" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:369:1: entryRuleQuotedAssertion returns [EObject current=null] : iv_ruleQuotedAssertion= ruleQuotedAssertion EOF ; public final EObject entryRuleQuotedAssertion() throws RecognitionException { EObject current = null; EObject iv_ruleQuotedAssertion = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:370:2: (iv_ruleQuotedAssertion= ruleQuotedAssertion EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:371:2: iv_ruleQuotedAssertion= ruleQuotedAssertion EOF { newCompositeNode(grammarAccess.getQuotedAssertionRule()); pushFollow(FOLLOW_ruleQuotedAssertion_in_entryRuleQuotedAssertion723); iv_ruleQuotedAssertion=ruleQuotedAssertion(); state._fsp--; current =iv_ruleQuotedAssertion; match(input,EOF,FOLLOW_EOF_in_entryRuleQuotedAssertion733); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQuotedAssertion" // $ANTLR start "ruleQuotedAssertion" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:378:1: ruleQuotedAssertion returns [EObject current=null] : ( () ( (lv_text_1_0= ruleText ) ) ) ; public final EObject ruleQuotedAssertion() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_text_1_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:381:28: ( ( () ( (lv_text_1_0= ruleText ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:382:1: ( () ( (lv_text_1_0= ruleText ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:382:1: ( () ( (lv_text_1_0= ruleText ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:382:2: () ( (lv_text_1_0= ruleText ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:382:2: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:383:5: { current = forceCreateModelElement( grammarAccess.getQuotedAssertionAccess().getQuotedAssertionAction_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:388:2: ( (lv_text_1_0= ruleText ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:389:1: (lv_text_1_0= ruleText ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:389:1: (lv_text_1_0= ruleText ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:390:3: lv_text_1_0= ruleText { newCompositeNode(grammarAccess.getQuotedAssertionAccess().getTextTextParserRuleCall_1_0()); pushFollow(FOLLOW_ruleText_in_ruleQuotedAssertion788); lv_text_1_0=ruleText(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getQuotedAssertionRule()); } set( current, "text", lv_text_1_0, "Text"); afterParserOrEnumRuleCall(); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQuotedAssertion" // $ANTLR start "entryRuleEntailment" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:414:1: entryRuleEntailment returns [EObject current=null] : iv_ruleEntailment= ruleEntailment EOF ; public final EObject entryRuleEntailment() throws RecognitionException { EObject current = null; EObject iv_ruleEntailment = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:415:2: (iv_ruleEntailment= ruleEntailment EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:416:2: iv_ruleEntailment= ruleEntailment EOF { newCompositeNode(grammarAccess.getEntailmentRule()); pushFollow(FOLLOW_ruleEntailment_in_entryRuleEntailment824); iv_ruleEntailment=ruleEntailment(); state._fsp--; current =iv_ruleEntailment; match(input,EOF,FOLLOW_EOF_in_entryRuleEntailment834); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEntailment" // $ANTLR start "ruleEntailment" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:423:1: ruleEntailment returns [EObject current=null] : ( () ( (lv_head_1_0= ruleConjunction ) ) otherlv_2= '->' ( (lv_tail_3_0= ruleNumeral ) ) ) ; public final EObject ruleEntailment() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject lv_head_1_0 = null; AntlrDatatypeRuleToken lv_tail_3_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:426:28: ( ( () ( (lv_head_1_0= ruleConjunction ) ) otherlv_2= '->' ( (lv_tail_3_0= ruleNumeral ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:427:1: ( () ( (lv_head_1_0= ruleConjunction ) ) otherlv_2= '->' ( (lv_tail_3_0= ruleNumeral ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:427:1: ( () ( (lv_head_1_0= ruleConjunction ) ) otherlv_2= '->' ( (lv_tail_3_0= ruleNumeral ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:427:2: () ( (lv_head_1_0= ruleConjunction ) ) otherlv_2= '->' ( (lv_tail_3_0= ruleNumeral ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:427:2: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:428:5: { current = forceCreateModelElement( grammarAccess.getEntailmentAccess().getEntailmentAction_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:433:2: ( (lv_head_1_0= ruleConjunction ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:434:1: (lv_head_1_0= ruleConjunction ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:434:1: (lv_head_1_0= ruleConjunction ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:435:3: lv_head_1_0= ruleConjunction { newCompositeNode(grammarAccess.getEntailmentAccess().getHeadConjunctionParserRuleCall_1_0()); pushFollow(FOLLOW_ruleConjunction_in_ruleEntailment889); lv_head_1_0=ruleConjunction(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getEntailmentRule()); } set( current, "head", lv_head_1_0, "Conjunction"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleEntailment901); newLeafNode(otherlv_2, grammarAccess.getEntailmentAccess().getHyphenMinusGreaterThanSignKeyword_2()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:455:1: ( (lv_tail_3_0= ruleNumeral ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:456:1: (lv_tail_3_0= ruleNumeral ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:456:1: (lv_tail_3_0= ruleNumeral ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:457:3: lv_tail_3_0= ruleNumeral { newCompositeNode(grammarAccess.getEntailmentAccess().getTailNumeralParserRuleCall_3_0()); pushFollow(FOLLOW_ruleNumeral_in_ruleEntailment922); lv_tail_3_0=ruleNumeral(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getEntailmentRule()); } set( current, "tail", lv_tail_3_0, "Numeral"); afterParserOrEnumRuleCall(); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEntailment" // $ANTLR start "entryRuleConjunction" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:481:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; public final EObject entryRuleConjunction() throws RecognitionException { EObject current = null; EObject iv_ruleConjunction = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:482:2: (iv_ruleConjunction= ruleConjunction EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:483:2: iv_ruleConjunction= ruleConjunction EOF { newCompositeNode(grammarAccess.getConjunctionRule()); pushFollow(FOLLOW_ruleConjunction_in_entryRuleConjunction958); iv_ruleConjunction=ruleConjunction(); state._fsp--; current =iv_ruleConjunction; match(input,EOF,FOLLOW_EOF_in_entryRuleConjunction968); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleConjunction" // $ANTLR start "ruleConjunction" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:490:1: ruleConjunction returns [EObject current=null] : ( ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) | ( (lv_lhs_4_0= ruleNumeral ) ) ) ; public final EObject ruleConjunction() throws RecognitionException { EObject current = null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_lhs_1_0 = null; EObject lv_rhs_3_0 = null; AntlrDatatypeRuleToken lv_lhs_4_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:493:28: ( ( ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) | ( (lv_lhs_4_0= ruleNumeral ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:1: ( ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) | ( (lv_lhs_4_0= ruleNumeral ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:1: ( ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) | ( (lv_lhs_4_0= ruleNumeral ) ) ) int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==RULE_INT) ) { int LA4_1 = input.LA(2); if ( (LA4_1==EOF||LA4_1==18) ) { alt4=2; } else if ( (LA4_1==19) ) { alt4=1; } else { NoViableAltException nvae = new NoViableAltException("", 4, 1, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 4, 0, input); throw nvae; } switch (alt4) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:2: ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:2: ( () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:3: () ( (lv_lhs_1_0= ruleNumeral ) ) otherlv_2= '^' ( (lv_rhs_3_0= ruleConjunction ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:494:3: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:495:5: { current = forceCreateModelElement( grammarAccess.getConjunctionAccess().getConjunctionAction_0_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:500:2: ( (lv_lhs_1_0= ruleNumeral ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:501:1: (lv_lhs_1_0= ruleNumeral ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:501:1: (lv_lhs_1_0= ruleNumeral ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:502:3: lv_lhs_1_0= ruleNumeral { newCompositeNode(grammarAccess.getConjunctionAccess().getLhsNumeralParserRuleCall_0_1_0()); pushFollow(FOLLOW_ruleNumeral_in_ruleConjunction1024); lv_lhs_1_0=ruleNumeral(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConjunctionRule()); } set( current, "lhs", lv_lhs_1_0, "Numeral"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleConjunction1036); newLeafNode(otherlv_2, grammarAccess.getConjunctionAccess().getCircumflexAccentKeyword_0_2()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:522:1: ( (lv_rhs_3_0= ruleConjunction ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:523:1: (lv_rhs_3_0= ruleConjunction ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:523:1: (lv_rhs_3_0= ruleConjunction ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:524:3: lv_rhs_3_0= ruleConjunction { newCompositeNode(grammarAccess.getConjunctionAccess().getRhsConjunctionParserRuleCall_0_3_0()); pushFollow(FOLLOW_ruleConjunction_in_ruleConjunction1057); lv_rhs_3_0=ruleConjunction(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConjunctionRule()); } set( current, "rhs", lv_rhs_3_0, "Conjunction"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:541:6: ( (lv_lhs_4_0= ruleNumeral ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:541:6: ( (lv_lhs_4_0= ruleNumeral ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:542:1: (lv_lhs_4_0= ruleNumeral ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:542:1: (lv_lhs_4_0= ruleNumeral ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:543:3: lv_lhs_4_0= ruleNumeral { newCompositeNode(grammarAccess.getConjunctionAccess().getLhsNumeralParserRuleCall_1_0()); pushFollow(FOLLOW_ruleNumeral_in_ruleConjunction1085); lv_lhs_4_0=ruleNumeral(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConjunctionRule()); } set( current, "lhs", lv_lhs_4_0, "Numeral"); afterParserOrEnumRuleCall(); } } } break; } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleConjunction" // $ANTLR start "entryRuleNumeral" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:567:1: entryRuleNumeral returns [String current=null] : iv_ruleNumeral= ruleNumeral EOF ; public final String entryRuleNumeral() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleNumeral = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:568:2: (iv_ruleNumeral= ruleNumeral EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:569:2: iv_ruleNumeral= ruleNumeral EOF { newCompositeNode(grammarAccess.getNumeralRule()); pushFollow(FOLLOW_ruleNumeral_in_entryRuleNumeral1122); iv_ruleNumeral=ruleNumeral(); state._fsp--; current =iv_ruleNumeral.getText(); match(input,EOF,FOLLOW_EOF_in_entryRuleNumeral1133); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNumeral" // $ANTLR start "ruleNumeral" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:576:1: ruleNumeral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ; public final AntlrDatatypeRuleToken ruleNumeral() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_INT_0=null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:579:28: (this_INT_0= RULE_INT ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:580:5: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleNumeral1172); current.merge(this_INT_0); newLeafNode(this_INT_0, grammarAccess.getNumeralAccess().getINTTerminalRuleCall()); } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNumeral" // $ANTLR start "entryRuleProofSteps" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:595:1: entryRuleProofSteps returns [EObject current=null] : iv_ruleProofSteps= ruleProofSteps EOF ; public final EObject entryRuleProofSteps() throws RecognitionException { EObject current = null; EObject iv_ruleProofSteps = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:596:2: (iv_ruleProofSteps= ruleProofSteps EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:597:2: iv_ruleProofSteps= ruleProofSteps EOF { newCompositeNode(grammarAccess.getProofStepsRule()); pushFollow(FOLLOW_ruleProofSteps_in_entryRuleProofSteps1216); iv_ruleProofSteps=ruleProofSteps(); state._fsp--; current =iv_ruleProofSteps; match(input,EOF,FOLLOW_EOF_in_entryRuleProofSteps1226); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleProofSteps" // $ANTLR start "ruleProofSteps" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:604:1: ruleProofSteps returns [EObject current=null] : ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) | ( (lv_epsilon_3_0= 'epsilon' ) ) ) ; public final EObject ruleProofSteps() throws RecognitionException { EObject current = null; Token lv_epsilon_3_0=null; EObject lv_statements_1_0 = null; EObject lv_statements_2_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:607:28: ( ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) | ( (lv_epsilon_3_0= 'epsilon' ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:1: ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) | ( (lv_epsilon_3_0= 'epsilon' ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:1: ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) | ( (lv_epsilon_3_0= 'epsilon' ) ) ) int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==EOF||LA7_0==RULE_INT) ) { alt7=1; } else if ( (LA7_0==17) ) { alt7=2; } else { NoViableAltException nvae = new NoViableAltException("", 7, 0, input); throw nvae; } switch (alt7) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:2: ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:2: ( () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:3: () ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:608:3: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:609:5: { current = forceCreateModelElement( grammarAccess.getProofStepsAccess().getProofStepsAction_0_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:614:2: ( ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==RULE_INT) ) { alt6=1; } switch (alt6) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:614:3: ( (lv_statements_1_0= ruleStatement ) ) ( (lv_statements_2_0= ruleStatement ) )* { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:614:3: ( (lv_statements_1_0= ruleStatement ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:615:1: (lv_statements_1_0= ruleStatement ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:615:1: (lv_statements_1_0= ruleStatement ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:616:3: lv_statements_1_0= ruleStatement { newCompositeNode(grammarAccess.getProofStepsAccess().getStatementsStatementParserRuleCall_0_1_0_0()); pushFollow(FOLLOW_ruleStatement_in_ruleProofSteps1283); lv_statements_1_0=ruleStatement(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getProofStepsRule()); } add( current, "statements", lv_statements_1_0, "Statement"); afterParserOrEnumRuleCall(); } } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:632:2: ( (lv_statements_2_0= ruleStatement ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==RULE_INT) ) { alt5=1; } switch (alt5) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:633:1: (lv_statements_2_0= ruleStatement ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:633:1: (lv_statements_2_0= ruleStatement ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:634:3: lv_statements_2_0= ruleStatement { newCompositeNode(grammarAccess.getProofStepsAccess().getStatementsStatementParserRuleCall_0_1_1_0()); pushFollow(FOLLOW_ruleStatement_in_ruleProofSteps1304); lv_statements_2_0=ruleStatement(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getProofStepsRule()); } add( current, "statements", lv_statements_2_0, "Statement"); afterParserOrEnumRuleCall(); } } break; default : break loop5; } } while (true); } break; } } } break; case 2 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:651:6: ( (lv_epsilon_3_0= 'epsilon' ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:651:6: ( (lv_epsilon_3_0= 'epsilon' ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:652:1: (lv_epsilon_3_0= 'epsilon' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:652:1: (lv_epsilon_3_0= 'epsilon' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:653:3: lv_epsilon_3_0= 'epsilon' { lv_epsilon_3_0=(Token)match(input,17,FOLLOW_17_in_ruleProofSteps1332); newLeafNode(lv_epsilon_3_0, grammarAccess.getProofStepsAccess().getEpsilonEpsilonKeyword_1_0()); if (current==null) { current = createModelElement(grammarAccess.getProofStepsRule()); } setWithLastConsumed(current, "epsilon", true, "epsilon"); } } } break; } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleProofSteps" // $ANTLR start "entryRuleStatement" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:674:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; public final EObject entryRuleStatement() throws RecognitionException { EObject current = null; EObject iv_ruleStatement = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:675:2: (iv_ruleStatement= ruleStatement EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:676:2: iv_ruleStatement= ruleStatement EOF { newCompositeNode(grammarAccess.getStatementRule()); pushFollow(FOLLOW_ruleStatement_in_entryRuleStatement1381); iv_ruleStatement=ruleStatement(); state._fsp--; current =iv_ruleStatement; match(input,EOF,FOLLOW_EOF_in_entryRuleStatement1391); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement" // $ANTLR start "ruleStatement" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:683:1: ruleStatement returns [EObject current=null] : ( () ( (lv_id_1_0= ruleNumeral ) ) otherlv_2= '.' ( (lv_statement_3_0= ruleText ) ) otherlv_4= '(' ( (lv_justification_5_0= ruleJustifications ) ) otherlv_6= ')' (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_9=null; AntlrDatatypeRuleToken lv_id_1_0 = null; AntlrDatatypeRuleToken lv_statement_3_0 = null; EObject lv_justification_5_0 = null; EObject lv_validation_8_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:686:28: ( ( () ( (lv_id_1_0= ruleNumeral ) ) otherlv_2= '.' ( (lv_statement_3_0= ruleText ) ) otherlv_4= '(' ( (lv_justification_5_0= ruleJustifications ) ) otherlv_6= ')' (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:687:1: ( () ( (lv_id_1_0= ruleNumeral ) ) otherlv_2= '.' ( (lv_statement_3_0= ruleText ) ) otherlv_4= '(' ( (lv_justification_5_0= ruleJustifications ) ) otherlv_6= ')' (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:687:1: ( () ( (lv_id_1_0= ruleNumeral ) ) otherlv_2= '.' ( (lv_statement_3_0= ruleText ) ) otherlv_4= '(' ( (lv_justification_5_0= ruleJustifications ) ) otherlv_6= ')' (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:687:2: () ( (lv_id_1_0= ruleNumeral ) ) otherlv_2= '.' ( (lv_statement_3_0= ruleText ) ) otherlv_4= '(' ( (lv_justification_5_0= ruleJustifications ) ) otherlv_6= ')' (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:687:2: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:688:5: { current = forceCreateModelElement( grammarAccess.getStatementAccess().getStatementAction_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:693:2: ( (lv_id_1_0= ruleNumeral ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:694:1: (lv_id_1_0= ruleNumeral ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:694:1: (lv_id_1_0= ruleNumeral ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:695:3: lv_id_1_0= ruleNumeral { newCompositeNode(grammarAccess.getStatementAccess().getIdNumeralParserRuleCall_1_0()); pushFollow(FOLLOW_ruleNumeral_in_ruleStatement1446); lv_id_1_0=ruleNumeral(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getStatementRule()); } set( current, "id", lv_id_1_0, "Numeral"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleStatement1458); newLeafNode(otherlv_2, grammarAccess.getStatementAccess().getFullStopKeyword_2()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:715:1: ( (lv_statement_3_0= ruleText ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:716:1: (lv_statement_3_0= ruleText ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:716:1: (lv_statement_3_0= ruleText ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:717:3: lv_statement_3_0= ruleText { newCompositeNode(grammarAccess.getStatementAccess().getStatementTextParserRuleCall_3_0()); pushFollow(FOLLOW_ruleText_in_ruleStatement1479); lv_statement_3_0=ruleText(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getStatementRule()); } set( current, "statement", lv_statement_3_0, "Text"); afterParserOrEnumRuleCall(); } } otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleStatement1491); newLeafNode(otherlv_4, grammarAccess.getStatementAccess().getLeftParenthesisKeyword_4()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:737:1: ( (lv_justification_5_0= ruleJustifications ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:738:1: (lv_justification_5_0= ruleJustifications ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:738:1: (lv_justification_5_0= ruleJustifications ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:739:3: lv_justification_5_0= ruleJustifications { newCompositeNode(grammarAccess.getStatementAccess().getJustificationJustificationsParserRuleCall_5_0()); pushFollow(FOLLOW_ruleJustifications_in_ruleStatement1512); lv_justification_5_0=ruleJustifications(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getStatementRule()); } set( current, "justification", lv_justification_5_0, "Justifications"); afterParserOrEnumRuleCall(); } } otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleStatement1524); newLeafNode(otherlv_6, grammarAccess.getStatementAccess().getRightParenthesisKeyword_6()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:759:1: (otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' )? int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==21) ) { alt8=1; } switch (alt8) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:759:3: otherlv_7= '{' ( (lv_validation_8_0= ruleValidation ) ) otherlv_9= '}' { otherlv_7=(Token)match(input,21,FOLLOW_21_in_ruleStatement1537); newLeafNode(otherlv_7, grammarAccess.getStatementAccess().getLeftCurlyBracketKeyword_7_0()); // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:763:1: ( (lv_validation_8_0= ruleValidation ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:764:1: (lv_validation_8_0= ruleValidation ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:764:1: (lv_validation_8_0= ruleValidation ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:765:3: lv_validation_8_0= ruleValidation { newCompositeNode(grammarAccess.getStatementAccess().getValidationValidationParserRuleCall_7_1_0()); pushFollow(FOLLOW_ruleValidation_in_ruleStatement1558); lv_validation_8_0=ruleValidation(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getStatementRule()); } set( current, "validation", lv_validation_8_0, "Validation"); afterParserOrEnumRuleCall(); } } otherlv_9=(Token)match(input,22,FOLLOW_22_in_ruleStatement1570); newLeafNode(otherlv_9, grammarAccess.getStatementAccess().getRightCurlyBracketKeyword_7_2()); } break; } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement" // $ANTLR start "entryRuleValidation" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:793:1: entryRuleValidation returns [EObject current=null] : iv_ruleValidation= ruleValidation EOF ; public final EObject entryRuleValidation() throws RecognitionException { EObject current = null; EObject iv_ruleValidation = null; try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:794:2: (iv_ruleValidation= ruleValidation EOF ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:795:2: iv_ruleValidation= ruleValidation EOF { newCompositeNode(grammarAccess.getValidationRule()); pushFollow(FOLLOW_ruleValidation_in_entryRuleValidation1608); iv_ruleValidation=ruleValidation(); state._fsp--; current =iv_ruleValidation; match(input,EOF,FOLLOW_EOF_in_entryRuleValidation1618); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleValidation" // $ANTLR start "ruleValidation" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:802:1: ruleValidation returns [EObject current=null] : ( () ( (lv_author_1_0= ruleText ) ) ( (lv_timeStamp_2_0= ruleText ) )? ( (lv_state_3_0= ruleValidationKind ) ) ) ; public final EObject ruleValidation() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_author_1_0 = null; AntlrDatatypeRuleToken lv_timeStamp_2_0 = null; Enumerator lv_state_3_0 = null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:805:28: ( ( () ( (lv_author_1_0= ruleText ) ) ( (lv_timeStamp_2_0= ruleText ) )? ( (lv_state_3_0= ruleValidationKind ) ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:806:1: ( () ( (lv_author_1_0= ruleText ) ) ( (lv_timeStamp_2_0= ruleText ) )? ( (lv_state_3_0= ruleValidationKind ) ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:806:1: ( () ( (lv_author_1_0= ruleText ) ) ( (lv_timeStamp_2_0= ruleText ) )? ( (lv_state_3_0= ruleValidationKind ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:806:2: () ( (lv_author_1_0= ruleText ) ) ( (lv_timeStamp_2_0= ruleText ) )? ( (lv_state_3_0= ruleValidationKind ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:806:2: () // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:807:5: { current = forceCreateModelElement( grammarAccess.getValidationAccess().getValidationAction_0(), current); } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:812:2: ( (lv_author_1_0= ruleText ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:813:1: (lv_author_1_0= ruleText ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:813:1: (lv_author_1_0= ruleText ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:814:3: lv_author_1_0= ruleText { newCompositeNode(grammarAccess.getValidationAccess().getAuthorTextParserRuleCall_1_0()); pushFollow(FOLLOW_ruleText_in_ruleValidation1673); lv_author_1_0=ruleText(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getValidationRule()); } set( current, "author", lv_author_1_0, "Text"); afterParserOrEnumRuleCall(); } } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:830:2: ( (lv_timeStamp_2_0= ruleText ) )? int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==RULE_STRING) ) { alt9=1; } switch (alt9) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:831:1: (lv_timeStamp_2_0= ruleText ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:831:1: (lv_timeStamp_2_0= ruleText ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:832:3: lv_timeStamp_2_0= ruleText { newCompositeNode(grammarAccess.getValidationAccess().getTimeStampTextParserRuleCall_2_0()); pushFollow(FOLLOW_ruleText_in_ruleValidation1694); lv_timeStamp_2_0=ruleText(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getValidationRule()); } set( current, "timeStamp", lv_timeStamp_2_0, "Text"); afterParserOrEnumRuleCall(); } } break; } // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:848:3: ( (lv_state_3_0= ruleValidationKind ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:849:1: (lv_state_3_0= ruleValidationKind ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:849:1: (lv_state_3_0= ruleValidationKind ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:850:3: lv_state_3_0= ruleValidationKind { newCompositeNode(grammarAccess.getValidationAccess().getStateValidationKindEnumRuleCall_3_0()); pushFollow(FOLLOW_ruleValidationKind_in_ruleValidation1716); lv_state_3_0=ruleValidationKind(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getValidationRule()); } set( current, "state", lv_state_3_0, "ValidationKind"); afterParserOrEnumRuleCall(); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidation" // $ANTLR start "ruleValidationKind" // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:874:1: ruleValidationKind returns [Enumerator current=null] : ( (enumLiteral_0= 'unknown' ) | (enumLiteral_1= 'valid' ) | (enumLiteral_2= 'invalid' ) ) ; public final Enumerator ruleValidationKind() throws RecognitionException { Enumerator current = null; Token enumLiteral_0=null; Token enumLiteral_1=null; Token enumLiteral_2=null; enterRule(); try { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:876:28: ( ( (enumLiteral_0= 'unknown' ) | (enumLiteral_1= 'valid' ) | (enumLiteral_2= 'invalid' ) ) ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:877:1: ( (enumLiteral_0= 'unknown' ) | (enumLiteral_1= 'valid' ) | (enumLiteral_2= 'invalid' ) ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:877:1: ( (enumLiteral_0= 'unknown' ) | (enumLiteral_1= 'valid' ) | (enumLiteral_2= 'invalid' ) ) int alt10=3; switch ( input.LA(1) ) { case 23: { alt10=1; } break; case 24: { alt10=2; } break; case 25: { alt10=3; } break; default: NoViableAltException nvae = new NoViableAltException("", 10, 0, input); throw nvae; } switch (alt10) { case 1 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:877:2: (enumLiteral_0= 'unknown' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:877:2: (enumLiteral_0= 'unknown' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:877:4: enumLiteral_0= 'unknown' { enumLiteral_0=(Token)match(input,23,FOLLOW_23_in_ruleValidationKind1766); current = grammarAccess.getValidationKindAccess().getUNKNOWNEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_0, grammarAccess.getValidationKindAccess().getUNKNOWNEnumLiteralDeclaration_0()); } } break; case 2 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:883:6: (enumLiteral_1= 'valid' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:883:6: (enumLiteral_1= 'valid' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:883:8: enumLiteral_1= 'valid' { enumLiteral_1=(Token)match(input,24,FOLLOW_24_in_ruleValidationKind1783); current = grammarAccess.getValidationKindAccess().getVALIDEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_1, grammarAccess.getValidationKindAccess().getVALIDEnumLiteralDeclaration_1()); } } break; case 3 : // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:889:6: (enumLiteral_2= 'invalid' ) { // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:889:6: (enumLiteral_2= 'invalid' ) // ../net.certware.argument.sfp/src-gen/net/certware/argument/sfp/parser/antlr/internal/InternalSemiFormalProof.g:889:8: enumLiteral_2= 'invalid' { enumLiteral_2=(Token)match(input,25,FOLLOW_25_in_ruleValidationKind1800); current = grammarAccess.getValidationKindAccess().getINVALIDEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_2, grammarAccess.getValidationKindAccess().getINVALIDEnumLiteralDeclaration_2()); } } break; } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidationKind" // Delegated rules public static final BitSet FOLLOW_ruleProof_in_entryRuleProof75 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleProof85 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_11_in_ruleProof122 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_12_in_ruleProof134 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleText_in_ruleProof155 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_13_in_ruleProof167 = new BitSet(new long[]{0x0000000000034030L}); public static final BitSet FOLLOW_ruleJustifications_in_ruleProof188 = new BitSet(new long[]{0x0000000000004000L}); public static final BitSet FOLLOW_14_in_ruleProof200 = new BitSet(new long[]{0x0000000000020020L}); public static final BitSet FOLLOW_ruleProofSteps_in_ruleProof221 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleText_in_entryRuleText258 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleText269 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleText308 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJustifications_in_entryRuleJustifications352 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJustifications362 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJustification_in_ruleJustifications418 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleJustifications431 = new BitSet(new long[]{0x0000000000030030L}); public static final BitSet FOLLOW_ruleJustification_in_ruleJustifications452 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_ruleJustification_in_entryRuleJustification492 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJustification502 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_16_in_ruleJustification555 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_17_in_ruleJustification593 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumeral_in_ruleJustification633 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQuotedAssertion_in_ruleJustification660 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEntailment_in_ruleJustification687 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQuotedAssertion_in_entryRuleQuotedAssertion723 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQuotedAssertion733 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleText_in_ruleQuotedAssertion788 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEntailment_in_entryRuleEntailment824 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEntailment834 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleConjunction_in_ruleEntailment889 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_18_in_ruleEntailment901 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_ruleNumeral_in_ruleEntailment922 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleConjunction_in_entryRuleConjunction958 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleConjunction968 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumeral_in_ruleConjunction1024 = new BitSet(new long[]{0x0000000000080000L}); public static final BitSet FOLLOW_19_in_ruleConjunction1036 = new BitSet(new long[]{0x0000000000030030L}); public static final BitSet FOLLOW_ruleConjunction_in_ruleConjunction1057 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumeral_in_ruleConjunction1085 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumeral_in_entryRuleNumeral1122 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNumeral1133 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleNumeral1172 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleProofSteps_in_entryRuleProofSteps1216 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleProofSteps1226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_in_ruleProofSteps1283 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_ruleStatement_in_ruleProofSteps1304 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_17_in_ruleProofSteps1332 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement1381 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement1391 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumeral_in_ruleStatement1446 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleStatement1458 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleText_in_ruleStatement1479 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_13_in_ruleStatement1491 = new BitSet(new long[]{0x0000000000034030L}); public static final BitSet FOLLOW_ruleJustifications_in_ruleStatement1512 = new BitSet(new long[]{0x0000000000004000L}); public static final BitSet FOLLOW_14_in_ruleStatement1524 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_21_in_ruleStatement1537 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidation_in_ruleStatement1558 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleStatement1570 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidation_in_entryRuleValidation1608 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleValidation1618 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleText_in_ruleValidation1673 = new BitSet(new long[]{0x0000000003800010L}); public static final BitSet FOLLOW_ruleText_in_ruleValidation1694 = new BitSet(new long[]{0x0000000003800010L}); public static final BitSet FOLLOW_ruleValidationKind_in_ruleValidation1716 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_23_in_ruleValidationKind1766 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_24_in_ruleValidationKind1783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_ruleValidationKind1800 = new BitSet(new long[]{0x0000000000000002L}); }