java.lang.Object
org.jcodings.IntHolder
org.joni.ScannerSupport
org.joni.Lexer
org.joni.Parser
- All Implemented Interfaces:
org.jcodings.exception.ErrorMessages
,ErrorMessages
- Direct Known Subclasses:
Analyser
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final byte[]
private static final int
private static final int
private static final int
protected int
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
Parser
(Regex regex, Syntax syntax, byte[] bytes, int p, int end, WarnCallback warnings) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addPropertyToCC
(CClassNode cc, org.jcodings.unicode.UnicodeCodeRange range, boolean not) private Node
cClassCaseFold
(Node node, CClassNode cc, CClassNode ascCc) private boolean
codeExistCheck
(int code, boolean ignoreEscaped) private void
createNodeFromArray
(boolean list, Node[] nodes, int np, int nodeArray) private ListNode
createNodeFromArray
(Node[] nodes, int nodeArray) private void
createPropertyNode
(Node[] nodes, int np, org.jcodings.unicode.UnicodeCodeRange range) private int
findStrPosition
(int[] s, int n, int from, int to, org.jcodings.Ptr nextChar) private boolean
isInvalidQuantifier
(Node node) private BackRefNode
newBackRef
(int[] backRefs) private Node
private Node
private Node
parseBranch
(TokenType term) private Node
private CClassNode
parseCharClass
(org.jcodings.ObjPtr<CClassNode> ascNode) private void
parseCharClassRangeEndVal
(CClassNode cc, CClassNode ascCc, CClassNode.CCStateArg arg) private void
parseCharClassSbChar
(CClassNode cc, CClassNode ascCc, CClassNode.CCStateArg arg) private void
parseCharClassValEntry
(CClassNode cc, CClassNode ascCc, CClassNode.CCStateArg arg) private void
parseCharClassValEntry2
(CClassNode cc, CClassNode ascCc, CClassNode.CCStateArg arg) private Node
private Node
parseCharType
(Node node) private Node
parseEnclose
(TokenType term) private Node
parseEncloseNamedGroup2
(boolean listCapture) private Node
private Node
parseExpRepeat
(Node target, boolean group) private Node
parseExpRepeatForCar
(Node top, ListNode target, boolean group) private Node
parseExpTkByte
(boolean group) private Node
parseExpTkRawByte
(boolean group) private Node
private Node
private boolean
parsePosixBracket
(CClassNode cc, CClassNode ascCc) private Node
protected final Node
private Node
parseStringLoop
(StringNode node, boolean group) private Node
parseSubExp
(TokenType term) private void
parseSubExpError
(TokenType term) private void
quantifierNode
(Node[] nodes, int np, int lower, int upper) private void
quantifierPropertyNode
(Node[] nodes, int np, org.jcodings.unicode.UnicodeCodeRange range, char repetitions) Methods inherited from class org.joni.Lexer
backrefRelToAbs, fetchCharPropertyToCType, fetchName, fetchNamedBackrefToken, fetchToken, fetchTokenInCC, syntaxWarn, syntaxWarn
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
-
returnCode
protected int returnCode -
POSIX_BRACKET_NAME_MIN_LEN
private static final int POSIX_BRACKET_NAME_MIN_LEN- See Also:
-
POSIX_BRACKET_CHECK_LIMIT_LENGTH
private static final int POSIX_BRACKET_CHECK_LIMIT_LENGTH- See Also:
-
BRACKET_END
private static final byte[] BRACKET_END -
NODE_COMMON_SIZE
private static final int NODE_COMMON_SIZE- See Also:
-
-
Constructor Details
-
Parser
-
-
Method Details
-
parsePosixBracket
-
codeExistCheck
private boolean codeExistCheck(int code, boolean ignoreEscaped) -
parseCharClass
-
parseCharClassSbChar
-
parseCharClassRangeEndVal
-
parseCharClassValEntry
-
parseCharClassValEntry2
-
parseEnclose
-
parseEncloseNamedGroup2
-
findStrPosition
private int findStrPosition(int[] s, int n, int from, int to, org.jcodings.Ptr nextChar) -
parseExp
-
parseLineBreak
-
addPropertyToCC
private void addPropertyToCC(CClassNode cc, org.jcodings.unicode.UnicodeCodeRange range, boolean not) -
createPropertyNode
-
quantifierNode
-
quantifierPropertyNode
private void quantifierPropertyNode(Node[] nodes, int np, org.jcodings.unicode.UnicodeCodeRange range, char repetitions) -
createNodeFromArray
-
createNodeFromArray
-
parseExtendedGraphemeCluster
-
parseExpTkByte
-
parseStringLoop
-
parseExpTkRawByte
-
parseExpRepeat
-
parseExpRepeatForCar
-
isInvalidQuantifier
-
parseQuoteOpen
-
parseCharType
-
cClassCaseFold
-
parseCharProperty
-
parseAnycharAnytime
-
parseBackref
-
newBackRef
-
parseCall
-
parseBranch
-
parseSubExp
-
parseSubExpError
-
parseRegexp
-