js/src/yarr/YarrSyntaxChecker.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     2  * vim: set ts=8 sts=4 et sw=4 tw=99:
     3  *
     4  * Copyright (C) 2011 Apple Inc. All rights reserved.
     5  *
     6  * Redistribution and use in source and binary forms, with or without
     7  * modification, are permitted provided that the following conditions
     8  * are met:
     9  * 1. Redistributions of source code must retain the above copyright
    10  *    notice, this list of conditions and the following disclaimer.
    11  * 2. Redistributions in binary form must reproduce the above copyright
    12  *    notice, this list of conditions and the following disclaimer in the
    13  *    documentation and/or other materials provided with the distribution.
    14  *
    15  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
    16  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    18  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
    19  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    20  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    22  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    23  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    26  */
    28 #include "yarr/YarrSyntaxChecker.h"
    30 #include "yarr/YarrParser.h"
    32 namespace JSC { namespace Yarr {
    34 class SyntaxChecker {
    35 public:
    36     void assertionBOL() {}
    37     void assertionEOL() {}
    38     void assertionWordBoundary(bool) {}
    39     void atomPatternCharacter(UChar) {}
    40     void atomBuiltInCharacterClass(BuiltInCharacterClassID, bool) {}
    41     void atomCharacterClassBegin(bool = false) {}
    42     void atomCharacterClassAtom(UChar) {}
    43     void atomCharacterClassRange(UChar, UChar) {}
    44     void atomCharacterClassBuiltIn(BuiltInCharacterClassID, bool) {}
    45     void atomCharacterClassEnd() {}
    46     void atomParenthesesSubpatternBegin(bool = true) {}
    47     void atomParentheticalAssertionBegin(bool = false) {}
    48     void atomParenthesesEnd() {}
    49     void atomBackReference(unsigned) {}
    50     void quantifyAtom(unsigned, unsigned, bool) {}
    51     void disjunction() {}
    52 };
    54 ErrorCode checkSyntax(const String& pattern)
    55 {
    56     SyntaxChecker syntaxChecker;
    57     return parse(syntaxChecker, pattern);
    58 }
    60 }} // JSC::YARR

mercurial