java.lang.Object
org.jcodings.IntHolder
org.joni.ScannerSupport
org.joni.Lexer
- All Implemented Interfaces:
org.jcodings.exception.ErrorMessages
,ErrorMessages
- Direct Known Subclasses:
Parser
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ScanEnvironment
protected final Regex
private static final int[]
protected final Syntax
protected final Token
Fields inherited from class org.jcodings.IntHolder
value
Fields inherited from interface org.jcodings.exception.ErrorMessages
ERR_COULD_NOT_REPLICATE, ERR_ENCODING_ALIAS_ALREADY_REGISTERED, ERR_ENCODING_ALREADY_REGISTERED, ERR_ENCODING_CLASS_DEF_NOT_FOUND, ERR_ENCODING_LOAD_ERROR, ERR_ENCODING_REPLICA_ALREADY_REGISTERED, ERR_ILLEGAL_CHARACTER, ERR_INVALID_CHAR_PROPERTY_NAME, ERR_INVALID_CODE_POINT_VALUE, ERR_NO_SUCH_ENCODNG, ERR_TOO_BIG_WIDE_CHAR_VALUE, ERR_TOO_LONG_WIDE_CHAR_VALUE, ERR_TRANSCODER_ALREADY_REGISTERED, ERR_TRANSCODER_CLASS_DEF_NOT_FOUND, ERR_TRANSCODER_LOAD_ERROR, ERR_TYPE_BUG
Fields inherited from interface org.joni.exception.ErrorMessages
CHAR_CLASS_VALUE_AT_END_OF_RANGE, CHAR_CLASS_VALUE_AT_START_OF_RANGE, CONTROL_CODE_SYNTAX, EMPTY_CHAR_CLASS, EMPTY_GROUP_NAME, EMPTY_RANGE_IN_CHAR_CLASS, END_PATTERN_AT_CONTROL, END_PATTERN_AT_ESCAPE, END_PATTERN_AT_LEFT_BRACE, END_PATTERN_AT_LEFT_BRACKET, END_PATTERN_AT_META, END_PATTERN_IN_GROUP, END_PATTERN_WITH_UNMATCHED_PARENTHESIS, GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY, INVALID_ARGUMENT, INVALID_BACKREF, INVALID_CHAR_IN_GROUP_NAME, INVALID_COMBINATION_OF_OPTIONS, INVALID_CONDITION_PATTERN, INVALID_GROUP_NAME, INVALID_LOOK_BEHIND_PATTERN, INVALID_POSIX_BRACKET_TYPE, INVALID_REPEAT_RANGE_PATTERN, INVALID_WIDE_CHAR_VALUE, META_CODE_SYNTAX, MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, MULTIPLEX_DEFINED_NAME, MULTIPLEX_DEFINITION_NAME_CALL, NESTED_REPEAT_NOT_ALLOWED, NESTED_REPEAT_OPERATOR, NEVER_ENDING_RECURSION, NOT_SUPPORTED_ENCODING_COMBINATION, NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, OVER_THREAD_PASS_LIMIT_COUNT, PARSER_BUG, PREMATURE_END_OF_CHAR_CLASS, PROPERTY_NAME_NEVER_TERMINATED, TARGET_OF_REPEAT_OPERATOR_INVALID, TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED, TOO_BIG_BACKREF_NUMBER, TOO_BIG_NUMBER, TOO_BIG_NUMBER_FOR_REPEAT_RANGE, TOO_BIG_SB_CHAR_VALUE, TOO_MANY_CAPTURE_GROUPS, TOO_MANY_MULTI_BYTE_RANGES, TOO_SHORT_DIGITS, TOO_SHORT_MULTI_BYTE_STRING, UNDEFINED_BYTECODE, UNDEFINED_GROUP_OPTION, UNDEFINED_GROUP_REFERENCE, UNDEFINED_NAME_REFERENCE, UNEXPECTED_BYTECODE, UNMATCHED_CLOSE_PARENTHESIS, UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS, UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Lexer
(Regex regex, Syntax syntax, byte[] bytes, int p, int end, WarnCallback warnings) -
Method Summary
Modifier and TypeMethodDescriptionprotected final int
backrefRelToAbs
(int relNo) protected final int
private void
private void
private void
protected final int
fetchName
(int startCode, boolean ref) protected void
private int
fetchNameErr
(int src, int nameEnd, String err) private int
fetchNameForNamedGroup
(int startCode, boolean ref) private final int
fetchNameForNoNamedGroup
(int startCode, boolean ref) private int
fetchNameTeardown
(int src, int endCode, int nameEnd, String err) private boolean
fetchNameWithLevel
(int startCode, org.jcodings.Ptr rbackNum, org.jcodings.Ptr rlevel) private int
protected final void
private void
fetchTokenFor_anchor
(int subType) private void
private void
private void
private void
private void
private void
fetchTokenFor_repeat
(int lower, int upper) private void
private void
private void
private void
protected final TokenType
private void
private void
fetchTokenInCCFor_charType
(boolean flag, int type) private void
private void
private void
private void
private void
private void
private int
invalidRangeQuantifier
(boolean synAllow) private int
nameEndCodePoint
(int start) private void
private boolean
strExistCheckWithEsc
(int[] s, int n, int bad) protected final void
syntaxWarn
(String message) protected final void
syntaxWarn
(String message, char c) Methods inherited from class org.joni.ScannerSupport
fetch, fetchTo, getBegin, getEnd, inc, left, mark, newInternalException, newSyntaxException, newValueException, newValueException, newValueException, peek, peekIs, reset, restore, scanUnsignedHexadecimalNumber, scanUnsignedNumber, scanUnsignedOctalNumber, unfetch
-
Field Details
-
regex
-
env
-
syntax
-
token
-
send
private static final int[] send
-
-
Constructor Details
-
Lexer
-
-
Method Details
-
fetchRangeQuantifier
private int fetchRangeQuantifier()- Returns:
- 0: normal {n,m}, 2: fixed {n} !introduce returnCode here
-
invalidRangeQuantifier
private int invalidRangeQuantifier(boolean synAllow) -
fetchEscapedValue
private void fetchEscapedValue() -
fetchEscapedValueBackSlash
private void fetchEscapedValueBackSlash() -
fetchEscapedValueControl
private void fetchEscapedValueControl() -
nameEndCodePoint
private int nameEndCodePoint(int start) -
fetchNameWithLevel
private boolean fetchNameWithLevel(int startCode, org.jcodings.Ptr rbackNum, org.jcodings.Ptr rlevel) -
fetchNameForNamedGroup
private int fetchNameForNamedGroup(int startCode, boolean ref) -
fetchNameErr
-
fetchNameTeardown
-
fetchNameForNoNamedGroup
private final int fetchNameForNoNamedGroup(int startCode, boolean ref) -
fetchName
protected final int fetchName(int startCode, boolean ref) -
strExistCheckWithEsc
private boolean strExistCheckWithEsc(int[] s, int n, int bad) -
fetchTokenInCCFor_charType
private void fetchTokenInCCFor_charType(boolean flag, int type) -
fetchTokenInCCFor_p
private void fetchTokenInCCFor_p() -
fetchTokenInCCFor_x
private void fetchTokenInCCFor_x() -
fetchTokenInCCFor_u
private void fetchTokenInCCFor_u() -
fetchTokenInCCFor_digit
private void fetchTokenInCCFor_digit() -
fetchTokenInCCFor_posixBracket
private void fetchTokenInCCFor_posixBracket() -
fetchTokenInCCFor_and
private void fetchTokenInCCFor_and() -
fetchTokenInCC
-
backrefRelToAbs
protected final int backrefRelToAbs(int relNo) -
fetchTokenFor_repeat
private void fetchTokenFor_repeat(int lower, int upper) -
fetchTokenFor_openBrace
private void fetchTokenFor_openBrace() -
fetchTokenFor_anchor
private void fetchTokenFor_anchor(int subType) -
fetchTokenFor_xBrace
private void fetchTokenFor_xBrace() -
fetchTokenFor_uHex
private void fetchTokenFor_uHex() -
fetchTokenFor_digit
private void fetchTokenFor_digit() -
fetchTokenFor_zero
private void fetchTokenFor_zero() -
fetchTokenFor_NamedBackref
private void fetchTokenFor_NamedBackref() -
fetchTokenFor_subexpCall
private void fetchTokenFor_subexpCall() -
fetchNamedBackrefToken
protected void fetchNamedBackrefToken() -
fetchTokenFor_charProperty
private void fetchTokenFor_charProperty() -
fetchTokenFor_metaChars
private void fetchTokenFor_metaChars() -
fetchToken
protected final void fetchToken() -
greedyCheck
private void greedyCheck() -
possessiveCheck
private void possessiveCheck() -
fetchCharPropertyToCType
protected final int fetchCharPropertyToCType() -
syntaxWarn
-
syntaxWarn
-