public abstract class AbstractSyntacticSequencer extends java.lang.Object implements ISyntacticSequencer, ISemanticSequenceAcceptor
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractSyntacticSequencer.SyntacticalContext |
ISyntacticSequencer.ISyntacticSequencerOwner
Modifier and Type | Field and Description |
---|---|
protected java.util.Stack<AbstractSyntacticSequencer.SyntacticalContext> |
contexts |
protected ISyntacticSequenceAcceptor |
delegate |
protected ISyntacticSequencerDiagnosticProvider |
diagnosticProvider |
protected ISerializationDiagnostic.Acceptor |
errorAcceptor |
protected ISyntacticSequencerPDAProvider |
pdaProvider |
protected TokenUtil |
tokenUtil |
NO_INDEX
Constructor and Description |
---|
AbstractSyntacticSequencer() |
Modifier and Type | Method and Description |
---|---|
protected void |
accept(INode fromNode,
java.util.List<ISyntacticSequencerPDAProvider.ISynState> path,
RuleCallStack stack) |
protected void |
accept(ISyntacticSequencerPDAProvider.ISynState emitter,
INode node,
RuleCallStack stack) |
void |
acceptAssignedCrossRefDatatype(RuleCall datatypeRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ICompositeNode node) |
void |
acceptAssignedCrossRefEnum(RuleCall enumRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ICompositeNode node) |
void |
acceptAssignedCrossRefKeyword(Keyword kw,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ILeafNode node) |
void |
acceptAssignedCrossRefTerminal(RuleCall terminalRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ILeafNode node) |
void |
acceptAssignedDatatype(RuleCall datatypeRC,
java.lang.String token,
java.lang.Object value,
int index,
ICompositeNode node) |
void |
acceptAssignedEnum(RuleCall enumRC,
java.lang.String token,
java.lang.Object value,
int index,
ICompositeNode node) |
void |
acceptAssignedKeyword(Keyword keyword,
java.lang.String token,
java.lang.Object value,
int index,
ILeafNode node) |
void |
acceptAssignedTerminal(RuleCall terminalRC,
java.lang.String token,
java.lang.Object value,
int index,
ILeafNode node) |
protected void |
acceptNode(INode node) |
protected void |
acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState,
INode fromNode,
INode toNode) |
protected void |
acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState,
java.util.List<INode> nodes) |
void |
acceptUnassignedAction(Action action) |
void |
acceptUnassignedDatatype(RuleCall datatypeRC,
java.lang.String value,
ICompositeNode node) |
void |
acceptUnassignedEnum(RuleCall enumRC,
java.lang.String value,
ICompositeNode node) |
void |
acceptUnassignedKeyword(Keyword keyword,
java.lang.String token,
ILeafNode node) |
void |
acceptUnassignedTerminal(RuleCall terminalRC,
java.lang.String value,
ILeafNode node) |
protected void |
collectAbstractElements(GrammarAlias.AbstractElementAlias ele,
java.util.Set<AbstractElement> elments) |
protected java.util.List<INode> |
collectNodes(INode fromNode,
INode toNode) |
protected abstract void |
emitUnassignedTokens(org.eclipse.emf.ecore.EObject semanticObject,
ISyntacticSequencerPDAProvider.ISynTransition transition,
INode fromNode,
INode toNode) |
boolean |
enterAssignedAction(Action action,
org.eclipse.emf.ecore.EObject semanticChild,
ICompositeNode node) |
boolean |
enterAssignedParserRuleCall(RuleCall rc,
org.eclipse.emf.ecore.EObject semanticChild,
ICompositeNode node) |
protected ISyntacticSequencerPDAProvider.ISynTransition |
findTransition(org.eclipse.emf.ecore.EObject context,
org.eclipse.emf.ecore.EObject semanticObject,
ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState,
INode fromNode,
AbstractElement toEle,
INode toNode,
RuleCallStack stack) |
void |
finish() |
protected INode |
getLastLeaf(INode node) |
protected ISyntacticSequencerPDAProvider.ISynNavigable |
getLastNavigableState() |
protected java.util.List<INode> |
getNodesFor(java.util.List<INode> nodes,
GrammarAlias.AbstractElementAlias ele) |
protected java.lang.String |
getTokenText(INode node) |
protected java.lang.String |
getUnassignedRuleCallToken(org.eclipse.emf.ecore.EObject semanticObject,
RuleCall ruleCall,
INode node) |
protected java.lang.String |
getUnassignedRuleCallToken(RuleCall ruleCall,
INode node) |
void |
init(org.eclipse.emf.ecore.EObject context,
org.eclipse.emf.ecore.EObject semanticObject,
ISyntacticSequenceAcceptor sequenceAcceptor,
ISerializationDiagnostic.Acceptor errorAcceptor) |
void |
leaveAssignedAction(Action action,
org.eclipse.emf.ecore.EObject semanticChild) |
void |
leaveAssignedParserRuleCall(RuleCall rc,
org.eclipse.emf.ecore.EObject semanticChild) |
protected void |
navigateToAbsorber(AbstractElement ele,
INode node) |
protected ISyntacticSequencerPDAProvider.ISynAbsorberState |
navigateToAbsorber(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState,
INode fromNode,
INode toNode,
RuleCallStack stack) |
protected void |
navigateToEmitter(AbstractElement ele,
INode node) |
protected ISyntacticSequencerPDAProvider.ISynFollowerOwner |
navigateToEmitter(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState,
INode fromNode,
AbstractElement toEle,
INode toNode,
RuleCallStack stack) |
protected java.util.Stack<AbstractSyntacticSequencer.SyntacticalContext> contexts
protected ISyntacticSequenceAcceptor delegate
@Inject protected ISyntacticSequencerDiagnosticProvider diagnosticProvider
protected ISerializationDiagnostic.Acceptor errorAcceptor
@Inject protected ISyntacticSequencerPDAProvider pdaProvider
@Inject protected TokenUtil tokenUtil
protected void accept(INode fromNode, java.util.List<ISyntacticSequencerPDAProvider.ISynState> path, RuleCallStack stack)
protected void accept(ISyntacticSequencerPDAProvider.ISynState emitter, INode node, RuleCallStack stack)
public void acceptAssignedCrossRefDatatype(RuleCall datatypeRC, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ICompositeNode node)
acceptAssignedCrossRefDatatype
in interface ISemanticSequenceAcceptor
public void acceptAssignedCrossRefEnum(RuleCall enumRC, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ICompositeNode node)
acceptAssignedCrossRefEnum
in interface ISemanticSequenceAcceptor
public void acceptAssignedCrossRefKeyword(Keyword kw, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ILeafNode node)
acceptAssignedCrossRefKeyword
in interface ISemanticSequenceAcceptor
public void acceptAssignedCrossRefTerminal(RuleCall terminalRC, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ILeafNode node)
acceptAssignedCrossRefTerminal
in interface ISemanticSequenceAcceptor
public void acceptAssignedDatatype(RuleCall datatypeRC, java.lang.String token, java.lang.Object value, int index, ICompositeNode node)
acceptAssignedDatatype
in interface ISemanticSequenceAcceptor
public void acceptAssignedEnum(RuleCall enumRC, java.lang.String token, java.lang.Object value, int index, ICompositeNode node)
acceptAssignedEnum
in interface ISemanticSequenceAcceptor
public void acceptAssignedKeyword(Keyword keyword, java.lang.String token, java.lang.Object value, int index, ILeafNode node)
acceptAssignedKeyword
in interface ISemanticSequenceAcceptor
public void acceptAssignedTerminal(RuleCall terminalRC, java.lang.String token, java.lang.Object value, int index, ILeafNode node)
acceptAssignedTerminal
in interface ISemanticSequenceAcceptor
protected void acceptNode(INode node)
protected void acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState, INode fromNode, INode toNode)
protected void acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState, java.util.List<INode> nodes)
public void acceptUnassignedAction(Action action)
public void acceptUnassignedDatatype(RuleCall datatypeRC, java.lang.String value, ICompositeNode node)
public void acceptUnassignedEnum(RuleCall enumRC, java.lang.String value, ICompositeNode node)
public void acceptUnassignedKeyword(Keyword keyword, java.lang.String token, ILeafNode node)
public void acceptUnassignedTerminal(RuleCall terminalRC, java.lang.String value, ILeafNode node)
protected void collectAbstractElements(GrammarAlias.AbstractElementAlias ele, java.util.Set<AbstractElement> elments)
protected abstract void emitUnassignedTokens(org.eclipse.emf.ecore.EObject semanticObject, ISyntacticSequencerPDAProvider.ISynTransition transition, INode fromNode, INode toNode)
public boolean enterAssignedAction(Action action, org.eclipse.emf.ecore.EObject semanticChild, ICompositeNode node)
enterAssignedAction
in interface ISemanticSequenceAcceptor
public boolean enterAssignedParserRuleCall(RuleCall rc, org.eclipse.emf.ecore.EObject semanticChild, ICompositeNode node)
enterAssignedParserRuleCall
in interface ISemanticSequenceAcceptor
protected ISyntacticSequencerPDAProvider.ISynTransition findTransition(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EObject semanticObject, ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState, INode fromNode, AbstractElement toEle, INode toNode, RuleCallStack stack)
public void finish()
finish
in interface ISemanticSequenceAcceptor
protected ISyntacticSequencerPDAProvider.ISynNavigable getLastNavigableState()
protected java.util.List<INode> getNodesFor(java.util.List<INode> nodes, GrammarAlias.AbstractElementAlias ele)
protected java.lang.String getTokenText(INode node)
protected java.lang.String getUnassignedRuleCallToken(org.eclipse.emf.ecore.EObject semanticObject, RuleCall ruleCall, INode node)
protected java.lang.String getUnassignedRuleCallToken(RuleCall ruleCall, INode node)
public void init(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EObject semanticObject, ISyntacticSequenceAcceptor sequenceAcceptor, ISerializationDiagnostic.Acceptor errorAcceptor)
init
in interface ISyntacticSequencer
public void leaveAssignedAction(Action action, org.eclipse.emf.ecore.EObject semanticChild)
leaveAssignedAction
in interface ISemanticSequenceAcceptor
public void leaveAssignedParserRuleCall(RuleCall rc, org.eclipse.emf.ecore.EObject semanticChild)
leaveAssignedParserRuleCall
in interface ISemanticSequenceAcceptor
protected void navigateToAbsorber(AbstractElement ele, INode node)
protected ISyntacticSequencerPDAProvider.ISynAbsorberState navigateToAbsorber(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState, INode fromNode, INode toNode, RuleCallStack stack)
protected void navigateToEmitter(AbstractElement ele, INode node)
protected ISyntacticSequencerPDAProvider.ISynFollowerOwner navigateToEmitter(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState, INode fromNode, AbstractElement toEle, INode toNode, RuleCallStack stack)