source: webkit/trunk/JavaScriptCore/wrec/CharacterClass.h@ 44897

Last change on this file since 44897 was 38544, checked in by [email protected], 17 years ago

2008-11-17 Geoffrey Garen <[email protected]>

Reviewed by Sam Weinig.


Split WREC classes out into individual files, with a few modifications
to more closely match the WebKit coding style.

  • GNUmakefile.am:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h:
  • runtime/RegExp.cpp:
  • wrec/CharacterClass.cpp: Copied from wrec/CharacterClassConstructor.cpp. (JSC::WREC::CharacterClass::newline): (JSC::WREC::CharacterClass::digits): (JSC::WREC::CharacterClass::spaces): (JSC::WREC::CharacterClass::wordchar): (JSC::WREC::CharacterClass::nondigits): (JSC::WREC::CharacterClass::nonspaces): (JSC::WREC::CharacterClass::nonwordchar):
  • wrec/CharacterClass.h: Copied from wrec/CharacterClassConstructor.h.
  • wrec/CharacterClassConstructor.cpp: (JSC::WREC::CharacterClassConstructor::addSortedRange): (JSC::WREC::CharacterClassConstructor::append):
  • wrec/CharacterClassConstructor.h:
  • wrec/Quantifier.h: Copied from wrec/WREC.h.
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h:
  • wrec/WRECFunctors.cpp: Copied from wrec/WREC.cpp.
  • wrec/WRECFunctors.h: Copied from wrec/WREC.cpp. (JSC::WREC::GenerateAtomFunctor::~GenerateAtomFunctor): (JSC::WREC::GeneratePatternCharacterFunctor::GeneratePatternCharacterFunctor): (JSC::WREC::GenerateCharacterClassFunctor::GenerateCharacterClassFunctor): (JSC::WREC::GenerateBackreferenceFunctor::GenerateBackreferenceFunctor): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor):
  • wrec/WRECGenerator.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
  • wrec/WRECGenerator.h: Copied from wrec/WREC.h.
  • wrec/WRECParser.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Parser::parseGreedyQuantifier): (JSC::WREC::Parser::parseCharacterClassQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseEscape): (JSC::WREC::Parser::parseTerm):
  • wrec/WRECParser.h: Copied from wrec/WREC.h. (JSC::WREC::Parser::): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::setError): (JSC::WREC::Parser::error): (JSC::WREC::Parser::recordSubpattern): (JSC::WREC::Parser::numSubpatterns): (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::multiline):
File size: 2.3 KB
Line 
1/*
2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#ifndef CharacterClass_h
27#define CharacterClass_h
28
29#include <wtf/Platform.h>
30
31#if ENABLE(WREC)
32
33#include <wtf/unicode/Unicode.h>
34
35namespace JSC { namespace WREC {
36
37 struct CharacterRange {
38 UChar begin;
39 UChar end;
40 };
41
42 struct CharacterClass {
43 static const CharacterClass& newline();
44 static const CharacterClass& digits();
45 static const CharacterClass& spaces();
46 static const CharacterClass& wordchar();
47 static const CharacterClass& nondigits();
48 static const CharacterClass& nonspaces();
49 static const CharacterClass& nonwordchar();
50
51 const UChar* matches;
52 unsigned numMatches;
53
54 const CharacterRange* ranges;
55 unsigned numRanges;
56
57 const UChar* matchesUnicode;
58 unsigned numMatchesUnicode;
59
60 const CharacterRange* rangesUnicode;
61 unsigned numRangesUnicode;
62 };
63
64} } // namespace JSC::WREC
65
66#endif // ENABLE(WREC)
67
68#endif // CharacterClass_h
Note: See TracBrowser for help on using the repository browser.