public class RoseParser
extends java.lang.Object
E -> ( O ) | ( L ) | ( V ) | S' ;expression S' -> S | "|" S' ;sequence of strings S" -> EPS | S' S" ;sequence of strings inside list O -> object S P' ;object V -> value S S' ;value P' -> EPS | P P' ;sequence of pairs P -> K E ;pair L -> list S O' | list S S" ;list O' -> EPS | ( O ) O' ;sequence of objectsHere are the terminals:
K is a key token (always one word) S is a string token (can have multiple words) object is an object token list is a list token "|" is a vertical bar token EPS is an empty string token
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
baseId |
protected java.util.Stack<java.lang.Integer> |
idStack |
protected boolean |
isAllowed |
protected boolean |
isListMapping |
protected boolean |
isRoot |
protected boolean |
isTreeOnly |
protected RoseLexer |
lexer |
protected boolean |
mapProperties |
protected RoseNode |
modelTree |
protected boolean |
noLogicalPresentation |
protected RoseNode |
versionTree |
Constructor and Description |
---|
RoseParser(RoseLexer lexer) |
RoseParser(RoseLexer lexer,
boolean isTreeOnly) |
RoseParser(RoseLexer lexer,
boolean isTreeOnly,
boolean noPresentation) |
Modifier and Type | Method and Description |
---|---|
RoseNode |
getModelTree() |
RoseNode |
getVersionTree() |
void |
parse() |
void |
traverseTree(java.util.List<java.lang.Integer> path) |
protected RoseLexer lexer
protected RoseNode versionTree
protected RoseNode modelTree
protected java.lang.String baseId
protected java.util.Stack<java.lang.Integer> idStack
protected boolean isTreeOnly
protected boolean isAllowed
protected boolean isRoot
protected boolean isListMapping
protected boolean noLogicalPresentation
protected boolean mapProperties