public class Lexer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private boolean |
m_backup |
private boolean[] |
m_backupCases |
private java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> |
m_backupPatterns |
private int[] |
m_beginLocations |
private boolean |
m_bolStates |
private int |
m_caseCount |
private RuleDoc |
m_defaultRule |
private DFATable |
m_dfa |
private java.util.Vector<ESet> |
m_dfaStates |
private Document |
m_doc |
private java.util.Set<LexerStateDoc> |
m_incompleteStates |
private LexerStateDoc[] |
m_lexerStates |
private NFAFactory |
m_nfaFactory |
private java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> |
m_unusedPatterns |
private static java.lang.String |
PROP_BOL_SET |
private static java.lang.String |
PROP_LEXER |
private static java.lang.String |
PROP_NFA |
private static java.lang.String |
PROP_START_SET |
static java.lang.String |
WARN_BACKUP |
static java.lang.String |
WARN_CANNOT_MATCH |
static java.lang.String |
WARN_INCOMPLETE_STATE |
static java.text.MessageFormat |
WARN_MSG |
static java.text.MessageFormat |
WARN_NO_RULES |
Modifier and Type | Method and Description |
---|---|
private int |
buildDFA(ESet startSet,
ESet bolSet) |
private ESet |
eClosure(ESet T) |
java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> |
getBackupPatterns() |
int[] |
getBeginLocations() |
int |
getCaseCount() |
CCL |
getCCL() |
DFATable |
getDFA() |
Document |
getDocument() |
ECS |
getECS() |
java.util.Set<LexerStateDoc> |
getIncompleteStates() |
static Lexer |
getLexer(Document doc) |
LexerStateDoc[] |
getLexerStates() |
(package private) NFAFactory |
getNFAFactory() |
java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> |
getUnusedPatterns() |
boolean |
hasBackup()
After all the patterns have parsed, call this function to check if there are
backups in the statement (i.e.
|
boolean |
hasBolStates()
After all the patterns have parsed, call this function to check if the lexer
has to be aware of beginning of the line condition.
|
(package private) int |
incCaseCounter() |
private ESet |
move(ESet T,
int a) |
void |
parse() |
private void |
unmarknfa(java.util.Collection<NFA> col) |
void |
warn(java.lang.String msg) |
public static java.text.MessageFormat WARN_MSG
public static java.text.MessageFormat WARN_NO_RULES
public static java.lang.String WARN_INCOMPLETE_STATE
public static java.lang.String WARN_CANNOT_MATCH
public static java.lang.String WARN_BACKUP
private static final java.lang.String PROP_LEXER
private static final java.lang.String PROP_NFA
private static final java.lang.String PROP_START_SET
private static final java.lang.String PROP_BOL_SET
private final Document m_doc
private NFAFactory m_nfaFactory
private int m_caseCount
private boolean m_bolStates
private boolean m_backup
private boolean[] m_backupCases
private final DFATable m_dfa
private java.util.Vector<ESet> m_dfaStates
private LexerStateDoc[] m_lexerStates
private int[] m_beginLocations
private java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> m_backupPatterns
private java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> m_unusedPatterns
private java.util.Set<LexerStateDoc> m_incompleteStates
private final RuleDoc m_defaultRule
private Lexer(Document doc)
public Document getDocument()
public int getCaseCount()
int incCaseCounter()
public ECS getECS()
public CCL getCCL()
NFAFactory getNFAFactory()
public boolean hasBolStates()
public boolean hasBackup()
public DFATable getDFA()
public LexerStateDoc[] getLexerStates()
public int[] getBeginLocations()
public void warn(java.lang.String msg)
public void parse()
private void unmarknfa(java.util.Collection<NFA> col)
public java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> getUnusedPatterns()
public java.util.Map<LexerStateDoc,java.util.Collection<PatternDoc>> getBackupPatterns()
public java.util.Set<LexerStateDoc> getIncompleteStates()