Package org.sonar.sslr.internal.vm
Class Machine
java.lang.Object
org.sonar.sslr.internal.vm.Machine
- All Implemented Interfaces:
CharSequence
Duplicates corresponding class from SSLR to improve:
- Performance in case of parsing list of tokens multiple times, but with different starting positions. Hot spot for original class in such case - is a conversion from list to array.
- Error reporting (see COBOL-873, COBOL-435).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadvanceIndex(int offset) voidcharcharAt(int offset) voidcreateLeafNode(Matcher matcher, int offset) voidintintgetIndex()voidjump(int offset) intlength()static ParsingResultparse(char[] input, CompiledGrammar grammar) static ParseNodeparse(List<Token> tokens, CompiledGrammar grammar) peek()voidpop()voidvoidpushBacktrack(int offset) voidpushReturn(int returnOffset, Matcher matcher, int callOffset) voidsetAddress(int address) voidsetIgnoreErrors(boolean ignoreErrors) voidsetIndex(int index) subSequence(int start, int end) Not supported.tokenAt(int offset) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.CharSequence
chars, codePoints, toString
-
Constructor Details
-
Machine
-
-
Method Details
-
parse
-
parse
-
getAddress
public int getAddress() -
setAddress
public void setAddress(int address) -
jump
public void jump(int offset) -
popReturn
public void popReturn() -
pushReturn
-
pushBacktrack
public void pushBacktrack(int offset) -
pop
public void pop() -
peek
-
setIgnoreErrors
public void setIgnoreErrors(boolean ignoreErrors) -
backtrack
public void backtrack() -
createNode
public void createNode() -
createLeafNode
-
getIndex
public int getIndex() -
setIndex
public void setIndex(int index) -
advanceIndex
public void advanceIndex(int offset) -
length
public int length()- Specified by:
lengthin interfaceCharSequence
-
charAt
public char charAt(int offset) - Specified by:
charAtin interfaceCharSequence
-
subSequence
Not supported.- Specified by:
subSequencein interfaceCharSequence- Throws:
UnsupportedOperationException- always
-
tokenAt
-