Class RegExps
java.lang.Object
jflex.core.RegExps
Stores all rules of the specification for later access in the RegExp to NFA conversion.
- Version:
- JFlex 1.9.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionthe action of a regexpflag if it is a BOL regexp(package private) intCount of how many general lookahead expressions there are.the spec line in which a regexp is usedthe lookahead expressionthe forward DFA entry point of the lookahead expressionthe regexpthe lexical states in which the regexp is used -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStates.voidcheckActions.voidcheckLookAheads.voiddump()Print the list of regExps to Out.dumpvoidexpandPreClasses(Map<Integer, IntCharSet> preclassCache, CharClasses charClasses, boolean caseless) Replace all predefined character classes with primitive IntCharSet classes.getAction(int num) getAction.intgetLine(int num) getLine.getLookAhead(int num) getLookAhead.intgetLookEntry(int num) getLookEntry.intgetNum()getNum.getRegExp(int num) getRegExp.getStates(int num) Getter for the fieldstates.intinsert(int line, List<Integer> stateList, RegExp regExp, Action action, Boolean isBOL, RegExp lookAhead) insert.intinsert.booleanisBOL(int num) isBOL.booleanisEOF(int num) isEOF.private voidlookAheadCase(int regExpNum) Determine which case of lookahead expression regExpNum points to (if any).voidmakeCCLs(CharClasses classes, boolean caseless) Make character class partitions for all classes mentioned in the spec.intNFASize.voidNormalise all character class expressions in regexp and lookahead rules.voidExpand all macro calls in regexp and lookahead rules.
-
Field Details
-
lines
-
states
-
regExps
-
actions
-
BOL
-
look
-
look_entry
-
gen_look_count
int gen_look_countCount of how many general lookahead expressions there are. Need 2*gen_look_count additional DFA entry points.
-
-
Constructor Details
-
RegExps
public RegExps()Constructor for RegExps.
-
-
Method Details
-
insert
-
insert
-
addStates
-
getNum
public int getNum()getNum.- Returns:
- a int.
-
isBOL
public boolean isBOL(int num) isBOL.- Parameters:
num- a int.- Returns:
- a boolean.
-
getLookAhead
-
isEOF
public boolean isEOF(int num) isEOF.- Parameters:
num- a int.- Returns:
- a boolean.
-
getStates
-
getRegExp
-
getLine
public int getLine(int num) getLine.- Parameters:
num- a int.- Returns:
- a int.
-
getLookEntry
public int getLookEntry(int num) getLookEntry.- Parameters:
num- a int.- Returns:
- a int.
-
checkActions
public void checkActions()checkActions. -
getAction
-
NFASize
-
checkLookAheads
public void checkLookAheads()checkLookAheads. -
lookAheadCase
private void lookAheadCase(int regExpNum) Determine which case of lookahead expression regExpNum points to (if any). Set case data in corresponding action. Increment count of general lookahead expressions for entry points of the two additional DFAs. Register DFA entry point in RegExpsNeeds to be run before adding any regexps/rules to be able to reserve the correct amount of space of lookahead DFA entry points.
- Parameters:
regExpNum- the number of the regexp in RegExps.
-
normaliseMacros
Expand all macro calls in regexp and lookahead rules. -
normaliseCCLs
Normalise all character class expressions in regexp and lookahead rules.- Parameters:
f- the spec file for error reporting
-
expandPreClasses
public void expandPreClasses(Map<Integer, IntCharSet> preclassCache, CharClasses charClasses, boolean caseless) Replace all predefined character classes with primitive IntCharSet classes.Assumes normalised expressions.
-
dump
public void dump()Print the list of regExps to Out.dump -
makeCCLs
Make character class partitions for all classes mentioned in the spec.Assumes normalised expressions.
-