Logo Search packages:      
Sourcecode: jruby-joni version File versions  Download package

Public Attributes | Protected Member Functions | Protected Attributes | Package Functions | Package Attributes | Private Member Functions | Static Private Member Functions | Static Private Attributes

org::joni::ArrayCompiler Class Reference

Inheritance diagram for org::joni::ArrayCompiler:
Inheritance graph
[legend]
Collaboration diagram for org::joni::ArrayCompiler:
Collaboration graph
[legend]

List of all members.

Public Attributes

final String ERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE = "char-class value at end of range"
final String ERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE = "char-class value at start of range"
final String ERR_CONTROL_CODE_SYNTAX = "invalid control-code syntax"
final String ERR_DEFAULT_ENCODING_IS_NOT_SETTED = "default multibyte-encoding is not setted"
final String ERR_EMPTY_CHAR_CLASS = "empty char-class"
final String ERR_EMPTY_GROUP_NAME = "group name is empty"
final String ERR_EMPTY_RANGE_IN_CHAR_CLASS = "empty range in char class"
final String ERR_END_PATTERN_AT_CONTROL = "end pattern at control"
final String ERR_END_PATTERN_AT_ESCAPE = "end pattern at escape"
final String ERR_END_PATTERN_AT_LEFT_BRACE = "end pattern at left brace"
final String ERR_END_PATTERN_AT_LEFT_BRACKET = "end pattern at left bracket"
final String ERR_END_PATTERN_AT_META = "end pattern at meta"
final String ERR_END_PATTERN_IN_GROUP = "end pattern in group"
final String ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS = "end pattern with unmatched parenthesis"
final String ERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY = "group number is too big for capture history"
final String ERR_INVALID_ARGUMENT = "invalid argument"
final String ERR_INVALID_BACKREF = "invalid backref number"
final String ERR_INVALID_CHAR_IN_GROUP_NAME = "invalid char in group number <%n>"
final String ERR_INVALID_COMBINATION_OF_OPTIONS = "invalid combination of options"
final String ERR_INVALID_GROUP_NAME = "invalid group name <%n>"
final String ERR_INVALID_LOOK_BEHIND_PATTERN = "invalid pattern in look-behind"
final String ERR_INVALID_POSIX_BRACKET_TYPE = "invalid POSIX bracket type"
final String ERR_INVALID_REPEAT_RANGE_PATTERN = "invalid repeat range {lower,upper}"
final String ERR_INVALID_WIDE_CHAR_VALUE = "invalid wide-char value"
final String ERR_MATCH_STACK_LIMIT_OVER = "match-stack limit over"
final String ERR_MEMORY = "fail to memory allocation"
final String ERR_META_CODE_SYNTAX = "invalid meta-code syntax"
final String ERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE = "mismatch multibyte code length in char-class range"
final String ERR_MULTIPLEX_DEFINED_NAME = "multiplex defined name <%n>"
final String ERR_MULTIPLEX_DEFINITION_NAME_CALL = "multiplex definition name <%n> call"
final String ERR_NESTED_REPEAT_OPERATOR = "nested repeat operator"
final String ERR_NEVER_ENDING_RECURSION = "never ending recursion"
final String ERR_NOT_SUPPORTED_ENCODING_COMBINATION = "not supported encoding combination"
final String ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED = "numbered backref/call is not allowed. (use name)"
final String ERR_OVER_THREAD_PASS_LIMIT_COUNT = "over thread pass limit count"
final String ERR_PARSER_BUG = "internal parser error (bug)"
final String ERR_PREMATURE_END_OF_CHAR_CLASS = "premature end of char-class"
final String ERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR = "can't convert to wide-char on specified multibyte-encoding"
final String ERR_STACK_BUG = "stack error (bug)"
final String ERR_TARGET_OF_REPEAT_OPERATOR_INVALID = "target of repeat operator is invalid"
final String ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED = "target of repeat operator is not specified"
final String ERR_TOO_BIG_BACKREF_NUMBER = "too big backref number"
final String ERR_TOO_BIG_NUMBER = "too big number"
final String ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE = "too big number for repeat range"
final String ERR_TOO_BIG_SB_CHAR_VALUE = "too big singlebyte char value"
final String ERR_TOO_MANY_MULTI_BYTE_RANGES = "too many multibyte code ranges are specified"
final String ERR_TOO_SHORT_MULTI_BYTE_STRING = "too short multibyte code string"
final String ERR_TYPE_BUG = "undefined type (bug)"
final String ERR_UNDEFINED_BYTECODE = "undefined bytecode (bug)"
final String ERR_UNDEFINED_GROUP_OPTION = "undefined group option"
final String ERR_UNDEFINED_GROUP_REFERENCE = "undefined group <%n> reference"
final String ERR_UNDEFINED_NAME_REFERENCE = "undefined name <%n> reference"
final String ERR_UNEXPECTED_BYTECODE = "unexpected bytecode (bug)"
final String ERR_UNMATCHED_CLOSE_PARENTHESIS = "unmatched close parenthesis"
final String ERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS = "unmatched range specifier in char-class"
final String ERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE = "upper is smaller than lower in repeat range"
final String NO_SUPPORT_CONFIG = "no support in this configuration"

Protected Member Functions

final void addCompileString (byte[]bytes, int p, int mbLength, int strLength, boolean ignoreCase)
void compileAltNode (ConsAltNode node)
void compileAnchorNode (AnchorNode node)
void compileAnyCharNode ()
void compileBackrefNode (BackRefNode node)
void compileCallNode (CallNode node)
void compileCClassNode (CClassNode cc)
void compileCECQuantifierNode (QuantifierNode qn)
void compileCTypeNode (CTypeNode node)
void compileEncloseNode (EncloseNode node)
void compileNonCECQuantifierNode (QuantifierNode qn)
void compileOptionNode (EncloseNode node)
final void compileTree (Node node)
final void compileTreeNTimes (Node node, int n)
final void finish ()
void newInternalException (String message)
void newSyntaxException (String message)
final void prepare ()

Protected Attributes

final Analyser analyser
final Encoding enc
final Regex regex

Package Functions

 ArrayCompiler (Analyser analyser)
final void compile ()
void setInt (int i, int offset)

Package Attributes

final String MISMATCH = "mismatch"

Private Member Functions

void addAbsAddr (int addr)
void addBytes (byte[]bytes, int p, int length)
int addCompileStringlength (byte[]bytes, int p, int mbLength, int strLength, boolean ignoreCase)
void addInt (int i)
void addInts (int[]ints, int length)
void addLength (int length)
void addMemNum (int num)
void addMultiByteCClass (CodeRangeBuffer mbuf)
void addObject (Object o)
void addOpcode (int opcode)
void addOpcodeOption (int opcode, int option)
void addOpcodeRelAddr (int opcode, int addr)
void addOption (int option)
void addPointer (Object o)
void addRelAddr (int addr)
void addStateCheckNum (int num)
int compileCECLengthQuantifierNode (QuantifierNode qn)
int compileLengthAnchorNode (AnchorNode node)
int compileLengthCClassNode (CClassNode cc)
int compileLengthEncloseNode (EncloseNode node)
int compileLengthOptionNode (EncloseNode node)
int compileLengthStringNode (Node node)
int compileLengthStringRawNode (StringNode sn)
int compileLengthTree (Node node)
int compileNonCECLengthQuantifierNode (QuantifierNode qn)
void compileRangeRepeatNode (QuantifierNode qn, int targetLen, int emptyInfo)
void compileTreeEmptyCheck (Node node, int emptyInfo)
void ensure (int size)
void entryRepeatRange (int id, int lower, int upper)
boolean isNeedStrLenOpExact (int op)
int selectStrOpcode (int mbLength, int strLength, boolean ignoreCase)

Static Private Member Functions

static boolean cknOn (int ckn)

Static Private Attributes

static final int QUANTIFIER_EXPAND_LIMIT_SIZE = 50
static final int REPEAT_RANGE_ALLOC = 8

Detailed Description

Definition at line 46 of file ArrayCompiler.java.


The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index