| OLD | NEW |
| 1 /* This is the public header file for JavaScriptCore's variant of the PCRE | 1 /* This is the public header file for JavaScriptCore's variant of the PCRE |
| 2 library. While this library started out as a copy of PCRE, many of the | 2 library. While this library started out as a copy of PCRE, many of the |
| 3 features of PCRE have been removed. This library now supports only the | 3 features of PCRE have been removed. This library now supports only the |
| 4 regular expression features required by the JavaScript language | 4 regular expression features required by the JavaScript language |
| 5 specification, and has only the functions needed by JavaScriptCore and the | 5 specification, and has only the functions needed by JavaScriptCore and the |
| 6 rest of WebKit. | 6 rest of WebKit. |
| 7 | 7 |
| 8 Copyright (c) 1997-2005 University of Cambridge | 8 Copyright (c) 1997-2005 University of Cambridge |
| 9 Copyright (C) 2002, 2004, 2006, 2007 Apple Inc. All rights reserved. | 9 Copyright (C) 2002, 2004, 2006, 2007 Apple Inc. All rights reserved. |
| 10 | 10 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 #ifndef JSRegExp_h | 42 #ifndef JSRegExp_h |
| 43 #define JSRegExp_h | 43 #define JSRegExp_h |
| 44 | 44 |
| 45 #include "../../../include/v8.h" | 45 #include "../../../include/v8.h" |
| 46 | 46 |
| 47 // JSCRE is very chatty in debug mode, so in order to keep it slient | 47 // JSCRE is very chatty in debug mode, so in order to keep it slient |
| 48 // while still importing v8.h correctly (it contains #ifdef DEBUGs) | 48 // while still importing v8.h correctly (it contains #ifdef DEBUGs) |
| 49 // we allow DEBUG to be set and undef it manually. | 49 // we allow DEBUG to be set and undef it manually. |
| 50 #undef DEBUG | 50 #undef DEBUG |
| 51 | 51 |
| 52 namespace v8 { namespace jscre { |
| 53 |
| 52 typedef uint16_t UChar; | 54 typedef uint16_t UChar; |
| 53 | 55 |
| 54 struct JSRegExp; | 56 struct JSRegExp; |
| 55 typedef struct JSRegExp JscreRegExp; | 57 typedef struct JSRegExp JscreRegExp; |
| 56 | 58 |
| 57 enum JSRegExpIgnoreCaseOption { JSRegExpDoNotIgnoreCase, JSRegExpIgnoreCase }; | 59 enum JSRegExpIgnoreCaseOption { JSRegExpDoNotIgnoreCase, JSRegExpIgnoreCase }; |
| 58 enum JSRegExpMultilineOption { JSRegExpSingleLine, JSRegExpMultiline }; | 60 enum JSRegExpMultilineOption { JSRegExpSingleLine, JSRegExpMultiline }; |
| 59 | 61 |
| 60 /* jsRegExpExecute error codes */ | 62 /* jsRegExpExecute error codes */ |
| 61 const int JSRegExpErrorNoMatch = -1; | 63 const int JSRegExpErrorNoMatch = -1; |
| 62 const int JSRegExpErrorHitLimit = -2; | 64 const int JSRegExpErrorHitLimit = -2; |
| 63 const int JSRegExpErrorNoMemory = -3; | 65 const int JSRegExpErrorNoMemory = -3; |
| 64 const int JSRegExpErrorInternal = -4; | 66 const int JSRegExpErrorInternal = -4; |
| 65 | 67 |
| 66 typedef void* malloc_t(size_t size); | 68 typedef void* malloc_t(size_t size); |
| 67 typedef void free_t(void* address); | 69 typedef void free_t(void* address); |
| 68 | 70 |
| 69 JSRegExp* jsRegExpCompile(const UChar* pattern, int patternLength, | 71 JSRegExp* jsRegExpCompile(const UChar* pattern, int patternLength, |
| 70 JSRegExpIgnoreCaseOption, JSRegExpMultilineOption, | 72 JSRegExpIgnoreCaseOption, JSRegExpMultilineOption, |
| 71 unsigned* numSubpatterns, const char** errorMessage, | 73 unsigned* numSubpatterns, const char** errorMessage, |
| 72 malloc_t* allocate_function, free_t* free_function); | 74 malloc_t* allocate_function, free_t* free_function); |
| 73 | 75 |
| 74 int jsRegExpExecute(const JSRegExp*, | 76 int jsRegExpExecute(const JSRegExp*, |
| 75 const UChar* subject, int subjectLength, int startOffset, | 77 const UChar* subject, int subjectLength, int startOffset, |
| 76 int* offsetsVector, int offsetsVectorLength); | 78 int* offsetsVector, int offsetsVectorLength); |
| 77 | 79 |
| 78 void jsRegExpFree(JSRegExp*); | 80 void jsRegExpFree(JSRegExp*); |
| 79 | 81 |
| 82 } } // namespace v8::jscre |
| 83 |
| 80 #endif | 84 #endif |
| OLD | NEW |