org.eclipse.xtext.serializer.sequencer
Class AbstractSyntacticSequencer
java.lang.Object
org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer
- All Implemented Interfaces:
- ISemanticSequenceAcceptor, ISyntacticSequencer
- Direct Known Subclasses:
- AbstractXbaseSyntacticSequencer, AbstractXbaseWithAnnotationsSyntacticSequencer, AbstractXtendSyntacticSequencer, AbstractXtypeSyntacticSequencer, GenericSyntacticSequencer
public abstract class AbstractSyntacticSequencer
- extends java.lang.Object
- implements ISyntacticSequencer, ISemanticSequenceAcceptor
- Author:
- Moritz Eysholdt - Initial contribution and API
Method Summary |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
contexts
protected java.util.Stack<AbstractSyntacticSequencer.SyntacticalContext> contexts
delegate
protected ISyntacticSequenceAcceptor delegate
diagnosticProvider
@Inject
protected ISyntacticSequencerDiagnosticProvider diagnosticProvider
errorAcceptor
protected ISerializationDiagnostic.Acceptor errorAcceptor
pdaProvider
@Inject
protected ISyntacticSequencerPDAProvider pdaProvider
tokenUtil
@Inject
protected TokenUtil tokenUtil
AbstractSyntacticSequencer
public AbstractSyntacticSequencer()
accept
protected void accept(INode fromNode,
java.util.List<ISyntacticSequencerPDAProvider.ISynState> path,
RuleCallStack stack)
accept
protected void accept(ISyntacticSequencerPDAProvider.ISynState emitter,
INode node,
RuleCallStack stack)
acceptAssignedCrossRefDatatype
public void acceptAssignedCrossRefDatatype(RuleCall datatypeRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ICompositeNode node)
- Specified by:
acceptAssignedCrossRefDatatype
in interface ISemanticSequenceAcceptor
acceptAssignedCrossRefEnum
public void acceptAssignedCrossRefEnum(RuleCall enumRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ICompositeNode node)
- Specified by:
acceptAssignedCrossRefEnum
in interface ISemanticSequenceAcceptor
acceptAssignedCrossRefKeyword
public void acceptAssignedCrossRefKeyword(Keyword kw,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ILeafNode node)
- Specified by:
acceptAssignedCrossRefKeyword
in interface ISemanticSequenceAcceptor
acceptAssignedCrossRefTerminal
public void acceptAssignedCrossRefTerminal(RuleCall terminalRC,
java.lang.String token,
org.eclipse.emf.ecore.EObject value,
int index,
ILeafNode node)
- Specified by:
acceptAssignedCrossRefTerminal
in interface ISemanticSequenceAcceptor
acceptAssignedDatatype
public void acceptAssignedDatatype(RuleCall datatypeRC,
java.lang.String token,
java.lang.Object value,
int index,
ICompositeNode node)
- Specified by:
acceptAssignedDatatype
in interface ISemanticSequenceAcceptor
acceptAssignedEnum
public void acceptAssignedEnum(RuleCall enumRC,
java.lang.String token,
java.lang.Object value,
int index,
ICompositeNode node)
- Specified by:
acceptAssignedEnum
in interface ISemanticSequenceAcceptor
acceptAssignedKeyword
public void acceptAssignedKeyword(Keyword keyword,
java.lang.String token,
java.lang.Object value,
int index,
ILeafNode node)
- Specified by:
acceptAssignedKeyword
in interface ISemanticSequenceAcceptor
acceptAssignedTerminal
public void acceptAssignedTerminal(RuleCall terminalRC,
java.lang.String token,
java.lang.Object value,
int index,
ILeafNode node)
- Specified by:
acceptAssignedTerminal
in interface ISemanticSequenceAcceptor
acceptNode
protected void acceptNode(INode node)
acceptNodes
protected void acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState,
INode fromNode,
INode toNode)
acceptNodes
protected void acceptNodes(ISyntacticSequencerPDAProvider.ISynNavigable fromState,
java.util.List<INode> nodes)
acceptUnassignedAction
public void acceptUnassignedAction(Action action)
acceptUnassignedDatatype
public void acceptUnassignedDatatype(RuleCall datatypeRC,
java.lang.String value,
ICompositeNode node)
acceptUnassignedEnum
public void acceptUnassignedEnum(RuleCall enumRC,
java.lang.String value,
ICompositeNode node)
acceptUnassignedKeyword
public void acceptUnassignedKeyword(Keyword keyword,
java.lang.String token,
ILeafNode node)
acceptUnassignedTerminal
public void acceptUnassignedTerminal(RuleCall terminalRC,
java.lang.String value,
ILeafNode node)
collectAbstractElements
protected void collectAbstractElements(GrammarAlias.AbstractElementAlias ele,
java.util.Set<AbstractElement> elments)
collectNodes
protected java.util.List<INode> collectNodes(INode fromNode,
INode toNode)
emitUnassignedTokens
protected abstract void emitUnassignedTokens(org.eclipse.emf.ecore.EObject semanticObject,
ISyntacticSequencerPDAProvider.ISynTransition transition,
INode fromNode,
INode toNode)
enterAssignedAction
public boolean enterAssignedAction(Action action,
org.eclipse.emf.ecore.EObject semanticChild,
ICompositeNode node)
- Specified by:
enterAssignedAction
in interface ISemanticSequenceAcceptor
enterAssignedParserRuleCall
public boolean enterAssignedParserRuleCall(RuleCall rc,
org.eclipse.emf.ecore.EObject semanticChild,
ICompositeNode node)
- Specified by:
enterAssignedParserRuleCall
in interface ISemanticSequenceAcceptor
findTransition
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)
finish
public void finish()
- Specified by:
finish
in interface ISemanticSequenceAcceptor
getLastLeaf
protected INode getLastLeaf(INode node)
getLastNavigableState
protected ISyntacticSequencerPDAProvider.ISynNavigable getLastNavigableState()
getNodesFor
protected java.util.List<INode> getNodesFor(java.util.List<INode> nodes,
GrammarAlias.AbstractElementAlias ele)
getTokenText
protected java.lang.String getTokenText(INode node)
getUnassignedRuleCallToken
protected java.lang.String getUnassignedRuleCallToken(org.eclipse.emf.ecore.EObject semanticObject,
RuleCall ruleCall,
INode node)
getUnassignedRuleCallToken
protected java.lang.String getUnassignedRuleCallToken(RuleCall ruleCall,
INode node)
init
public void init(org.eclipse.emf.ecore.EObject context,
org.eclipse.emf.ecore.EObject semanticObject,
ISyntacticSequenceAcceptor sequenceAcceptor,
ISerializationDiagnostic.Acceptor errorAcceptor)
- Specified by:
init
in interface ISyntacticSequencer
leaveAssignedAction
public void leaveAssignedAction(Action action,
org.eclipse.emf.ecore.EObject semanticChild)
- Specified by:
leaveAssignedAction
in interface ISemanticSequenceAcceptor
leaveAssignedParserRuleCall
public void leaveAssignedParserRuleCall(RuleCall rc,
org.eclipse.emf.ecore.EObject semanticChild)
- Specified by:
leaveAssignedParserRuleCall
in interface ISemanticSequenceAcceptor
navigateToAbsorber
protected void navigateToAbsorber(AbstractElement ele,
INode node)
navigateToAbsorber
protected ISyntacticSequencerPDAProvider.ISynAbsorberState navigateToAbsorber(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState,
INode fromNode,
INode toNode,
RuleCallStack stack)
navigateToEmitter
protected void navigateToEmitter(AbstractElement ele,
INode node)
navigateToEmitter
protected ISyntacticSequencerPDAProvider.ISynFollowerOwner navigateToEmitter(ISyntacticSequencerPDAProvider.ISynFollowerOwner fromState,
INode fromNode,
AbstractElement toEle,
INode toNode,
RuleCallStack stack)