public abstract class AbstractPDAProvider<CTX> extends Object implements IPDAProvider<CTX>
| Modifier and Type | Class and Description |
|---|---|
protected static class |
AbstractPDAProvider.PDAContext<CTX> |
protected static class |
AbstractPDAProvider.PDAState |
protected static class |
AbstractPDAProvider.RuleCallStackElement |
| Constructor and Description |
|---|
AbstractPDAProvider() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
canEnterRuleCall(INFAState<?,?> state) |
protected abstract boolean |
canPass(CTX context,
INFAState<?,?> state,
org.eclipse.emf.ecore.EClass constructedType) |
protected boolean |
canReachContextEnd(AbstractPDAProvider.PDAContext<CTX> context,
AbstractPDAProvider.RuleCallStackElement stack,
INFAState<?,?> fromNfa,
org.eclipse.emf.ecore.EClass constructedType,
boolean returning,
boolean canReturn,
Set<Pair<Boolean,INFAState<?,?>>> visited) |
protected AbstractPDAProvider.PDAContext<CTX> |
createContext(CTX obj) |
protected AbstractPDAProvider.PDAState |
createState(AbstractPDAProvider.PDAContext<CTX> ctx,
AbstractPDAProvider.RuleCallStackElement stack,
INFAState<?,?> fromNfa,
org.eclipse.emf.ecore.EClass constructedType,
boolean returning,
boolean canReturn,
Set<Pair<Boolean,INFAState<?,?>>> visited) |
protected AbstractPDAProvider.PDAState |
createState(IPDAState.PDAStateType type,
AbstractElement element) |
protected org.eclipse.emf.ecore.EClass |
getConstructedType(AbstractElement ele) |
protected abstract List<INFAState<?,?>> |
getFollowers(CTX context,
INFAState<?,?> state,
boolean returning,
boolean canReturn) |
IPDAState |
getPDA(CTX context) |
protected abstract List<INFAState<?,?>> |
getStartFollowers(CTX context) |
protected AbstractPDAProvider.PDAState |
getState(AbstractPDAProvider.PDAContext<CTX> ctx,
INFAState<?,?> state,
boolean returning) |
protected abstract boolean |
isFinalState(CTX context,
INFAState<?,?> state,
boolean returning,
boolean canReturn) |
protected AbstractPDAProvider.RuleCallStackElement |
stackPush(AbstractPDAProvider.RuleCallStackElement stack,
INFAState<?,?> value) |
protected abstract boolean canEnterRuleCall(INFAState<?,?> state)
protected abstract boolean canPass(CTX context, INFAState<?,?> state, org.eclipse.emf.ecore.EClass constructedType)
protected org.eclipse.emf.ecore.EClass getConstructedType(AbstractElement ele)
protected boolean canReachContextEnd(AbstractPDAProvider.PDAContext<CTX> context, AbstractPDAProvider.RuleCallStackElement stack, INFAState<?,?> fromNfa, org.eclipse.emf.ecore.EClass constructedType, boolean returning, boolean canReturn, Set<Pair<Boolean,INFAState<?,?>>> visited)
protected AbstractPDAProvider.PDAContext<CTX> createContext(CTX obj)
protected AbstractPDAProvider.PDAState createState(IPDAState.PDAStateType type, AbstractElement element)
protected AbstractPDAProvider.PDAState createState(AbstractPDAProvider.PDAContext<CTX> ctx, AbstractPDAProvider.RuleCallStackElement stack, INFAState<?,?> fromNfa, org.eclipse.emf.ecore.EClass constructedType, boolean returning, boolean canReturn, Set<Pair<Boolean,INFAState<?,?>>> visited)
public IPDAState getPDA(CTX context)
getPDA in interface IPDAProvider<CTX>protected AbstractPDAProvider.PDAState getState(AbstractPDAProvider.PDAContext<CTX> ctx, INFAState<?,?> state, boolean returning)
protected abstract boolean isFinalState(CTX context, INFAState<?,?> state, boolean returning, boolean canReturn)
protected abstract List<INFAState<?,?>> getFollowers(CTX context, INFAState<?,?> state, boolean returning, boolean canReturn)
protected AbstractPDAProvider.RuleCallStackElement stackPush(AbstractPDAProvider.RuleCallStackElement stack, INFAState<?,?> value)
Copyright © 2015. All Rights Reserved.