#include "config.h"#include "pcre_internal.h"#include <string.h>#include "ASCIICType.h"構成 | |
| struct | CompileData |
マクロ定義 | |
| #define | REQ_UNSET (-2) |
| #define | REQ_NONE (-1) |
| #define | BRASTACK_SIZE 200 |
列挙型 | |
| enum | ErrorCode { ERR0, ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9, ERR10, ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17 } |
関数 | |
| static const char * | errorText (ErrorCode code) |
| static bool | compileBracket (int, int *, unsigned char **, const UChar **, const UChar *, ErrorCode *, int, int *, int *, CompileData &) |
| static bool | bracketIsAnchored (const unsigned char *code) |
| static bool | bracketNeedsLineStart (const unsigned char *code, unsigned captureMap, unsigned backrefMap) |
| static int | bracketFindFirstAssertedCharacter (const unsigned char *code, bool inassert) |
| static int | checkEscape (const UChar **ptrptr, const UChar *patternEnd, ErrorCode *errorcodeptr, int bracount, bool isclass) |
| static bool | isCountedRepeat (const UChar *p, const UChar *patternEnd) |
| static const UChar * | readRepeatCounts (const UChar *p, int *minp, int *maxp, ErrorCode *errorcodeptr) |
| static const unsigned char * | firstSignificantOpcode (const unsigned char *code) |
| static const unsigned char * | firstSignificantOpcodeSkippingAssertions (const unsigned char *code) |
| static bool | getOthercaseRange (int *cptr, int d, int *ocptr, int *odptr) |
| static int | encodeUTF8 (int cvalue, unsigned char *buffer) |
| static bool | safelyCheckNextChar (const UChar *ptr, const UChar *patternEnd, UChar expected) |
| static bool | compileBranch (int options, int *brackets, unsigned char **codeptr, const UChar **ptrptr, const UChar *patternEnd, ErrorCode *errorcodeptr, int *firstbyteptr, int *reqbyteptr, CompileData &cd) |
| static bool | branchIsAnchored (const unsigned char *code) |
| static bool | branchNeedsLineStart (const unsigned char *code, unsigned captureMap, unsigned backrefMap) |
| static int | branchFindFirstAssertedCharacter (const unsigned char *code, bool inassert) |
| static int | multiplyWithOverflowCheck (int a, int b) |
| static int | calculateCompiledPatternLength (const UChar *pattern, int patternLength, JSRegExpIgnoreCaseOption ignoreCase, CompileData &cd, ErrorCode &errorcode) |
| static JSRegExp * | returnError (ErrorCode errorcode, const char **errorptr) |
| JSRegExp * | jsRegExpCompile (const UChar *pattern, int patternLength, JSRegExpIgnoreCaseOption ignoreCase, JSRegExpMultilineOption multiline, unsigned *numSubpatterns, const char **errorptr, malloc_t *allocate_function, free_t *free_function) |
| void | jsRegExpFree (JSRegExp *re, free_t *free_function) |
変数 | |
| static const short | escapes [] |
| #define BRASTACK_SIZE 200 |
pcre_compile.cpp の 66 行で定義されています。
| #define REQ_NONE (-1) |
pcre_compile.cpp の 54 行で定義されています。
| #define REQ_UNSET (-2) |
pcre_compile.cpp の 53 行で定義されています。
参照元 compileBranch().
| enum ErrorCode |
| ERR0 | |
| ERR1 | |
| ERR2 | |
| ERR3 | |
| ERR4 | |
| ERR5 | |
| ERR6 | |
| ERR7 | |
| ERR8 | |
| ERR9 | |
| ERR10 | |
| ERR11 | |
| ERR12 | |
| ERR13 | |
| ERR14 | |
| ERR15 | |
| ERR16 | |
| ERR17 |
pcre_compile.cpp の 89 行で定義されています。
| static int bracketFindFirstAssertedCharacter | ( | const unsigned char * | code, | |
| bool | inassert | |||
| ) | [static] |
pcre_compile.cpp の 1973 行で定義されています。
参照先 branchFindFirstAssertedCharacter(), getLinkValue(), と LINK_SIZE.
参照元 branchFindFirstAssertedCharacter(), と jsRegExpCompile().
| static bool bracketIsAnchored | ( | const unsigned char * | code | ) | [static] |
pcre_compile.cpp の 1851 行で定義されています。
参照先 branchIsAnchored(), getLinkValue(), と LINK_SIZE.
参照元 branchIsAnchored(), と jsRegExpCompile().
| static bool bracketNeedsLineStart | ( | const unsigned char * | code, | |
| unsigned | captureMap, | |||
| unsigned | backrefMap | |||
| ) | [static] |
pcre_compile.cpp の 1911 行で定義されています。
| static int branchFindFirstAssertedCharacter | ( | const unsigned char * | code, | |
| bool | inassert | |||
| ) | [static] |
| static bool branchIsAnchored | ( | const unsigned char * | code | ) | [static] |
pcre_compile.cpp の 1838 行で定義されています。
参照先 bracketIsAnchored(), と firstSignificantOpcode().
参照元 bracketIsAnchored(), と jsRegExpCompile().
| static bool branchNeedsLineStart | ( | const unsigned char * | code, | |
| unsigned | captureMap, | |||
| unsigned | backrefMap | |||
| ) | [static] |
pcre_compile.cpp の 1883 行で定義されています。
参照先 bracketNeedsLineStart(), EXTRACT_BASIC_MAX, firstSignificantOpcode(), get2ByteValue(), と LINK_SIZE.
| static int calculateCompiledPatternLength | ( | const UChar * | pattern, | |
| int | patternLength, | |||
| JSRegExpIgnoreCaseOption | ignoreCase, | |||
| CompileData & | cd, | |||
| ErrorCode & | errorcode | |||
| ) | [static] |
pcre_compile.cpp の 1998 行で定義されています。
参照先 CompileData::backrefMap, v8::internal::cc, checkEscape(), encodeUTF8(), ESC_REF, EXTRACT_BASIC_MAX, getOthercaseRange(), isCountedRepeat(), kjs_pcre_utf8_table1, LINK_SIZE, MAX_PATTERN_SIZE, multiplyWithOverflowCheck(), CompileData::needOuterBracket, CompileData::numCapturingBrackets, readRepeatCounts(), safelyCheckNextChar(), と CompileData::top_backref.
参照元 jsRegExpCompile().
| static int checkEscape | ( | const UChar ** | ptrptr, | |
| const UChar * | patternEnd, | |||
| ErrorCode * | errorcodeptr, | |||
| int | bracount, | |||
| bool | isclass | |||
| ) | [static] |
pcre_compile.cpp の 177 行で定義されています。
参照先 v8::internal::cc, ESC_B, ESC_b, ESC_REF, escapes, isASCIIDigit(), isASCIIHexDigit(), と toASCIIUpper().
| static bool compileBracket | ( | int | options, | |
| int * | brackets, | |||
| unsigned char ** | codeptr, | |||
| const UChar ** | ptrptr, | |||
| const UChar * | patternEnd, | |||
| ErrorCode * | errorcodeptr, | |||
| int | skipbytes, | |||
| int * | firstbyteptr, | |||
| int * | reqbyteptr, | |||
| CompileData & | cd | |||
| ) | [static] |
pcre_compile.cpp の 1707 行で定義されています。
参照先 ASSERT_NOT_REACHED, v8::internal::code(), compileBranch(), getLinkValueAllowZero(), LINK_SIZE, putLinkValue(), putLinkValueAllowZero(), と REQ_VARY.
参照元 compileBranch(), と jsRegExpCompile().
| static bool compileBranch | ( | int | options, | |
| int * | brackets, | |||
| unsigned char ** | codeptr, | |||
| const UChar ** | ptrptr, | |||
| const UChar * | patternEnd, | |||
| ErrorCode * | errorcodeptr, | |||
| int * | firstbyteptr, | |||
| int * | reqbyteptr, | |||
| CompileData & | cd | |||
| ) | [static] |
pcre_compile.cpp の 554 行で定義されています。
参照先 advanceToEndOfBracket(), cbit_digit, cbit_space, cbit_word, v8::internal::cc, checkEscape(), classBitmapForChar(), v8::internal::code(), compileBracket(), encodeUTF8(), ESC_b, ESC_D, ESC_d, ESC_REF, ESC_S, ESC_s, ESC_W, ESC_w, EXTRACT_BASIC_MAX, flipCase(), getLinkValueAllowZero(), getOthercaseRange(), IgnoreCaseOption, isCountedRepeat(), kjs_pcre_ucp_othercase(), LINK_SIZE, MatchAcrossMultipleLinesOption, NULL, CompileData::numCapturingBrackets, put2ByteValue(), put2ByteValueAndAdvance(), putLinkValue(), putLinkValueAllowZeroAndAdvance(), putLinkValueAndAdvance(), readRepeatCounts(), REQ_IGNORE_CASE, REQ_UNSET, REQ_VARY, CompileData::req_varyopt, safelyCheckNextChar(), と XCL_NOT.
参照元 compileBracket(), と jsRegExpCompile().
| static int encodeUTF8 | ( | int | cvalue, | |
| unsigned char * | buffer | |||
| ) | [static] |
pcre_compile.cpp の 513 行で定義されています。
| static const char* errorText | ( | ErrorCode | code | ) | [static] |
pcre_compile.cpp の 97 行で定義されています。
参照元 returnError().
| static const unsigned char* firstSignificantOpcode | ( | const unsigned char * | code | ) | [static] |
pcre_compile.cpp の 426 行で定義されています。
| static const unsigned char* firstSignificantOpcodeSkippingAssertions | ( | const unsigned char * | code | ) | [static] |
pcre_compile.cpp の 433 行で定義されています。
| static bool getOthercaseRange | ( | int * | cptr, | |
| int | d, | |||
| int * | ocptr, | |||
| int * | odptr | |||
| ) | [static] |
pcre_compile.cpp の 472 行で定義されています。
pcre_compile.cpp の 326 行で定義されています。
参照先 isASCIIDigit().
| JSRegExp* jsRegExpCompile | ( | const UChar * | pattern, | |
| int | patternLength, | |||
| JSRegExpIgnoreCaseOption | ignoreCase, | |||
| JSRegExpMultilineOption | multiline, | |||
| unsigned * | numSubpatterns, | |||
| const char ** | errorptr, | |||
| malloc_t * | allocate_function, | |||
| free_t * | free_function | |||
| ) |
pcre_compile.cpp の 2540 行で定義されています。
参照先 ASSERT, CompileData::backrefMap, bracketFindFirstAssertedCharacter(), bracketIsAnchored(), bracketNeedsLineStart(), branchFindFirstAssertedCharacter(), branchIsAnchored(), branchNeedsLineStart(), calculateCompiledPatternLength(), v8::internal::code(), compileBracket(), compileBranch(), ERR0, ERR13, ERR16, flipCase(), IgnoreCaseOption, IsAnchoredOption, MatchAcrossMultipleLinesOption, MAX_PATTERN_SIZE, CompileData::needOuterBracket, NULL, REQ_IGNORE_CASE, REQ_VARY, returnError(), CompileData::top_backref, と UseMultiLineFirstByteOptimizationOption.
pcre_compile.cpp の 2670 行で定義されています。
| static int multiplyWithOverflowCheck | ( | int | a, | |
| int | b | |||
| ) | [inline, static] |
| static const UChar* readRepeatCounts | ( | const UChar * | p, | |
| int * | minp, | |||
| int * | maxp, | |||
| ErrorCode * | errorcodeptr | |||
| ) | [static] |
pcre_compile.cpp の 369 行で定義されています。
参照先 isASCIIDigit().
| static bool safelyCheckNextChar | ( | const UChar * | ptr, | |
| const UChar * | patternEnd, | |||
| UChar | expected | |||
| ) | [inline, static] |
pcre_compile.cpp の 548 行で定義されています。
const short escapes[] [static] |
{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, ':', ';', '<', '=', '>', '?',
'@', 0, -ESC_B, 0, -ESC_D, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -ESC_S, 0, 0, 0, -ESC_W,
0, 0, 0, '[', '\\', ']', '^', '_',
'`', 7, -ESC_b, 0, -ESC_d, 0, '\f', 0,
0, 0, 0, 0, 0, 0, '\n', 0,
0, 0, '\r', -ESC_s, '\t', 0, '\v', -ESC_w,
0, 0, 0
}
pcre_compile.cpp の 73 行で定義されています。
参照元 checkEscape().
1.7.1