public class SyntaxCodeParser extends AbstractCodeParser
Phases:
| Modifier and Type | Class and Description |
|---|---|
static class |
SyntaxCodeParser.StackElement |
actLine, bActionDone, currentChar, currentNonTerminalName, currentRuleIndex, currentType, DISTINGUISHED_SYMBOL_NAME, finalActions, inputChars, isCurlyBrace, isEqual, isError, isErrorToken, isFirstToken, isRegexSlash, markers, mustClose, numberOfErrorTokens, recognized, ruleAssociativity, rulePrecedence, tokenActionCount, tokenNumberenvironment, runtimeData| Constructor and Description |
|---|
SyntaxCodeParser(Environment env) |
| Modifier and Type | Method and Description |
|---|---|
void |
dumpTokens()
Perform a round of tokenization and dump the results
|
void |
execute()
Execute this phase
|
int |
getCharacterClassSymbol()
Get a symbol while in a character class
|
char |
getNextChar(boolean init)
Get the next character
|
int |
getNormalSymbol()
Standard tokens.
|
int |
getRegexSymbol() |
SyntaxCodeParser.StackElement |
getResult() |
int |
getTokenIndex(int token) |
String |
getTokenName(int token) |
boolean |
isVerbose() |
int |
parse()
Main parser routine, uses Shift, Reduce and Recover
|
protected int |
parserElement(boolean init)
Get next token
|
protected int |
parserError(int state,
int sym,
int stackTop,
String errorMessage)
report an error
|
void |
setVerbose(boolean verbose)
Change the verbose flag
|
computeAssociativityAndPrecedence, computeRootSymbol, declareOneItem, declareOneNonTerminal, declareOneTerminal, declareOneType, declareStart, decodeControlChar, decodeEscape, decodeHex, decodeOctal, finalizeRules, finalizeSymbols, generateCaseEnd, generateCaseStatement, generateCodeGeneratorFooter, generateCodeGeneratorHeader, generateConstant, generateDeclaration, generateDefaultRegexCode, generateDollarDollar, generateDollarLetter, generateDollarNumber, generateLexerCode, generateLexerFooter, generateRegexCode, generateStructure, generateTokenDefinitions, generateTopRecoveryTable, getCurrentCharacter, getDollarTextIndexFromStream, getNextCharacter, getSymbolWithName, getTypeFromStream, groupTokens, lineNumber, locateRuleWithId, nameOneNonTerminal, newEmptyRule, newItem, newRootRule, newRule, reviewDeclarations, ruleAction, setLeftHandOfLastRule, skipAndOutputCompositeComment, ungetCharpublic SyntaxCodeParser(Environment env)
public void setVerbose(boolean verbose)
verbose - if verbose is desiredpublic boolean isVerbose()
public int parse()
public SyntaxCodeParser.StackElement getResult()
public String getTokenName(int token)
token - is the number of the tokenpublic int getTokenIndex(int token)
token - is the number of the tokenpublic void dumpTokens()
dumpTokens in class AbstractCodeParserprotected int parserElement(boolean init)
init - is set to true in the first callprotected int parserError(int state,
int sym,
int stackTop,
String errorMessage)
state - the state of the errorsym - causing tokenstackTop - the position in the stack when the error happenederrorMessage - is the suggested messagepublic int getCharacterClassSymbol()
public char getNextChar(boolean init)
init - indicates if this is the first callpublic int getRegexSymbol()
public int getNormalSymbol()
Lexerpublic void execute()
throws ParsingException
execute in class AbstractCodeParserParsingException - on error. Check cause and message.Copyright © 2017. All rights reserved.