Package org.joni
Class Parser
- 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
class Parser extends Lexer
-
-
Field Summary
Fields Modifier and Type Field Description private static byte[]
BRACKET_END
private static int
POSIX_BRACKET_CHECK_LIMIT_LENGTH
private static int
POSIX_BRACKET_NAME_MIN_LEN
protected Regex
regex
protected int
returnCode
protected Node
root
-
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
-
Fields inherited from interface org.joni.exception.ErrorMessages
ERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE, ERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE, ERR_CONTROL_CODE_SYNTAX, ERR_DEFAULT_ENCODING_IS_NOT_SETTED, ERR_EMPTY_CHAR_CLASS, ERR_EMPTY_GROUP_NAME, ERR_EMPTY_RANGE_IN_CHAR_CLASS, ERR_END_PATTERN_AT_CONTROL, ERR_END_PATTERN_AT_ESCAPE, ERR_END_PATTERN_AT_LEFT_BRACE, ERR_END_PATTERN_AT_LEFT_BRACKET, ERR_END_PATTERN_AT_META, ERR_END_PATTERN_IN_GROUP, ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS, ERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY, ERR_INVALID_ARGUMENT, ERR_INVALID_BACKREF, ERR_INVALID_CHAR_IN_GROUP_NAME, ERR_INVALID_COMBINATION_OF_OPTIONS, ERR_INVALID_GROUP_NAME, ERR_INVALID_LOOK_BEHIND_PATTERN, ERR_INVALID_POSIX_BRACKET_TYPE, ERR_INVALID_REPEAT_RANGE_PATTERN, ERR_INVALID_WIDE_CHAR_VALUE, ERR_MATCH_STACK_LIMIT_OVER, ERR_MEMORY, ERR_META_CODE_SYNTAX, ERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, ERR_MULTIPLEX_DEFINED_NAME, ERR_MULTIPLEX_DEFINITION_NAME_CALL, ERR_NESTED_REPEAT_NOT_ALLOWED, ERR_NESTED_REPEAT_OPERATOR, ERR_NEVER_ENDING_RECURSION, ERR_NOT_SUPPORTED_ENCODING_COMBINATION, ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, ERR_OVER_THREAD_PASS_LIMIT_COUNT, ERR_PARSER_BUG, ERR_PREMATURE_END_OF_CHAR_CLASS, ERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR, ERR_STACK_BUG, ERR_TARGET_OF_REPEAT_OPERATOR_INVALID, ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED, ERR_TOO_BIG_BACKREF_NUMBER, ERR_TOO_BIG_NUMBER, ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE, ERR_TOO_BIG_SB_CHAR_VALUE, ERR_TOO_MANY_MULTI_BYTE_RANGES, ERR_TOO_SHORT_MULTI_BYTE_STRING, ERR_TYPE_BUG, ERR_UNDEFINED_BYTECODE, ERR_UNDEFINED_GROUP_OPTION, ERR_UNDEFINED_GROUP_REFERENCE, ERR_UNDEFINED_NAME_REFERENCE, ERR_UNEXPECTED_BYTECODE, ERR_UNMATCHED_CLOSE_PARENTHESIS, ERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS, ERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE, MISMATCH, NO_SUPPORT_CONFIG
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Parser(ScanEnvironment env, byte[] bytes, int p, int end)
-
Method Summary
-
Methods inherited from class org.joni.Lexer
backrefRelToAbs, fetchCharPropertyToCType, fetchName, 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 Detail
-
regex
protected final Regex regex
-
root
protected Node root
-
returnCode
protected int returnCode
-
POSIX_BRACKET_NAME_MIN_LEN
private static final int POSIX_BRACKET_NAME_MIN_LEN
- See Also:
- Constant Field Values
-
POSIX_BRACKET_CHECK_LIMIT_LENGTH
private static final int POSIX_BRACKET_CHECK_LIMIT_LENGTH
- See Also:
- Constant Field Values
-
BRACKET_END
private static final byte[] BRACKET_END
-
-
Constructor Detail
-
Parser
protected Parser(ScanEnvironment env, byte[] bytes, int p, int end)
-
-
Method Detail
-
parse
protected final Node parse()
-
parsePosixBracket
private boolean parsePosixBracket(CClassNode cc)
-
parseCharProperty
private CClassNode parseCharProperty()
-
codeExistCheck
private boolean codeExistCheck(int code, boolean ignoreEscaped)
-
parseCharClass
private CClassNode parseCharClass()
-
parseCharClassSbChar
private void parseCharClassSbChar(CClassNode cc, CClassNode.CCStateArg arg)
-
parseCharClassRangeEndVal
private void parseCharClassRangeEndVal(CClassNode cc, CClassNode.CCStateArg arg)
-
parseCharClassValEntry
private void parseCharClassValEntry(CClassNode cc, CClassNode.CCStateArg arg)
-
parseCharClassValEntry2
private void parseCharClassValEntry2(CClassNode cc, CClassNode.CCStateArg arg)
-
parseEncloseNamedGroup2
private Node parseEncloseNamedGroup2(boolean listCapture)
-
findStrPosition
private int findStrPosition(int[] s, int n, int from, int to, org.jcodings.Ptr nextChar)
-
parseExpTkByte
private Node parseExpTkByte(boolean group)
-
parseExpTkRawByte
private Node parseExpTkRawByte(boolean group)
-
parseExpRepeatForCar
private Node parseExpRepeatForCar(Node top, ConsAltNode target, boolean group)
-
parseSubExpError
private void parseSubExpError(TokenType term)
-
parseRegexp
private Node parseRegexp()
-
-