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

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

org::joni::Analyser Class Reference

Inheritance diagram for org::joni::Analyser:
Inheritance graph
Collaboration diagram for org::joni::Analyser:
Collaboration graph

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

 Analyser (ScanEnvironment env, byte[]bytes, int p, int end)
final int backrefRelToAbs (int relNo)
final void compile ()
final Node disableNoNameGroupCapture (Node root)
final void fetch ()
final int fetchCharPropertyToCType ()
final int fetchName (int startCode, boolean ref)
int fetchTo ()
final TokenType fetchToken ()
final TokenType fetchTokenInCC ()
int getBegin ()
final int getCharLengthTree (Node node)
int getEnd ()
final void inc ()
final boolean left ()
final void mark ()
void newInternalException (String message)
void newSyntaxException (String message)
void newValueException (String message)
void newValueException (String message, String str)
void newValueException (String message, int p, int end)
final void numberedRefCheck (Node node)
final Node parse ()
final int peek ()
final boolean peekIs (int c)
final void reset ()
final void restore ()
final int scanUnsignedHexadecimalNumber (int maxLength)
final int scanUnsignedNumber ()
final int scanUnsignedOctalNumber (int maxLength)
final void setOptimizedInfoFromTree (Node node)
final int setupCombExpCheck (Node node, int state)
final void setupSubExpCall (Node node)
final void setupTree (Node node, int state)
final int subexpInfRecursiveCheckTrav (Node node)
final int subexpRecursiveCheckTrav (Node node)
final void unfetch ()

Protected Attributes

int _p
final byte[] bytes
int c
final Encoding enc
final ScanEnvironment env
int p
final Regex regex
int returnCode
Node root
int stop
final Syntax syntax
final Token token = new Token()

Package Attributes

final String MISMATCH = "mismatch"

Private Member Functions

boolean checkTypeTree (Node node, int typeMask, int encloseMask, int anchorMask)
void divideLookBehindAlternatives (Node node)
Node expandCaseFoldMakeRemString (byte[]bytes, int p, int end)
void expandCaseFoldString (Node node)
boolean expandCaseFoldStringAlt (int itemNum, CaseFoldCodeItem[]items, byte[]bytes, int p, int slen, int end, Node[]node)
int getCharLengthTree (Node node, int level)
Node getHeadValueNode (Node node, boolean exact)
int getMaxMatchLength (Node node)
int getMinMatchLength (Node node)
boolean isNotIncluded (Node x, Node y)
void nextSetup (Node node, Node nextNode)
Node noNameDisableMap (Node node, int[]map, int[]counter)
void optimizeNodeLeft (Node node, NodeOptInfo opt, OptEnvironment oenv)
int quantifiersMemoryInfo (Node node)
void renumberByMap (Node node, int[]map)
void setupLookBehind (Node node)
int subexpInfRecursiveCheck (Node node, boolean head)
int subexpRecursiveCheck (Node node)
void swap (Node a, Node b)
void updateStringNodeCaseFold (Node node)

Static Private Attributes

static final int CEC_CONT_BIG_REPEAT = (1<<2)
static final int CEC_IN_FINITE_REPEAT = (1<<1)
static final int CEC_IN_INFINITE_REPEAT = (1<<0)
static final int CEC_INFINITE_NUM = 0x7fffffff
static final int CEC_THRES_NUM_BIG_REPEAT = 512
static final int EXPAND_STRING_MAX_LENGTH = 100
static final int FOUND_CALLED_NODE = 1
static final int GET_CHAR_LEN_TOP_ALT_VARLEN = -2
static final int GET_CHAR_LEN_VARLEN = -1
static final int IN_ALT = (1<<0)
static final int IN_NOT = (1<<1)
static final int IN_REPEAT = (1<<2)
static final int IN_VAR_REPEAT = (1<<3)
static final int MAX_NODE_OPT_INFO_REF_COUNT = 5
static final int RECURSION_EXIST = 1
static final int RECURSION_INFINITE = 2

Detailed Description

Definition at line 56 of file Analyser.java.

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

Generated by  Doxygen 1.6.0   Back to index