/* * generated by Xtext 2.16.0 */ grammar InternalCftLanguage; options { superClass=AbstractInternalAntlrParser; } @lexer::header { package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal; // Hack: Use our own Lexer superclass by means of import. // Currently there is no other way to specify the superclass for the lexer. import org.eclipse.xtext.parser.antlr.Lexer; } @parser::header { package hu.bme.mit.inf.dslreasoner.faulttree.components.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.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 hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; } @parser::members { private CftLanguageGrammarAccess grammarAccess; public InternalCftLanguageParser(TokenStream input, CftLanguageGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "CftModel"; } @Override protected CftLanguageGrammarAccess getGrammarAccess() { return grammarAccess; } } @rulecatch { catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } } // Entry rule entryRuleCftModel entryRuleCftModel returns [EObject current=null]: { newCompositeNode(grammarAccess.getCftModelRule()); } iv_ruleCftModel=ruleCftModel { $current=$iv_ruleCftModel.current; } EOF; // Rule CftModel ruleCftModel returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='package' { newLeafNode(otherlv_0, grammarAccess.getCftModelAccess().getPackageKeyword_0()); } ( ( { newCompositeNode(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); } lv_packageName_1_0=ruleQualifiedName { if ($current==null) { $current = createModelElementForParent(grammarAccess.getCftModelRule()); } set( $current, "packageName", lv_packageName_1_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); afterParserOrEnumRuleCall(); } ) ) ( otherlv_2=';' { newLeafNode(otherlv_2, grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); } )? ( ( { newCompositeNode(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); } lv_imports_3_0=ruleImportDeclaration { if ($current==null) { $current = createModelElementForParent(grammarAccess.getCftModelRule()); } add( $current, "imports", lv_imports_3_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ImportDeclaration"); afterParserOrEnumRuleCall(); } ) )* ( ( ( { newCompositeNode(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); } lv_componentDefinitions_4_0=ruleComponentDefinition { if ($current==null) { $current = createModelElementForParent(grammarAccess.getCftModelRule()); } add( $current, "componentDefinitions", lv_componentDefinitions_4_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentDefinition"); afterParserOrEnumRuleCall(); } ) ) | ( ( { newCompositeNode(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); } lv_transformationDefinitions_5_0=ruleTransformationDefinition { if ($current==null) { $current = createModelElementForParent(grammarAccess.getCftModelRule()); } add( $current, "transformationDefinitions", lv_transformationDefinitions_5_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.TransformationDefinition"); afterParserOrEnumRuleCall(); } ) ) )* ) ; // Entry rule entryRuleImportDeclaration entryRuleImportDeclaration returns [EObject current=null]: { newCompositeNode(grammarAccess.getImportDeclarationRule()); } iv_ruleImportDeclaration=ruleImportDeclaration { $current=$iv_ruleImportDeclaration.current; } EOF; // Rule ImportDeclaration ruleImportDeclaration returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='import' { newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); } ( ( { newCompositeNode(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); } lv_importedNamespace_1_0=ruleQualifiedNameWithWildcard { if ($current==null) { $current = createModelElementForParent(grammarAccess.getImportDeclarationRule()); } set( $current, "importedNamespace", lv_importedNamespace_1_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } ) ) ( otherlv_2=';' { newLeafNode(otherlv_2, grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); } )? ) ; // Entry rule entryRuleComponentDefinition entryRuleComponentDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getComponentDefinitionRule()); } iv_ruleComponentDefinition=ruleComponentDefinition { $current=$iv_ruleComponentDefinition.current; } EOF; // Rule ComponentDefinition ruleComponentDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='cft' { newLeafNode(otherlv_0, grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); } ( ( { newCompositeNode(grammarAccess.getComponentDefinitionAccess().getNameValidIdParserRuleCall_1_0()); } lv_name_1_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); } set( $current, "name", lv_name_1_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) otherlv_2='{' { newLeafNode(otherlv_2, grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); } ( ( { getUnorderedGroupHelper().enter(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } ( ( ( {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0)}?=>( { getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0); } ({true}?=>(otherlv_4='in' { newLeafNode(otherlv_4, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); } ( ( { newCompositeNode(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); } lv_inputEvents_5_0=ruleInputEvent { if ($current==null) { $current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); } add( $current, "inputEvents", lv_inputEvents_5_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.InputEvent"); afterParserOrEnumRuleCall(); } ) )* otherlv_6=';' { newLeafNode(otherlv_6, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); } )) { getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } ) )| ( {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1)}?=>( { getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1); } ({true}?=>(otherlv_7='out' { newLeafNode(otherlv_7, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getComponentDefinitionRule()); } } { newCompositeNode(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) )* otherlv_9=';' { newLeafNode(otherlv_9, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); } )) { getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } ) ) )* ) ) { getUnorderedGroupHelper().leave(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } ) ( ( ( { newCompositeNode(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); } lv_eventDefinitions_10_0=ruleEventDefinition { if ($current==null) { $current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); } add( $current, "eventDefinitions", lv_eventDefinitions_10_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventDefinition"); afterParserOrEnumRuleCall(); } ) ) otherlv_11=';' { newLeafNode(otherlv_11, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); } )* otherlv_12='}' { newLeafNode(otherlv_12, grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); } ) ; // Entry rule entryRuleInputEvent entryRuleInputEvent returns [EObject current=null]: { newCompositeNode(grammarAccess.getInputEventRule()); } iv_ruleInputEvent=ruleInputEvent { $current=$iv_ruleInputEvent.current; } EOF; // Rule InputEvent ruleInputEvent returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getInputEventAccess().getNameValidIdParserRuleCall_0_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getInputEventRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) ( ( lv_multiple_1_0='[]' { newLeafNode(lv_multiple_1_0, grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getInputEventRule()); } setWithLastConsumed($current, "multiple", true, "[]"); } ) )? ) ; // Entry rule entryRuleEventDefinition entryRuleEventDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getEventDefinitionRule()); } iv_ruleEventDefinition=ruleEventDefinition { $current=$iv_ruleEventDefinition.current; } EOF; // Rule EventDefinition ruleEventDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( { newCompositeNode(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); } this_BasicEventDefinition_0=ruleBasicEventDefinition { $current = $this_BasicEventDefinition_0.current; afterParserOrEnumRuleCall(); } | { newCompositeNode(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); } this_GateDefinition_1=ruleGateDefinition { $current = $this_GateDefinition_1.current; afterParserOrEnumRuleCall(); } ) ; // Entry rule entryRuleBasicEventDefinition entryRuleBasicEventDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getBasicEventDefinitionRule()); } iv_ruleBasicEventDefinition=ruleBasicEventDefinition { $current=$iv_ruleBasicEventDefinition.current; } EOF; // Rule BasicEventDefinition ruleBasicEventDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getBasicEventDefinitionAccess().getNameValidIdParserRuleCall_0_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getBasicEventDefinitionRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) ( ( { newCompositeNode(grammarAccess.getBasicEventDefinitionAccess().getDistributionDistributionParserRuleCall_1_0()); } lv_distribution_1_0=ruleDistribution { if ($current==null) { $current = createModelElementForParent(grammarAccess.getBasicEventDefinitionRule()); } set( $current, "distribution", lv_distribution_1_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Distribution"); afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleDistribution entryRuleDistribution returns [EObject current=null]: { newCompositeNode(grammarAccess.getDistributionRule()); } iv_ruleDistribution=ruleDistribution { $current=$iv_ruleDistribution.current; } EOF; // Rule Distribution ruleDistribution returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( { newCompositeNode(grammarAccess.getDistributionAccess().getConstantDistributionParserRuleCall_0()); } this_ConstantDistribution_0=ruleConstantDistribution { $current = $this_ConstantDistribution_0.current; afterParserOrEnumRuleCall(); } | { newCompositeNode(grammarAccess.getDistributionAccess().getExponentialDistributionParserRuleCall_1()); } this_ExponentialDistribution_1=ruleExponentialDistribution { $current = $this_ExponentialDistribution_1.current; afterParserOrEnumRuleCall(); } ) ; // Entry rule entryRuleConstantDistribution entryRuleConstantDistribution returns [EObject current=null]: { newCompositeNode(grammarAccess.getConstantDistributionRule()); } iv_ruleConstantDistribution=ruleConstantDistribution { $current=$iv_ruleConstantDistribution.current; } EOF; // Rule ConstantDistribution ruleConstantDistribution returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='p' { newLeafNode(otherlv_0, grammarAccess.getConstantDistributionAccess().getPKeyword_0()); } otherlv_1='=' { newLeafNode(otherlv_1, grammarAccess.getConstantDistributionAccess().getEqualsSignKeyword_1()); } ( ( { newCompositeNode(grammarAccess.getConstantDistributionAccess().getPDoubleParserRuleCall_2_0()); } lv_p_2_0=ruleDouble { if ($current==null) { $current = createModelElementForParent(grammarAccess.getConstantDistributionRule()); } set( $current, "p", lv_p_2_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Double"); afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleExponentialDistribution entryRuleExponentialDistribution returns [EObject current=null]: { newCompositeNode(grammarAccess.getExponentialDistributionRule()); } iv_ruleExponentialDistribution=ruleExponentialDistribution { $current=$iv_ruleExponentialDistribution.current; } EOF; // Rule ExponentialDistribution ruleExponentialDistribution returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='lambda' { newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getLambdaKeyword_0()); } otherlv_1='=' { newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getEqualsSignKeyword_1()); } ( ( { newCompositeNode(grammarAccess.getExponentialDistributionAccess().getLambdaDoubleParserRuleCall_2_0()); } lv_lambda_2_0=ruleDouble { if ($current==null) { $current = createModelElementForParent(grammarAccess.getExponentialDistributionRule()); } set( $current, "lambda", lv_lambda_2_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Double"); afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleGateDefinition entryRuleGateDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getGateDefinitionRule()); } iv_ruleGateDefinition=ruleGateDefinition { $current=$iv_ruleGateDefinition.current; } EOF; // Rule GateDefinition ruleGateDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( { newCompositeNode(grammarAccess.getGateDefinitionAccess().getAndGateDefinitionParserRuleCall_0()); } this_AndGateDefinition_0=ruleAndGateDefinition { $current = $this_AndGateDefinition_0.current; afterParserOrEnumRuleCall(); } | { newCompositeNode(grammarAccess.getGateDefinitionAccess().getOrGateDefinitionParserRuleCall_1()); } this_OrGateDefinition_1=ruleOrGateDefinition { $current = $this_OrGateDefinition_1.current; afterParserOrEnumRuleCall(); } | { newCompositeNode(grammarAccess.getGateDefinitionAccess().getKOfMGateDefinitionParserRuleCall_2()); } this_KOfMGateDefinition_2=ruleKOfMGateDefinition { $current = $this_KOfMGateDefinition_2.current; afterParserOrEnumRuleCall(); } ) ; // Entry rule entryRuleAndGateDefinition entryRuleAndGateDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getAndGateDefinitionRule()); } iv_ruleAndGateDefinition=ruleAndGateDefinition { $current=$iv_ruleAndGateDefinition.current; } EOF; // Rule AndGateDefinition ruleAndGateDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getAndGateDefinitionAccess().getNameValidIdParserRuleCall_0_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAndGateDefinitionRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) otherlv_1='and' { newLeafNode(otherlv_1, grammarAccess.getAndGateDefinitionAccess().getAndKeyword_1()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getAndGateDefinitionRule()); } } { newCompositeNode(grammarAccess.getAndGateDefinitionAccess().getInputEventsEventDeclarationCrossReference_2_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) )* ) ; // Entry rule entryRuleOrGateDefinition entryRuleOrGateDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getOrGateDefinitionRule()); } iv_ruleOrGateDefinition=ruleOrGateDefinition { $current=$iv_ruleOrGateDefinition.current; } EOF; // Rule OrGateDefinition ruleOrGateDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getOrGateDefinitionAccess().getNameValidIdParserRuleCall_0_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getOrGateDefinitionRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) otherlv_1='or' { newLeafNode(otherlv_1, grammarAccess.getOrGateDefinitionAccess().getOrKeyword_1()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getOrGateDefinitionRule()); } } { newCompositeNode(grammarAccess.getOrGateDefinitionAccess().getInputEventsEventDeclarationCrossReference_2_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) )* ) ; // Entry rule entryRuleKOfMGateDefinition entryRuleKOfMGateDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getKOfMGateDefinitionRule()); } iv_ruleKOfMGateDefinition=ruleKOfMGateDefinition { $current=$iv_ruleKOfMGateDefinition.current; } EOF; // Rule KOfMGateDefinition ruleKOfMGateDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getKOfMGateDefinitionAccess().getNameValidIdParserRuleCall_0_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getKOfMGateDefinitionRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) ( ( lv_k_1_0=RULE_INT { newLeafNode(lv_k_1_0, grammarAccess.getKOfMGateDefinitionAccess().getKINTTerminalRuleCall_1_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getKOfMGateDefinitionRule()); } setWithLastConsumed( $current, "k", lv_k_1_0, "org.eclipse.xtext.common.Terminals.INT"); } ) ) ( ( otherlv_2='of' { newLeafNode(otherlv_2, grammarAccess.getKOfMGateDefinitionAccess().getOfKeyword_2_0_0()); } ( ( lv_m_3_0=RULE_INT { newLeafNode(lv_m_3_0, grammarAccess.getKOfMGateDefinitionAccess().getMINTTerminalRuleCall_2_0_1_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getKOfMGateDefinitionRule()); } setWithLastConsumed( $current, "m", lv_m_3_0, "org.eclipse.xtext.common.Terminals.INT"); } ) ) ) | ( ( lv_m_4_0=RULE_OF_INT { newLeafNode(lv_m_4_0, grammarAccess.getKOfMGateDefinitionAccess().getMOF_INTTerminalRuleCall_2_1_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getKOfMGateDefinitionRule()); } setWithLastConsumed( $current, "m", lv_m_4_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.OF_INT"); } ) ) ) ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getKOfMGateDefinitionRule()); } } { newCompositeNode(grammarAccess.getKOfMGateDefinitionAccess().getInputEventsEventDeclarationCrossReference_3_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) )* ) ; // Entry rule entryRuleTransformationDefinition entryRuleTransformationDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getTransformationDefinitionRule()); } iv_ruleTransformationDefinition=ruleTransformationDefinition { $current=$iv_ruleTransformationDefinition.current; } EOF; // Rule TransformationDefinition ruleTransformationDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='transformation' { newLeafNode(otherlv_0, grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); } ( ( { newCompositeNode(grammarAccess.getTransformationDefinitionAccess().getNameValidIdParserRuleCall_1_0()); } lv_name_1_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getTransformationDefinitionRule()); } set( $current, "name", lv_name_1_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) otherlv_2='{' { newLeafNode(otherlv_2, grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); } ( ( { newCompositeNode(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); } lv_mappingDefinitions_3_0=ruleMappingDefinition { if ($current==null) { $current = createModelElementForParent(grammarAccess.getTransformationDefinitionRule()); } add( $current, "mappingDefinitions", lv_mappingDefinitions_3_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingDefinition"); afterParserOrEnumRuleCall(); } ) )* otherlv_4='}' { newLeafNode(otherlv_4, grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); } ) ; // Entry rule entryRuleMappingDefinition entryRuleMappingDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getMappingDefinitionRule()); } iv_ruleMappingDefinition=ruleMappingDefinition { $current=$iv_ruleMappingDefinition.current; } EOF; // Rule MappingDefinition ruleMappingDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( lv_topLevel_0_0='toplevel' { newLeafNode(lv_topLevel_0_0, grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getMappingDefinitionRule()); } setWithLastConsumed($current, "topLevel", true, "toplevel"); } ) )? otherlv_1='mapping' { newLeafNode(otherlv_1, grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getMappingDefinitionRule()); } } { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); } ruleQualifiedName { afterParserOrEnumRuleCall(); } ) ) otherlv_3='(' { newLeafNode(otherlv_3, grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); } ( ( { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); } lv_parameters_4_0=ruleMappingParameter { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); } add( $current, "parameters", lv_parameters_4_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); afterParserOrEnumRuleCall(); } ) ) ( otherlv_5=',' { newLeafNode(otherlv_5, grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); } ( ( { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); } lv_parameters_6_0=ruleMappingParameter { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); } add( $current, "parameters", lv_parameters_6_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); afterParserOrEnumRuleCall(); } ) ) )* otherlv_7=')' { newLeafNode(otherlv_7, grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); } ( ( { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); } lv_componentInstance_8_0=ruleComponentInstance { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); } set( $current, "componentInstance", lv_componentInstance_8_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentInstance"); afterParserOrEnumRuleCall(); } ) )? ( otherlv_9='{' { newLeafNode(otherlv_9, grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); } ( ( ( ( { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); } lv_lookupDefinitions_10_0=ruleLookupDefinition { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); } add( $current, "lookupDefinitions", lv_lookupDefinitions_10_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.LookupDefinition"); afterParserOrEnumRuleCall(); } ) ) | ( ( { newCompositeNode(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); } lv_assignments_11_0=ruleAssignment { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); } add( $current, "assignments", lv_assignments_11_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Assignment"); afterParserOrEnumRuleCall(); } ) ) ) otherlv_12=';' { newLeafNode(otherlv_12, grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); } )* otherlv_13='}' { newLeafNode(otherlv_13, grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); } )? ) ; // Entry rule entryRuleMappingParameter entryRuleMappingParameter returns [EObject current=null]: { newCompositeNode(grammarAccess.getMappingParameterRule()); } iv_ruleMappingParameter=ruleMappingParameter { $current=$iv_ruleMappingParameter.current; } EOF; // Rule MappingParameter ruleMappingParameter returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( { newCompositeNode(grammarAccess.getMappingParameterAccess().getNameValidIdParserRuleCall_0()); } lv_name_0_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getMappingParameterRule()); } set( $current, "name", lv_name_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) ; // Entry rule entryRuleLookupDefinition entryRuleLookupDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getLookupDefinitionRule()); } iv_ruleLookupDefinition=ruleLookupDefinition { $current=$iv_ruleLookupDefinition.current; } EOF; // Rule LookupDefinition ruleLookupDefinition returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='lookup' { newLeafNode(otherlv_0, grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getLookupDefinitionRule()); } } { newCompositeNode(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); } ruleQualifiedName { afterParserOrEnumRuleCall(); } ) ) otherlv_2='(' { newLeafNode(otherlv_2, grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getLookupDefinitionRule()); } } { newCompositeNode(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) ) ( otherlv_4=',' { newLeafNode(otherlv_4, grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getLookupDefinitionRule()); } } { newCompositeNode(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) ) )* otherlv_6=')' { newLeafNode(otherlv_6, grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); } otherlv_7='as' { newLeafNode(otherlv_7, grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); } ( ( { newCompositeNode(grammarAccess.getLookupDefinitionAccess().getNameValidIdParserRuleCall_7_0()); } lv_name_8_0=ruleValidId { if ($current==null) { $current = createModelElementForParent(grammarAccess.getLookupDefinitionRule()); } set( $current, "name", lv_name_8_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleAssignment entryRuleAssignment returns [EObject current=null]: { newCompositeNode(grammarAccess.getAssignmentRule()); } iv_ruleAssignment=ruleAssignment { $current=$iv_ruleAssignment.current; } EOF; // Rule Assignment ruleAssignment returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { newCompositeNode(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); } lv_input_0_0=ruleEventReference { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAssignmentRule()); } set( $current, "input", lv_input_0_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); afterParserOrEnumRuleCall(); } ) ) ( ( ( lv_multiple_1_0='+=' { newLeafNode(lv_multiple_1_0, grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getAssignmentRule()); } setWithLastConsumed($current, "multiple", true, "+="); } ) ) | otherlv_2=':=' { newLeafNode(otherlv_2, grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); } ) ( ( { newCompositeNode(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); } lv_output_3_0=ruleEventReference { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAssignmentRule()); } set( $current, "output", lv_output_3_0, "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleEventReference entryRuleEventReference returns [EObject current=null]: { newCompositeNode(grammarAccess.getEventReferenceRule()); } iv_ruleEventReference=ruleEventReference { $current=$iv_ruleEventReference.current; } EOF; // Rule EventReference ruleEventReference returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getEventReferenceRule()); } } { newCompositeNode(grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) ) otherlv_1='.' { newLeafNode(otherlv_1, grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getEventReferenceRule()); } } { newCompositeNode(grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); } ruleValidId { afterParserOrEnumRuleCall(); } ) ) ) ; // Entry rule entryRuleComponentInstance entryRuleComponentInstance returns [EObject current=null]: { newCompositeNode(grammarAccess.getComponentInstanceRule()); } iv_ruleComponentInstance=ruleComponentInstance { $current=$iv_ruleComponentInstance.current; } EOF; // Rule ComponentInstance ruleComponentInstance returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( otherlv_0='=>' { newLeafNode(otherlv_0, grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); } ( ( { if ($current==null) { $current = createModelElement(grammarAccess.getComponentInstanceRule()); } } { newCompositeNode(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); } ruleQualifiedName { afterParserOrEnumRuleCall(); } ) ) ( ( lv_name_2_0=RULE_ID { newLeafNode(lv_name_2_0, grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); } { if ($current==null) { $current = createModelElement(grammarAccess.getComponentInstanceRule()); } setWithLastConsumed( $current, "name", lv_name_2_0, "org.eclipse.xtext.common.Terminals.ID"); } ) )? ) ; // Entry rule entryRuleQualifiedName entryRuleQualifiedName returns [String current=null]: { newCompositeNode(grammarAccess.getQualifiedNameRule()); } iv_ruleQualifiedName=ruleQualifiedName { $current=$iv_ruleQualifiedName.current.getText(); } EOF; // Rule QualifiedName ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] @init { enterRule(); } @after { leaveRule(); }: ( { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_0()); } this_ValidId_0=ruleValidId { $current.merge(this_ValidId_0); } { afterParserOrEnumRuleCall(); } ( kw='.' { $current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_1_1()); } this_ValidId_2=ruleValidId { $current.merge(this_ValidId_2); } { afterParserOrEnumRuleCall(); } )* ) ; // Entry rule entryRuleQualifiedNameWithWildcard entryRuleQualifiedNameWithWildcard returns [String current=null]: { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); } EOF; // Rule QualifiedNameWithWildcard ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] @init { enterRule(); } @after { leaveRule(); }: ( { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } this_QualifiedName_0=ruleQualifiedName { $current.merge(this_QualifiedName_0); } { afterParserOrEnumRuleCall(); } ( kw='.' { $current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); } kw='*' { $current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); } )? ) ; // Entry rule entryRuleValidId entryRuleValidId returns [String current=null]: { newCompositeNode(grammarAccess.getValidIdRule()); } iv_ruleValidId=ruleValidId { $current=$iv_ruleValidId.current.getText(); } EOF; // Rule ValidId ruleValidId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] @init { enterRule(); } @after { leaveRule(); }: ( this_ID_0=RULE_ID { $current.merge(this_ID_0); } { newLeafNode(this_ID_0, grammarAccess.getValidIdAccess().getIDTerminalRuleCall_0()); } | this_OF_INT_1=RULE_OF_INT { $current.merge(this_OF_INT_1); } { newLeafNode(this_OF_INT_1, grammarAccess.getValidIdAccess().getOF_INTTerminalRuleCall_1()); } ) ; // Entry rule entryRuleDouble entryRuleDouble returns [String current=null]: { newCompositeNode(grammarAccess.getDoubleRule()); } iv_ruleDouble=ruleDouble { $current=$iv_ruleDouble.current.getText(); } EOF; // Rule Double ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] @init { enterRule(); } @after { leaveRule(); }: ( this_INT_0=RULE_INT { $current.merge(this_INT_0); } { newLeafNode(this_INT_0, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_0()); } | this_T_DOUBLE_1=RULE_T_DOUBLE { $current.merge(this_T_DOUBLE_1); } { newLeafNode(this_T_DOUBLE_1, grammarAccess.getDoubleAccess().getT_DOUBLETerminalRuleCall_1()); } ) ; RULE_OF_INT : 'o' 'f' ('0'..'9')+; RULE_T_DOUBLE : ('0'..'9')+ ('.' ('0'..'9')+|('.' ('0'..'9')+)? ('e'|'E') ('+'|'-')? ('0'..'9')+); RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; RULE_INT : ('0'..'9')+; RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; RULE_WS : (' '|'\t'|'\r'|'\n')+; RULE_ANY_OTHER : .;