source: trunk/dports/www/webkit-gtk/files/bison-2.6.patch @ 99238

Last change on this file since 99238 was 96891, checked in by jeremyhu@…, 8 years ago

webkit-gtk: Add additional notes for other patches and bugs. Add myself to maintainers. Add media stream and media statistics.

File size: 15.6 KB
  • Source/WebCore/css/CSSGrammar.y

    diff -Naurp Source/WebCore/css/CSSGrammar.y Source/WebCore/css/CSSGrammar.y
    using namespace HTMLNames; 
    5353#define YYMAXDEPTH 10000
    5454#define YYDEBUG 0
    5555
    56 // FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
    57 #define YYPARSE_PARAM parser
    58 #define YYLEX_PARAM parser
    59 
    6056%}
    6157
    6258%pure_parser
    6359
     60%parse-param { CSSParser* parser }
     61%lex-param { CSSParser* parser }
     62
    6463%union {
    6564    bool boolean;
    6665    char character;
    using namespace HTMLNames; 
    8887
    8988%{
    9089
    91 static inline int cssyyerror(const char*)
     90static inline int cssyyerror(void*, const char*)
    9291{
    9392    return 1;
    9493}
  • Source/WebCore/css/CSSParser.cpp

    diff -Naurp Source/WebCore/css/CSSParser.cpp Source/WebCore/css/CSSParser.cpp
     
    101101extern int cssyydebug;
    102102#endif
    103103
    104 extern int cssyyparse(void* parser);
     104extern int cssyyparse(WebCore::CSSParser*);
    105105
    106106using namespace std;
    107107using namespace WTF;
  • Source/WebCore/xml/XPathGrammar.y

    diff -Naurp Source/WebCore/xml/XPathGrammar.y Source/WebCore/xml/XPathGrammar.y
     
    3434#include "XPathParser.h"
    3535#include "XPathPath.h"
    3636#include "XPathPredicate.h"
     37#include "XPathStep.h"
    3738#include "XPathVariableReference.h"
    3839#include <wtf/FastMalloc.h>
    3940
     
    4445#define YYLTYPE_IS_TRIVIAL 1
    4546#define YYDEBUG 0
    4647#define YYMAXDEPTH 10000
    47 #define YYPARSE_PARAM parserParameter
    48 #define PARSER static_cast<Parser*>(parserParameter)
    4948
    5049using namespace WebCore;
    5150using namespace XPath;
    using namespace XPath; 
    5352%}
    5453
    5554%pure_parser
     55%parse-param { WebCore::XPath::Parser* parser }
    5656
    5757%union
    5858{
    using namespace XPath; 
    7171%{
    7272
    7373static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
    74 static void xpathyyerror(const char*) { }
     74static void xpathyyerror(void*, const char*) { }
    7575   
    7676%}
    7777
    static void xpathyyerror(const char*) {  
    118118Expr:
    119119    OrExpr
    120120    {
    121         PARSER->m_topExpr = $1;
     121        parser->m_topExpr = $1;
    122122    }
    123123    ;
    124124
    AbsoluteLocationPath: 
    138138    '/'
    139139    {
    140140        $$ = new LocationPath;
    141         PARSER->registerParseNode($$);
     141        parser->registerParseNode($$);
    142142    }
    143143    |
    144144    '/' RelativeLocationPath
    AbsoluteLocationPath: 
    150150    {
    151151        $$ = $2;
    152152        $$->insertFirstStep($1);
    153         PARSER->unregisterParseNode($1);
     153        parser->unregisterParseNode($1);
    154154    }
    155155    ;
    156156
    RelativeLocationPath: 
    159159    {
    160160        $$ = new LocationPath;
    161161        $$->appendStep($1);
    162         PARSER->unregisterParseNode($1);
    163         PARSER->registerParseNode($$);
     162        parser->unregisterParseNode($1);
     163        parser->registerParseNode($$);
    164164    }
    165165    |
    166166    RelativeLocationPath '/' Step
    167167    {
    168168        $$->appendStep($3);
    169         PARSER->unregisterParseNode($3);
     169        parser->unregisterParseNode($3);
    170170    }
    171171    |
    172172    RelativeLocationPath DescendantOrSelf Step
    173173    {
    174174        $$->appendStep($2);
    175175        $$->appendStep($3);
    176         PARSER->unregisterParseNode($2);
    177         PARSER->unregisterParseNode($3);
     176        parser->unregisterParseNode($2);
     177        parser->unregisterParseNode($3);
    178178    }
    179179    ;
    180180
    Step: 
    183183    {
    184184        if ($2) {
    185185            $$ = new Step(Step::ChildAxis, *$1, *$2);
    186             PARSER->deletePredicateVector($2);
     186            parser->deletePredicateVector($2);
    187187        } else
    188188            $$ = new Step(Step::ChildAxis, *$1);
    189         PARSER->deleteNodeTest($1);
    190         PARSER->registerParseNode($$);
     189        parser->deleteNodeTest($1);
     190        parser->registerParseNode($$);
    191191    }
    192192    |
    193193    NAMETEST OptionalPredicateList
    194194    {
    195195        String localName;
    196196        String namespaceURI;
    197         if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
    198             PARSER->m_gotNamespaceError = true;
     197        if (!parser->expandQName(*$1, localName, namespaceURI)) {
     198            parser->m_gotNamespaceError = true;
    199199            YYABORT;
    200200        }
    201201       
    202202        if ($2) {
    203203            $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
    204             PARSER->deletePredicateVector($2);
     204            parser->deletePredicateVector($2);
    205205        } else
    206206            $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
    207         PARSER->deleteString($1);
    208         PARSER->registerParseNode($$);
     207        parser->deleteString($1);
     208        parser->registerParseNode($$);
    209209    }
    210210    |
    211211    AxisSpecifier NodeTest OptionalPredicateList
    212212    {
    213213        if ($3) {
    214214            $$ = new Step($1, *$2, *$3);
    215             PARSER->deletePredicateVector($3);
     215            parser->deletePredicateVector($3);
    216216        } else
    217217            $$ = new Step($1, *$2);
    218         PARSER->deleteNodeTest($2);
    219         PARSER->registerParseNode($$);
     218        parser->deleteNodeTest($2);
     219        parser->registerParseNode($$);
    220220    }
    221221    |
    222222    AxisSpecifier NAMETEST OptionalPredicateList
    223223    {
    224224        String localName;
    225225        String namespaceURI;
    226         if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
    227             PARSER->m_gotNamespaceError = true;
     226        if (!parser->expandQName(*$2, localName, namespaceURI)) {
     227            parser->m_gotNamespaceError = true;
    228228            YYABORT;
    229229        }
    230230
    231231        if ($3) {
    232232            $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
    233             PARSER->deletePredicateVector($3);
     233            parser->deletePredicateVector($3);
    234234        } else
    235235            $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
    236         PARSER->deleteString($2);
    237         PARSER->registerParseNode($$);
     236        parser->deleteString($2);
     237        parser->registerParseNode($$);
    238238    }
    239239    |
    240240    AbbreviatedStep
    NodeTest: 
    259259        else if (*$1 == "comment")
    260260            $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
    261261
    262         PARSER->deleteString($1);
    263         PARSER->registerNodeTest($$);
     262        parser->deleteString($1);
     263        parser->registerNodeTest($$);
    264264    }
    265265    |
    266266    PI '(' ')'
    267267    {
    268268        $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
    269         PARSER->deleteString($1);       
    270         PARSER->registerNodeTest($$);
     269        parser->deleteString($1);
     270        parser->registerNodeTest($$);
    271271    }
    272272    |
    273273    PI '(' LITERAL ')'
    274274    {
    275275        $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
    276         PARSER->deleteString($1);       
    277         PARSER->deleteString($3);
    278         PARSER->registerNodeTest($$);
     276        parser->deleteString($1);
     277        parser->deleteString($3);
     278        parser->registerNodeTest($$);
    279279    }
    280280    ;
    281281
    PredicateList: 
    293293    {
    294294        $$ = new Vector<Predicate*>;
    295295        $$->append(new Predicate($1));
    296         PARSER->unregisterParseNode($1);
    297         PARSER->registerPredicateVector($$);
     296        parser->unregisterParseNode($1);
     297        parser->registerPredicateVector($$);
    298298    }
    299299    |
    300300    PredicateList Predicate
    301301    {
    302302        $$->append(new Predicate($2));
    303         PARSER->unregisterParseNode($2);
     303        parser->unregisterParseNode($2);
    304304    }
    305305    ;
    306306
    DescendantOrSelf: 
    315315    SLASHSLASH
    316316    {
    317317        $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
    318         PARSER->registerParseNode($$);
     318        parser->registerParseNode($$);
    319319    }
    320320    ;
    321321
    AbbreviatedStep: 
    323323    '.'
    324324    {
    325325        $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
    326         PARSER->registerParseNode($$);
     326        parser->registerParseNode($$);
    327327    }
    328328    |
    329329    DOTDOT
    330330    {
    331331        $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
    332         PARSER->registerParseNode($$);
     332        parser->registerParseNode($$);
    333333    }
    334334    ;
    335335
    PrimaryExpr: 
    337337    VARIABLEREFERENCE
    338338    {
    339339        $$ = new VariableReference(*$1);
    340         PARSER->deleteString($1);
    341         PARSER->registerParseNode($$);
     340        parser->deleteString($1);
     341        parser->registerParseNode($$);
    342342    }
    343343    |
    344344    '(' Expr ')'
    PrimaryExpr: 
    349349    LITERAL
    350350    {
    351351        $$ = new StringExpression(*$1);
    352         PARSER->deleteString($1);
    353         PARSER->registerParseNode($$);
     352        parser->deleteString($1);
     353        parser->registerParseNode($$);
    354354    }
    355355    |
    356356    NUMBER
    357357    {
    358358        $$ = new Number($1->toDouble());
    359         PARSER->deleteString($1);
    360         PARSER->registerParseNode($$);
     359        parser->deleteString($1);
     360        parser->registerParseNode($$);
    361361    }
    362362    |
    363363    FunctionCall
    FunctionCall: 
    369369        $$ = createFunction(*$1);
    370370        if (!$$)
    371371            YYABORT;
    372         PARSER->deleteString($1);
    373         PARSER->registerParseNode($$);
     372        parser->deleteString($1);
     373        parser->registerParseNode($$);
    374374    }
    375375    |
    376376    FUNCTIONNAME '(' ArgumentList ')'
    FunctionCall: 
    378378        $$ = createFunction(*$1, *$3);
    379379        if (!$$)
    380380            YYABORT;
    381         PARSER->deleteString($1);
    382         PARSER->deleteExpressionVector($3);
    383         PARSER->registerParseNode($$);
     381        parser->deleteString($1);
     382        parser->deleteExpressionVector($3);
     383        parser->registerParseNode($$);
    384384    }
    385385    ;
    386386
    ArgumentList: 
    389389    {
    390390        $$ = new Vector<Expression*>;
    391391        $$->append($1);
    392         PARSER->unregisterParseNode($1);
    393         PARSER->registerExpressionVector($$);
     392        parser->unregisterParseNode($1);
     393        parser->registerExpressionVector($$);
    394394    }
    395395    |
    396396    ArgumentList ',' Argument
    397397    {
    398398        $$->append($3);
    399         PARSER->unregisterParseNode($3);
     399        parser->unregisterParseNode($3);
    400400    }
    401401    ;
    402402
    UnionExpr: 
    412412        $$ = new Union;
    413413        $$->addSubExpression($1);
    414414        $$->addSubExpression($3);
    415         PARSER->unregisterParseNode($1);
    416         PARSER->unregisterParseNode($3);
    417         PARSER->registerParseNode($$);
     415        parser->unregisterParseNode($1);
     416        parser->unregisterParseNode($3);
     417        parser->registerParseNode($$);
    418418    }
    419419    ;
    420420
    PathExpr: 
    430430    {
    431431        $3->setAbsolute(true);
    432432        $$ = new Path(static_cast<Filter*>($1), $3);
    433         PARSER->unregisterParseNode($1);
    434         PARSER->unregisterParseNode($3);
    435         PARSER->registerParseNode($$);
     433        parser->unregisterParseNode($1);
     434        parser->unregisterParseNode($3);
     435        parser->registerParseNode($$);
    436436    }
    437437    |
    438438    FilterExpr DescendantOrSelf RelativeLocationPath
    PathExpr: 
    440440        $3->insertFirstStep($2);
    441441        $3->setAbsolute(true);
    442442        $$ = new Path(static_cast<Filter*>($1), $3);
    443         PARSER->unregisterParseNode($1);
    444         PARSER->unregisterParseNode($2);
    445         PARSER->unregisterParseNode($3);
    446         PARSER->registerParseNode($$);
     443        parser->unregisterParseNode($1);
     444        parser->unregisterParseNode($2);
     445        parser->unregisterParseNode($3);
     446        parser->registerParseNode($$);
    447447    }
    448448    ;
    449449
    FilterExpr: 
    453453    PrimaryExpr PredicateList
    454454    {
    455455        $$ = new Filter($1, *$2);
    456         PARSER->unregisterParseNode($1);
    457         PARSER->deletePredicateVector($2);
    458         PARSER->registerParseNode($$);
     456        parser->unregisterParseNode($1);
     457        parser->deletePredicateVector($2);
     458        parser->registerParseNode($$);
    459459    }
    460460    ;
    461461
    OrExpr: 
    465465    OrExpr OR AndExpr
    466466    {
    467467        $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
    468         PARSER->unregisterParseNode($1);
    469         PARSER->unregisterParseNode($3);
    470         PARSER->registerParseNode($$);
     468        parser->unregisterParseNode($1);
     469        parser->unregisterParseNode($3);
     470        parser->registerParseNode($$);
    471471    }
    472472    ;
    473473
    AndExpr: 
    477477    AndExpr AND EqualityExpr
    478478    {
    479479        $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
    480         PARSER->unregisterParseNode($1);
    481         PARSER->unregisterParseNode($3);
    482         PARSER->registerParseNode($$);
     480        parser->unregisterParseNode($1);
     481        parser->unregisterParseNode($3);
     482        parser->registerParseNode($$);
    483483    }
    484484    ;
    485485
    EqualityExpr: 
    489489    EqualityExpr EQOP RelationalExpr
    490490    {
    491491        $$ = new EqTestOp($2, $1, $3);
    492         PARSER->unregisterParseNode($1);
    493         PARSER->unregisterParseNode($3);
    494         PARSER->registerParseNode($$);
     492        parser->unregisterParseNode($1);
     493        parser->unregisterParseNode($3);
     494        parser->registerParseNode($$);
    495495    }
    496496    ;
    497497
    RelationalExpr: 
    501501    RelationalExpr RELOP AdditiveExpr
    502502    {
    503503        $$ = new EqTestOp($2, $1, $3);
    504         PARSER->unregisterParseNode($1);
    505         PARSER->unregisterParseNode($3);
    506         PARSER->registerParseNode($$);
     504        parser->unregisterParseNode($1);
     505        parser->unregisterParseNode($3);
     506        parser->registerParseNode($$);
    507507    }
    508508    ;
    509509
    AdditiveExpr: 
    513513    AdditiveExpr PLUS MultiplicativeExpr
    514514    {
    515515        $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
    516         PARSER->unregisterParseNode($1);
    517         PARSER->unregisterParseNode($3);
    518         PARSER->registerParseNode($$);
     516        parser->unregisterParseNode($1);
     517        parser->unregisterParseNode($3);
     518        parser->registerParseNode($$);
    519519    }
    520520    |
    521521    AdditiveExpr MINUS MultiplicativeExpr
    522522    {
    523523        $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
    524         PARSER->unregisterParseNode($1);
    525         PARSER->unregisterParseNode($3);
    526         PARSER->registerParseNode($$);
     524        parser->unregisterParseNode($1);
     525        parser->unregisterParseNode($3);
     526        parser->registerParseNode($$);
    527527    }
    528528    ;
    529529
    MultiplicativeExpr: 
    533533    MultiplicativeExpr MULOP UnaryExpr
    534534    {
    535535        $$ = new NumericOp($2, $1, $3);
    536         PARSER->unregisterParseNode($1);
    537         PARSER->unregisterParseNode($3);
    538         PARSER->registerParseNode($$);
     536        parser->unregisterParseNode($1);
     537        parser->unregisterParseNode($3);
     538        parser->registerParseNode($$);
    539539    }
    540540    ;
    541541
    UnaryExpr: 
    546546    {
    547547        $$ = new Negative;
    548548        $$->addSubExpression($2);
    549         PARSER->unregisterParseNode($2);
    550         PARSER->registerParseNode($$);
     549        parser->unregisterParseNode($2);
     550        parser->registerParseNode($$);
    551551    }
    552552    ;
    553553
  • Source/WebCore/xml/XPathParser.cpp

    diff -Naurp Source/WebCore/xml/XPathParser.cpp Source/WebCore/xml/XPathParser.cpp
     
    3232#include "XPathEvaluator.h"
    3333#include "XPathException.h"
    3434#include "XPathNSResolver.h"
     35#include "XPathPath.h"
    3536#include "XPathStep.h"
    3637#include <wtf/StdLibExtras.h>
    3738#include <wtf/text/StringHash.h>
    3839
    39 int xpathyyparse(void*);
    40 
     40using namespace WebCore;
    4141using namespace WTF;
    4242using namespace Unicode;
     43using namespace XPath;
    4344
    44 namespace WebCore {
    45 namespace XPath {
    46 
    47 class LocationPath;
    48 
    49 #include "XPathGrammar.h"   
     45extern int xpathyyparse(WebCore::XPath::Parser*);
     46#include "XPathGrammar.h"
    5047
    5148Parser* Parser::currentParser = 0;
    52    
     49
    5350enum XMLCat { NameStart, NameCont, NotPartOfName };
    5451
    5552typedef HashMap<String, Step::Axis> AxisNamesMap;
    void Parser::deleteNodeTest(Step::NodeTe 
    630627    delete t;
    631628}
    632629
    633 }
    634 }
Note: See TracBrowser for help on using the repository browser.