- java.lang.Object
-
- org.joni.Compiler
-
- All Implemented Interfaces:
org.jcodings.exception.ErrorMessages,ErrorMessages
- Direct Known Subclasses:
ArrayCompiler
abstract class Compiler extends java.lang.Object implements ErrorMessages
-
-
Field Summary
Fields Modifier and Type Field Description protected Analyseranalyserprotected org.jcodings.Encodingencprotected Regexregex-
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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidaddCompileString(byte[] bytes, int p, int mbLength, int strLength, boolean ignoreCase)(package private) voidcompile(Node root)protected abstract voidcompileAltNode(ListNode node)protected abstract voidcompileAnchorNode(AnchorNode node)protected abstract voidcompileAnyCharNode()protected abstract voidcompileBackrefNode(BackRefNode node)protected abstract voidcompileCallNode(CallNode node)protected abstract voidcompileCClassNode(CClassNode node)protected abstract voidcompileCECQuantifierNode(QuantifierNode node)protected abstract voidcompileCTypeNode(CTypeNode node)protected abstract voidcompileEncloseNode(EncloseNode node)protected abstract voidcompileNonCECQuantifierNode(QuantifierNode node)protected abstract voidcompileOptionNode(EncloseNode node)private voidcompileStringNode(StringNode node)private voidcompileStringRawNode(StringNode sn)protected voidcompileTree(Node node)protected voidcompileTreeNTimes(Node node, int n)protected abstract voidfinish()protected voidnewInternalException(java.lang.String message)protected voidnewSyntaxException(java.lang.String message)protected abstract voidprepare()
-
-
-
Constructor Detail
-
Compiler
protected Compiler(Analyser analyser)
-
-
Method Detail
-
compile
final void compile(Node root)
-
prepare
protected abstract void prepare()
-
finish
protected abstract void finish()
-
compileAltNode
protected abstract void compileAltNode(ListNode node)
-
compileStringRawNode
private void compileStringRawNode(StringNode sn)
-
compileStringNode
private void compileStringNode(StringNode node)
-
addCompileString
protected abstract void addCompileString(byte[] bytes, int p, int mbLength, int strLength, boolean ignoreCase)
-
compileCClassNode
protected abstract void compileCClassNode(CClassNode node)
-
compileCTypeNode
protected abstract void compileCTypeNode(CTypeNode node)
-
compileAnyCharNode
protected abstract void compileAnyCharNode()
-
compileCallNode
protected abstract void compileCallNode(CallNode node)
-
compileBackrefNode
protected abstract void compileBackrefNode(BackRefNode node)
-
compileCECQuantifierNode
protected abstract void compileCECQuantifierNode(QuantifierNode node)
-
compileNonCECQuantifierNode
protected abstract void compileNonCECQuantifierNode(QuantifierNode node)
-
compileOptionNode
protected abstract void compileOptionNode(EncloseNode node)
-
compileEncloseNode
protected abstract void compileEncloseNode(EncloseNode node)
-
compileAnchorNode
protected abstract void compileAnchorNode(AnchorNode node)
-
compileTree
protected final void compileTree(Node node)
-
compileTreeNTimes
protected final void compileTreeNTimes(Node node, int n)
-
newSyntaxException
protected void newSyntaxException(java.lang.String message)
-
newInternalException
protected void newInternalException(java.lang.String message)
-
-