package de.tub.tfs.henshin.tgg.interpreter.config.serializer; import com.google.inject.Inject; import de.tub.tfs.henshin.tgg.interpreter.config.services.TggInterpreterConfigGrammarAccess; import java.util.List; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; @SuppressWarnings("all") public class TggInterpreterConfigSyntacticSequencer extends AbstractSyntacticSequencer { protected TggInterpreterConfigGrammarAccess grammarAccess; protected AbstractElementAlias match_ProcessingEntry_CommaKeyword_7_q; protected AbstractElementAlias match_ProcessingEntry_NLTerminalRuleCall_0_q; protected AbstractElementAlias match_ProcessingEntry_NLTerminalRuleCall_4_q; protected AbstractElementAlias match_ProcessingEntry_NLTerminalRuleCall_6_q; protected AbstractElementAlias match_TggInterpreterConfig_NLTerminalRuleCall_0_q; protected AbstractElementAlias match_TggInterpreterConfig___NLTerminalRuleCall_1_3_AdditionalOptionsKeyword_1_0_EqualsSignKeyword_1_1__q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (TggInterpreterConfigGrammarAccess) access; match_ProcessingEntry_CommaKeyword_7_q = new TokenAlias(false, true, grammarAccess.getProcessingEntryAccess().getCommaKeyword_7()); match_ProcessingEntry_NLTerminalRuleCall_0_q = new TokenAlias(false, true, grammarAccess.getProcessingEntryAccess().getNLTerminalRuleCall_0()); match_ProcessingEntry_NLTerminalRuleCall_4_q = new TokenAlias(false, true, grammarAccess.getProcessingEntryAccess().getNLTerminalRuleCall_4()); match_ProcessingEntry_NLTerminalRuleCall_6_q = new TokenAlias(false, true, grammarAccess.getProcessingEntryAccess().getNLTerminalRuleCall_6()); match_TggInterpreterConfig_NLTerminalRuleCall_0_q = new TokenAlias(false, true, grammarAccess.getTggInterpreterConfigAccess().getNLTerminalRuleCall_0()); match_TggInterpreterConfig___NLTerminalRuleCall_1_3_AdditionalOptionsKeyword_1_0_EqualsSignKeyword_1_1__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getTggInterpreterConfigAccess().getNLTerminalRuleCall_1_3()), new TokenAlias(false, false, grammarAccess.getTggInterpreterConfigAccess().getAdditionalOptionsKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getTggInterpreterConfigAccess().getEqualsSignKeyword_1_1())); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { if(ruleCall.getRule() == grammarAccess.getNLRule()) return getNLToken(semanticObject, ruleCall, node); return ""; } /** * terminal NL : ('\r'|'\n')+; */ protected String getNLToken(EObject semanticObject, RuleCall ruleCall, INode node) { if (node != null) return getTokenText(node); return "\r"; } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { if (transition.getAmbiguousSyntaxes().isEmpty()) return; List<INode> transitionNodes = collectNodes(fromNode, toNode); for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); if(match_ProcessingEntry_CommaKeyword_7_q.equals(syntax)) emit_ProcessingEntry_CommaKeyword_7_q(semanticObject, getLastNavigableState(), syntaxNodes); else if(match_ProcessingEntry_NLTerminalRuleCall_0_q.equals(syntax)) emit_ProcessingEntry_NLTerminalRuleCall_0_q(semanticObject, getLastNavigableState(), syntaxNodes); else if(match_ProcessingEntry_NLTerminalRuleCall_4_q.equals(syntax)) emit_ProcessingEntry_NLTerminalRuleCall_4_q(semanticObject, getLastNavigableState(), syntaxNodes); else if(match_ProcessingEntry_NLTerminalRuleCall_6_q.equals(syntax)) emit_ProcessingEntry_NLTerminalRuleCall_6_q(semanticObject, getLastNavigableState(), syntaxNodes); else if(match_TggInterpreterConfig_NLTerminalRuleCall_0_q.equals(syntax)) emit_TggInterpreterConfig_NLTerminalRuleCall_0_q(semanticObject, getLastNavigableState(), syntaxNodes); else if(match_TggInterpreterConfig___NLTerminalRuleCall_1_3_AdditionalOptionsKeyword_1_0_EqualsSignKeyword_1_1__q.equals(syntax)) emit_TggInterpreterConfig___NLTerminalRuleCall_1_3_AdditionalOptionsKeyword_1_0_EqualsSignKeyword_1_1__q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } /** * Syntax: * ','? */ protected void emit_ProcessingEntry_CommaKeyword_7_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } /** * Syntax: * NL? */ protected void emit_ProcessingEntry_NLTerminalRuleCall_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } /** * Syntax: * NL? */ protected void emit_ProcessingEntry_NLTerminalRuleCall_4_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } /** * Syntax: * NL? */ protected void emit_ProcessingEntry_NLTerminalRuleCall_6_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } /** * Syntax: * NL? */ protected void emit_TggInterpreterConfig_NLTerminalRuleCall_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } /** * Syntax: * (NL 'AdditionalOptions' '=')? */ protected void emit_TggInterpreterConfig___NLTerminalRuleCall_1_3_AdditionalOptionsKeyword_1_0_EqualsSignKeyword_1_1__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { acceptNodes(transition, nodes); } }