org.joni
Class Lexer

java.lang.Object
  extended by org.jcodings.IntHolder
      extended by org.joni.ScannerSupport
          extended by org.joni.Lexer
All Implemented Interfaces:
org.jcodings.exception.ErrorMessages
Direct Known Subclasses:
Parser

 class Lexer
extends ScannerSupport


Field Summary
protected  ScanEnvironment env
           
private static int[] send
           
protected  Syntax syntax
           
protected  Token token
           
 
Fields inherited from class org.joni.ScannerSupport
_p, bytes, c, enc, p, stop
 
Fields inherited from class org.jcodings.IntHolder
value
 
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_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
 
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
 
Constructor Summary
protected Lexer(ScanEnvironment env, byte[] bytes, int p, int end)
           
 
Method Summary
protected  int backrefRelToAbs(int relNo)
           
protected  int fetchCharPropertyToCType()
           
private  int fetchEscapedValue()
           
private  void fetchEscapedValueBackSlash()
           
private  void fetchEscapedValueControl()
           
protected  int fetchName(int startCode, boolean ref)
           
private  int fetchNameForNamedGroup(int startCode, boolean ref)
           
private  int fetchNameForNoNamedGroup(int startCode, boolean ref)
           
private  boolean fetchNameWithLevel(int startCode, org.jcodings.Ptr rbackNum, org.jcodings.Ptr rlevel)
           
private  int fetchRangeQuantifier()
           
protected  TokenType fetchToken()
           
private  void fetchTokenFor_anchor(int subType)
           
private  void fetchTokenFor_charProperty()
           
private  void fetchTokenFor_digit()
           
private  void fetchTokenFor_metaChars()
           
private  void fetchTokenFor_namedBackref()
           
private  void fetchTokenFor_openBrace()
           
private  void fetchTokenFor_repeat(int lower, int upper)
           
private  void fetchTokenFor_subexpCall()
           
private  void fetchTokenFor_uHex()
           
private  void fetchTokenFor_xBrace()
           
private  void fetchTokenFor_zero()
           
protected  TokenType fetchTokenInCC()
           
private  void fetchTokenInCCFor_and()
           
private  void fetchTokenInCCFor_charType(boolean flag, int type)
           
private  void fetchTokenInCCFor_digit()
           
private  void fetchTokenInCCFor_p()
           
private  void fetchTokenInCCFor_posixBracket()
           
private  void fetchTokenInCCFor_u()
           
private  void fetchTokenInCCFor_x()
           
private  void greedyCheck()
           
private  int invalidRangeQuantifier(boolean synAllow)
           
private  int nameEndCodePoint(int start)
           
private  void possessiveCheck()
           
private  boolean strExistCheckWithEsc(int[] s, int n, int bad)
           
protected  void syntaxWarn(String message)
           
protected  void syntaxWarn(String message, char c)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

env

protected final ScanEnvironment env

syntax

protected final Syntax syntax

token

protected final Token token

send

private static final int[] send
Constructor Detail

Lexer

protected Lexer(ScanEnvironment env,
                byte[] bytes,
                int p,
                int end)
Method Detail

fetchRangeQuantifier

private int fetchRangeQuantifier()
Returns:
0: normal {n,m}, 2: fixed {n} !introduce returnCode here

invalidRangeQuantifier

private int invalidRangeQuantifier(boolean synAllow)

fetchEscapedValue

private int fetchEscapedValue()

fetchEscapedValueBackSlash

private void fetchEscapedValueBackSlash()

fetchEscapedValueControl

private void fetchEscapedValueControl()

nameEndCodePoint

private int nameEndCodePoint(int start)

fetchNameWithLevel

private boolean fetchNameWithLevel(int startCode,
                                   org.jcodings.Ptr rbackNum,
                                   org.jcodings.Ptr rlevel)

fetchNameForNamedGroup

private int fetchNameForNamedGroup(int startCode,
                                   boolean ref)

fetchNameForNoNamedGroup

private final int fetchNameForNoNamedGroup(int startCode,
                                           boolean ref)

fetchName

protected final int fetchName(int startCode,
                              boolean ref)

strExistCheckWithEsc

private boolean strExistCheckWithEsc(int[] s,
                                     int n,
                                     int bad)

fetchTokenInCCFor_charType

private void fetchTokenInCCFor_charType(boolean flag,
                                        int type)

fetchTokenInCCFor_p

private void fetchTokenInCCFor_p()

fetchTokenInCCFor_x

private void fetchTokenInCCFor_x()

fetchTokenInCCFor_u

private void fetchTokenInCCFor_u()

fetchTokenInCCFor_digit

private void fetchTokenInCCFor_digit()

fetchTokenInCCFor_posixBracket

private void fetchTokenInCCFor_posixBracket()

fetchTokenInCCFor_and

private void fetchTokenInCCFor_and()

fetchTokenInCC

protected final TokenType fetchTokenInCC()

backrefRelToAbs

protected final int backrefRelToAbs(int relNo)

fetchTokenFor_repeat

private void fetchTokenFor_repeat(int lower,
                                  int upper)

fetchTokenFor_openBrace

private void fetchTokenFor_openBrace()

fetchTokenFor_anchor

private void fetchTokenFor_anchor(int subType)

fetchTokenFor_xBrace

private void fetchTokenFor_xBrace()

fetchTokenFor_uHex

private void fetchTokenFor_uHex()

fetchTokenFor_digit

private void fetchTokenFor_digit()

fetchTokenFor_zero

private void fetchTokenFor_zero()

fetchTokenFor_namedBackref

private void fetchTokenFor_namedBackref()

fetchTokenFor_subexpCall

private void fetchTokenFor_subexpCall()

fetchTokenFor_charProperty

private void fetchTokenFor_charProperty()

fetchTokenFor_metaChars

private void fetchTokenFor_metaChars()

fetchToken

protected final TokenType fetchToken()

greedyCheck

private void greedyCheck()

possessiveCheck

private void possessiveCheck()

fetchCharPropertyToCType

protected final int fetchCharPropertyToCType()

syntaxWarn

protected final void syntaxWarn(String message,
                                char c)

syntaxWarn

protected final void syntaxWarn(String message)


Copyright © 2013. All Rights Reserved.