WebCore/generated/XPathGrammar.cpp
changeset 2 303757a437d3
parent 0 4f2f89ce4247
equal deleted inserted replaced
0:4f2f89ce4247 2:303757a437d3
    74 
    74 
    75 
    75 
    76 /* Copy the first part of user declarations.  */
    76 /* Copy the first part of user declarations.  */
    77 
    77 
    78 /* Line 189 of yacc.c  */
    78 /* Line 189 of yacc.c  */
    79 #line 28 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
    79 #line 28 "xml/XPathGrammar.y"
    80 
    80 
    81 
    81 
    82 #include "config.h"
    82 #include "config.h"
    83 
    83 
    84 #if ENABLE(XPATH)
    84 #if ENABLE(XPATH)
   160 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
   160 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
   161 typedef union YYSTYPE
   161 typedef union YYSTYPE
   162 {
   162 {
   163 
   163 
   164 /* Line 214 of yacc.c  */
   164 /* Line 214 of yacc.c  */
   165 #line 60 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
   165 #line 60 "xml/XPathGrammar.y"
   166 
   166 
   167     Step::Axis axis;
   167     Step::Axis axis;
   168     Step::NodeTest* nodeTest;
   168     Step::NodeTest* nodeTest;
   169     NumericOp::Opcode numop;
   169     NumericOp::Opcode numop;
   170     EqTestOp::Opcode eqop;
   170     EqTestOp::Opcode eqop;
   187 
   187 
   188 
   188 
   189 /* Copy the second part of user declarations.  */
   189 /* Copy the second part of user declarations.  */
   190 
   190 
   191 /* Line 264 of yacc.c  */
   191 /* Line 264 of yacc.c  */
   192 #line 73 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
   192 #line 73 "xml/XPathGrammar.y"
   193 
   193 
   194 
   194 
   195 static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
   195 static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
   196 static void xpathyyerror(const char*) { }
   196 static void xpathyyerror(const char*) { }
   197     
   197     
  1481   switch (yyn)
  1481   switch (yyn)
  1482     {
  1482     {
  1483         case 2:
  1483         case 2:
  1484 
  1484 
  1485 /* Line 1455 of yacc.c  */
  1485 /* Line 1455 of yacc.c  */
  1486 #line 122 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1486 #line 122 "xml/XPathGrammar.y"
  1487     {
  1487     {
  1488         PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
  1488         PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
  1489     ;}
  1489     ;}
  1490     break;
  1490     break;
  1491 
  1491 
  1492   case 3:
  1492   case 3:
  1493 
  1493 
  1494 /* Line 1455 of yacc.c  */
  1494 /* Line 1455 of yacc.c  */
  1495 #line 129 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1495 #line 129 "xml/XPathGrammar.y"
  1496     {
  1496     {
  1497         (yyval.locationPath)->setAbsolute(false);
  1497         (yyval.locationPath)->setAbsolute(false);
  1498     ;}
  1498     ;}
  1499     break;
  1499     break;
  1500 
  1500 
  1501   case 4:
  1501   case 4:
  1502 
  1502 
  1503 /* Line 1455 of yacc.c  */
  1503 /* Line 1455 of yacc.c  */
  1504 #line 134 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1504 #line 134 "xml/XPathGrammar.y"
  1505     {
  1505     {
  1506         (yyval.locationPath)->setAbsolute(true);
  1506         (yyval.locationPath)->setAbsolute(true);
  1507     ;}
  1507     ;}
  1508     break;
  1508     break;
  1509 
  1509 
  1510   case 5:
  1510   case 5:
  1511 
  1511 
  1512 /* Line 1455 of yacc.c  */
  1512 /* Line 1455 of yacc.c  */
  1513 #line 141 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1513 #line 141 "xml/XPathGrammar.y"
  1514     {
  1514     {
  1515         (yyval.locationPath) = new LocationPath;
  1515         (yyval.locationPath) = new LocationPath;
  1516         PARSER->registerParseNode((yyval.locationPath));
  1516         PARSER->registerParseNode((yyval.locationPath));
  1517     ;}
  1517     ;}
  1518     break;
  1518     break;
  1519 
  1519 
  1520   case 6:
  1520   case 6:
  1521 
  1521 
  1522 /* Line 1455 of yacc.c  */
  1522 /* Line 1455 of yacc.c  */
  1523 #line 147 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1523 #line 147 "xml/XPathGrammar.y"
  1524     {
  1524     {
  1525         (yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
  1525         (yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
  1526     ;}
  1526     ;}
  1527     break;
  1527     break;
  1528 
  1528 
  1529   case 7:
  1529   case 7:
  1530 
  1530 
  1531 /* Line 1455 of yacc.c  */
  1531 /* Line 1455 of yacc.c  */
  1532 #line 152 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1532 #line 152 "xml/XPathGrammar.y"
  1533     {
  1533     {
  1534         (yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
  1534         (yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
  1535         (yyval.locationPath)->insertFirstStep((yyvsp[(1) - (2)].step));
  1535         (yyval.locationPath)->insertFirstStep((yyvsp[(1) - (2)].step));
  1536         PARSER->unregisterParseNode((yyvsp[(1) - (2)].step));
  1536         PARSER->unregisterParseNode((yyvsp[(1) - (2)].step));
  1537     ;}
  1537     ;}
  1538     break;
  1538     break;
  1539 
  1539 
  1540   case 8:
  1540   case 8:
  1541 
  1541 
  1542 /* Line 1455 of yacc.c  */
  1542 /* Line 1455 of yacc.c  */
  1543 #line 161 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1543 #line 161 "xml/XPathGrammar.y"
  1544     {
  1544     {
  1545         (yyval.locationPath) = new LocationPath;
  1545         (yyval.locationPath) = new LocationPath;
  1546         (yyval.locationPath)->appendStep((yyvsp[(1) - (1)].step));
  1546         (yyval.locationPath)->appendStep((yyvsp[(1) - (1)].step));
  1547         PARSER->unregisterParseNode((yyvsp[(1) - (1)].step));
  1547         PARSER->unregisterParseNode((yyvsp[(1) - (1)].step));
  1548         PARSER->registerParseNode((yyval.locationPath));
  1548         PARSER->registerParseNode((yyval.locationPath));
  1550     break;
  1550     break;
  1551 
  1551 
  1552   case 9:
  1552   case 9:
  1553 
  1553 
  1554 /* Line 1455 of yacc.c  */
  1554 /* Line 1455 of yacc.c  */
  1555 #line 169 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1555 #line 169 "xml/XPathGrammar.y"
  1556     {
  1556     {
  1557         (yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
  1557         (yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
  1558         PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
  1558         PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
  1559     ;}
  1559     ;}
  1560     break;
  1560     break;
  1561 
  1561 
  1562   case 10:
  1562   case 10:
  1563 
  1563 
  1564 /* Line 1455 of yacc.c  */
  1564 /* Line 1455 of yacc.c  */
  1565 #line 175 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1565 #line 175 "xml/XPathGrammar.y"
  1566     {
  1566     {
  1567         (yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
  1567         (yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
  1568         (yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
  1568         (yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
  1569         PARSER->unregisterParseNode((yyvsp[(2) - (3)].step));
  1569         PARSER->unregisterParseNode((yyvsp[(2) - (3)].step));
  1570         PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
  1570         PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
  1572     break;
  1572     break;
  1573 
  1573 
  1574   case 11:
  1574   case 11:
  1575 
  1575 
  1576 /* Line 1455 of yacc.c  */
  1576 /* Line 1455 of yacc.c  */
  1577 #line 185 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1577 #line 185 "xml/XPathGrammar.y"
  1578     {
  1578     {
  1579         if ((yyvsp[(2) - (2)].predList)) {
  1579         if ((yyvsp[(2) - (2)].predList)) {
  1580             (yyval.step) = new Step(Step::ChildAxis, *(yyvsp[(1) - (2)].nodeTest), *(yyvsp[(2) - (2)].predList));
  1580             (yyval.step) = new Step(Step::ChildAxis, *(yyvsp[(1) - (2)].nodeTest), *(yyvsp[(2) - (2)].predList));
  1581             PARSER->deletePredicateVector((yyvsp[(2) - (2)].predList));
  1581             PARSER->deletePredicateVector((yyvsp[(2) - (2)].predList));
  1582         } else
  1582         } else
  1587     break;
  1587     break;
  1588 
  1588 
  1589   case 12:
  1589   case 12:
  1590 
  1590 
  1591 /* Line 1455 of yacc.c  */
  1591 /* Line 1455 of yacc.c  */
  1592 #line 196 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1592 #line 196 "xml/XPathGrammar.y"
  1593     {
  1593     {
  1594         String localName;
  1594         String localName;
  1595         String namespaceURI;
  1595         String namespaceURI;
  1596         if (!PARSER->expandQName(*(yyvsp[(1) - (2)].str), localName, namespaceURI)) {
  1596         if (!PARSER->expandQName(*(yyvsp[(1) - (2)].str), localName, namespaceURI)) {
  1597             PARSER->m_gotNamespaceError = true;
  1597             PARSER->m_gotNamespaceError = true;
  1609     break;
  1609     break;
  1610 
  1610 
  1611   case 13:
  1611   case 13:
  1612 
  1612 
  1613 /* Line 1455 of yacc.c  */
  1613 /* Line 1455 of yacc.c  */
  1614 #line 214 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1614 #line 214 "xml/XPathGrammar.y"
  1615     {
  1615     {
  1616         if ((yyvsp[(3) - (3)].predList)) {
  1616         if ((yyvsp[(3) - (3)].predList)) {
  1617             (yyval.step) = new Step((yyvsp[(1) - (3)].axis), *(yyvsp[(2) - (3)].nodeTest), *(yyvsp[(3) - (3)].predList));
  1617             (yyval.step) = new Step((yyvsp[(1) - (3)].axis), *(yyvsp[(2) - (3)].nodeTest), *(yyvsp[(3) - (3)].predList));
  1618             PARSER->deletePredicateVector((yyvsp[(3) - (3)].predList));
  1618             PARSER->deletePredicateVector((yyvsp[(3) - (3)].predList));
  1619         } else
  1619         } else
  1624     break;
  1624     break;
  1625 
  1625 
  1626   case 14:
  1626   case 14:
  1627 
  1627 
  1628 /* Line 1455 of yacc.c  */
  1628 /* Line 1455 of yacc.c  */
  1629 #line 225 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1629 #line 225 "xml/XPathGrammar.y"
  1630     {
  1630     {
  1631         String localName;
  1631         String localName;
  1632         String namespaceURI;
  1632         String namespaceURI;
  1633         if (!PARSER->expandQName(*(yyvsp[(2) - (3)].str), localName, namespaceURI)) {
  1633         if (!PARSER->expandQName(*(yyvsp[(2) - (3)].str), localName, namespaceURI)) {
  1634             PARSER->m_gotNamespaceError = true;
  1634             PARSER->m_gotNamespaceError = true;
  1646     break;
  1646     break;
  1647 
  1647 
  1648   case 17:
  1648   case 17:
  1649 
  1649 
  1650 /* Line 1455 of yacc.c  */
  1650 /* Line 1455 of yacc.c  */
  1651 #line 249 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1651 #line 249 "xml/XPathGrammar.y"
  1652     {
  1652     {
  1653         (yyval.axis) = Step::AttributeAxis;
  1653         (yyval.axis) = Step::AttributeAxis;
  1654     ;}
  1654     ;}
  1655     break;
  1655     break;
  1656 
  1656 
  1657   case 18:
  1657   case 18:
  1658 
  1658 
  1659 /* Line 1455 of yacc.c  */
  1659 /* Line 1455 of yacc.c  */
  1660 #line 256 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1660 #line 256 "xml/XPathGrammar.y"
  1661     {
  1661     {
  1662         if (*(yyvsp[(1) - (3)].str) == "node")
  1662         if (*(yyvsp[(1) - (3)].str) == "node")
  1663             (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::AnyNodeTest);
  1663             (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::AnyNodeTest);
  1664         else if (*(yyvsp[(1) - (3)].str) == "text")
  1664         else if (*(yyvsp[(1) - (3)].str) == "text")
  1665             (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::TextNodeTest);
  1665             (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::TextNodeTest);
  1672     break;
  1672     break;
  1673 
  1673 
  1674   case 19:
  1674   case 19:
  1675 
  1675 
  1676 /* Line 1455 of yacc.c  */
  1676 /* Line 1455 of yacc.c  */
  1677 #line 269 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1677 #line 269 "xml/XPathGrammar.y"
  1678     {
  1678     {
  1679         (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
  1679         (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
  1680         PARSER->deleteString((yyvsp[(1) - (3)].str));        
  1680         PARSER->deleteString((yyvsp[(1) - (3)].str));        
  1681         PARSER->registerNodeTest((yyval.nodeTest));
  1681         PARSER->registerNodeTest((yyval.nodeTest));
  1682     ;}
  1682     ;}
  1683     break;
  1683     break;
  1684 
  1684 
  1685   case 20:
  1685   case 20:
  1686 
  1686 
  1687 /* Line 1455 of yacc.c  */
  1687 /* Line 1455 of yacc.c  */
  1688 #line 276 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1688 #line 276 "xml/XPathGrammar.y"
  1689     {
  1689     {
  1690         (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
  1690         (yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
  1691         PARSER->deleteString((yyvsp[(1) - (4)].str));        
  1691         PARSER->deleteString((yyvsp[(1) - (4)].str));        
  1692         PARSER->deleteString((yyvsp[(3) - (4)].str));
  1692         PARSER->deleteString((yyvsp[(3) - (4)].str));
  1693         PARSER->registerNodeTest((yyval.nodeTest));
  1693         PARSER->registerNodeTest((yyval.nodeTest));
  1695     break;
  1695     break;
  1696 
  1696 
  1697   case 21:
  1697   case 21:
  1698 
  1698 
  1699 /* Line 1455 of yacc.c  */
  1699 /* Line 1455 of yacc.c  */
  1700 #line 286 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1700 #line 286 "xml/XPathGrammar.y"
  1701     {
  1701     {
  1702         (yyval.predList) = 0;
  1702         (yyval.predList) = 0;
  1703     ;}
  1703     ;}
  1704     break;
  1704     break;
  1705 
  1705 
  1706   case 23:
  1706   case 23:
  1707 
  1707 
  1708 /* Line 1455 of yacc.c  */
  1708 /* Line 1455 of yacc.c  */
  1709 #line 295 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1709 #line 295 "xml/XPathGrammar.y"
  1710     {
  1710     {
  1711         (yyval.predList) = new Vector<Predicate*>;
  1711         (yyval.predList) = new Vector<Predicate*>;
  1712         (yyval.predList)->append(new Predicate((yyvsp[(1) - (1)].expr)));
  1712         (yyval.predList)->append(new Predicate((yyvsp[(1) - (1)].expr)));
  1713         PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
  1713         PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
  1714         PARSER->registerPredicateVector((yyval.predList));
  1714         PARSER->registerPredicateVector((yyval.predList));
  1716     break;
  1716     break;
  1717 
  1717 
  1718   case 24:
  1718   case 24:
  1719 
  1719 
  1720 /* Line 1455 of yacc.c  */
  1720 /* Line 1455 of yacc.c  */
  1721 #line 303 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1721 #line 303 "xml/XPathGrammar.y"
  1722     {
  1722     {
  1723         (yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
  1723         (yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
  1724         PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
  1724         PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
  1725     ;}
  1725     ;}
  1726     break;
  1726     break;
  1727 
  1727 
  1728   case 25:
  1728   case 25:
  1729 
  1729 
  1730 /* Line 1455 of yacc.c  */
  1730 /* Line 1455 of yacc.c  */
  1731 #line 311 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1731 #line 311 "xml/XPathGrammar.y"
  1732     {
  1732     {
  1733         (yyval.expr) = (yyvsp[(2) - (3)].expr);
  1733         (yyval.expr) = (yyvsp[(2) - (3)].expr);
  1734     ;}
  1734     ;}
  1735     break;
  1735     break;
  1736 
  1736 
  1737   case 26:
  1737   case 26:
  1738 
  1738 
  1739 /* Line 1455 of yacc.c  */
  1739 /* Line 1455 of yacc.c  */
  1740 #line 318 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1740 #line 318 "xml/XPathGrammar.y"
  1741     {
  1741     {
  1742         (yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1742         (yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1743         PARSER->registerParseNode((yyval.step));
  1743         PARSER->registerParseNode((yyval.step));
  1744     ;}
  1744     ;}
  1745     break;
  1745     break;
  1746 
  1746 
  1747   case 27:
  1747   case 27:
  1748 
  1748 
  1749 /* Line 1455 of yacc.c  */
  1749 /* Line 1455 of yacc.c  */
  1750 #line 326 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1750 #line 326 "xml/XPathGrammar.y"
  1751     {
  1751     {
  1752         (yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1752         (yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1753         PARSER->registerParseNode((yyval.step));
  1753         PARSER->registerParseNode((yyval.step));
  1754     ;}
  1754     ;}
  1755     break;
  1755     break;
  1756 
  1756 
  1757   case 28:
  1757   case 28:
  1758 
  1758 
  1759 /* Line 1455 of yacc.c  */
  1759 /* Line 1455 of yacc.c  */
  1760 #line 332 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1760 #line 332 "xml/XPathGrammar.y"
  1761     {
  1761     {
  1762         (yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1762         (yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
  1763         PARSER->registerParseNode((yyval.step));
  1763         PARSER->registerParseNode((yyval.step));
  1764     ;}
  1764     ;}
  1765     break;
  1765     break;
  1766 
  1766 
  1767   case 29:
  1767   case 29:
  1768 
  1768 
  1769 /* Line 1455 of yacc.c  */
  1769 /* Line 1455 of yacc.c  */
  1770 #line 340 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1770 #line 340 "xml/XPathGrammar.y"
  1771     {
  1771     {
  1772         (yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
  1772         (yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
  1773         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1773         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1774         PARSER->registerParseNode((yyval.expr));
  1774         PARSER->registerParseNode((yyval.expr));
  1775     ;}
  1775     ;}
  1776     break;
  1776     break;
  1777 
  1777 
  1778   case 30:
  1778   case 30:
  1779 
  1779 
  1780 /* Line 1455 of yacc.c  */
  1780 /* Line 1455 of yacc.c  */
  1781 #line 347 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1781 #line 347 "xml/XPathGrammar.y"
  1782     {
  1782     {
  1783         (yyval.expr) = (yyvsp[(2) - (3)].expr);
  1783         (yyval.expr) = (yyvsp[(2) - (3)].expr);
  1784     ;}
  1784     ;}
  1785     break;
  1785     break;
  1786 
  1786 
  1787   case 31:
  1787   case 31:
  1788 
  1788 
  1789 /* Line 1455 of yacc.c  */
  1789 /* Line 1455 of yacc.c  */
  1790 #line 352 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1790 #line 352 "xml/XPathGrammar.y"
  1791     {
  1791     {
  1792         (yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
  1792         (yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
  1793         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1793         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1794         PARSER->registerParseNode((yyval.expr));
  1794         PARSER->registerParseNode((yyval.expr));
  1795     ;}
  1795     ;}
  1796     break;
  1796     break;
  1797 
  1797 
  1798   case 32:
  1798   case 32:
  1799 
  1799 
  1800 /* Line 1455 of yacc.c  */
  1800 /* Line 1455 of yacc.c  */
  1801 #line 359 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1801 #line 359 "xml/XPathGrammar.y"
  1802     {
  1802     {
  1803         (yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
  1803         (yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
  1804         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1804         PARSER->deleteString((yyvsp[(1) - (1)].str));
  1805         PARSER->registerParseNode((yyval.expr));
  1805         PARSER->registerParseNode((yyval.expr));
  1806     ;}
  1806     ;}
  1807     break;
  1807     break;
  1808 
  1808 
  1809   case 34:
  1809   case 34:
  1810 
  1810 
  1811 /* Line 1455 of yacc.c  */
  1811 /* Line 1455 of yacc.c  */
  1812 #line 370 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1812 #line 370 "xml/XPathGrammar.y"
  1813     {
  1813     {
  1814         (yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
  1814         (yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
  1815         if (!(yyval.expr))
  1815         if (!(yyval.expr))
  1816             YYABORT;
  1816             YYABORT;
  1817         PARSER->deleteString((yyvsp[(1) - (3)].str));
  1817         PARSER->deleteString((yyvsp[(1) - (3)].str));
  1820     break;
  1820     break;
  1821 
  1821 
  1822   case 35:
  1822   case 35:
  1823 
  1823 
  1824 /* Line 1455 of yacc.c  */
  1824 /* Line 1455 of yacc.c  */
  1825 #line 379 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1825 #line 379 "xml/XPathGrammar.y"
  1826     {
  1826     {
  1827         (yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
  1827         (yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
  1828         if (!(yyval.expr))
  1828         if (!(yyval.expr))
  1829             YYABORT;
  1829             YYABORT;
  1830         PARSER->deleteString((yyvsp[(1) - (4)].str));
  1830         PARSER->deleteString((yyvsp[(1) - (4)].str));
  1834     break;
  1834     break;
  1835 
  1835 
  1836   case 36:
  1836   case 36:
  1837 
  1837 
  1838 /* Line 1455 of yacc.c  */
  1838 /* Line 1455 of yacc.c  */
  1839 #line 391 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1839 #line 391 "xml/XPathGrammar.y"
  1840     {
  1840     {
  1841         (yyval.argList) = new Vector<Expression*>;
  1841         (yyval.argList) = new Vector<Expression*>;
  1842         (yyval.argList)->append((yyvsp[(1) - (1)].expr));
  1842         (yyval.argList)->append((yyvsp[(1) - (1)].expr));
  1843         PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
  1843         PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
  1844         PARSER->registerExpressionVector((yyval.argList));
  1844         PARSER->registerExpressionVector((yyval.argList));
  1846     break;
  1846     break;
  1847 
  1847 
  1848   case 37:
  1848   case 37:
  1849 
  1849 
  1850 /* Line 1455 of yacc.c  */
  1850 /* Line 1455 of yacc.c  */
  1851 #line 399 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1851 #line 399 "xml/XPathGrammar.y"
  1852     {
  1852     {
  1853         (yyval.argList)->append((yyvsp[(3) - (3)].expr));
  1853         (yyval.argList)->append((yyvsp[(3) - (3)].expr));
  1854         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1854         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1855     ;}
  1855     ;}
  1856     break;
  1856     break;
  1857 
  1857 
  1858   case 40:
  1858   case 40:
  1859 
  1859 
  1860 /* Line 1455 of yacc.c  */
  1860 /* Line 1455 of yacc.c  */
  1861 #line 413 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1861 #line 413 "xml/XPathGrammar.y"
  1862     {
  1862     {
  1863         (yyval.expr) = new Union;
  1863         (yyval.expr) = new Union;
  1864         (yyval.expr)->addSubExpression((yyvsp[(1) - (3)].expr));
  1864         (yyval.expr)->addSubExpression((yyvsp[(1) - (3)].expr));
  1865         (yyval.expr)->addSubExpression((yyvsp[(3) - (3)].expr));
  1865         (yyval.expr)->addSubExpression((yyvsp[(3) - (3)].expr));
  1866         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1866         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1870     break;
  1870     break;
  1871 
  1871 
  1872   case 41:
  1872   case 41:
  1873 
  1873 
  1874 /* Line 1455 of yacc.c  */
  1874 /* Line 1455 of yacc.c  */
  1875 #line 425 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1875 #line 425 "xml/XPathGrammar.y"
  1876     {
  1876     {
  1877         (yyval.expr) = (yyvsp[(1) - (1)].locationPath);
  1877         (yyval.expr) = (yyvsp[(1) - (1)].locationPath);
  1878     ;}
  1878     ;}
  1879     break;
  1879     break;
  1880 
  1880 
  1881   case 43:
  1881   case 43:
  1882 
  1882 
  1883 /* Line 1455 of yacc.c  */
  1883 /* Line 1455 of yacc.c  */
  1884 #line 432 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1884 #line 432 "xml/XPathGrammar.y"
  1885     {
  1885     {
  1886         (yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
  1886         (yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
  1887         (yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
  1887         (yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
  1888         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1888         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1889         PARSER->unregisterParseNode((yyvsp[(3) - (3)].locationPath));
  1889         PARSER->unregisterParseNode((yyvsp[(3) - (3)].locationPath));
  1892     break;
  1892     break;
  1893 
  1893 
  1894   case 44:
  1894   case 44:
  1895 
  1895 
  1896 /* Line 1455 of yacc.c  */
  1896 /* Line 1455 of yacc.c  */
  1897 #line 441 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1897 #line 441 "xml/XPathGrammar.y"
  1898     {
  1898     {
  1899         (yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
  1899         (yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
  1900         (yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
  1900         (yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
  1901         (yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
  1901         (yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
  1902         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1902         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1907     break;
  1907     break;
  1908 
  1908 
  1909   case 46:
  1909   case 46:
  1910 
  1910 
  1911 /* Line 1455 of yacc.c  */
  1911 /* Line 1455 of yacc.c  */
  1912 #line 456 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1912 #line 456 "xml/XPathGrammar.y"
  1913     {
  1913     {
  1914         (yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
  1914         (yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
  1915         PARSER->unregisterParseNode((yyvsp[(1) - (2)].expr));
  1915         PARSER->unregisterParseNode((yyvsp[(1) - (2)].expr));
  1916         PARSER->deletePredicateVector((yyvsp[(2) - (2)].predList));
  1916         PARSER->deletePredicateVector((yyvsp[(2) - (2)].predList));
  1917         PARSER->registerParseNode((yyval.expr));
  1917         PARSER->registerParseNode((yyval.expr));
  1919     break;
  1919     break;
  1920 
  1920 
  1921   case 48:
  1921   case 48:
  1922 
  1922 
  1923 /* Line 1455 of yacc.c  */
  1923 /* Line 1455 of yacc.c  */
  1924 #line 468 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1924 #line 468 "xml/XPathGrammar.y"
  1925     {
  1925     {
  1926         (yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1926         (yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1927         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1927         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1928         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1928         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1929         PARSER->registerParseNode((yyval.expr));
  1929         PARSER->registerParseNode((yyval.expr));
  1931     break;
  1931     break;
  1932 
  1932 
  1933   case 50:
  1933   case 50:
  1934 
  1934 
  1935 /* Line 1455 of yacc.c  */
  1935 /* Line 1455 of yacc.c  */
  1936 #line 480 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1936 #line 480 "xml/XPathGrammar.y"
  1937     {
  1937     {
  1938         (yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1938         (yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1939         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1939         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1940         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1940         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1941         PARSER->registerParseNode((yyval.expr));
  1941         PARSER->registerParseNode((yyval.expr));
  1943     break;
  1943     break;
  1944 
  1944 
  1945   case 52:
  1945   case 52:
  1946 
  1946 
  1947 /* Line 1455 of yacc.c  */
  1947 /* Line 1455 of yacc.c  */
  1948 #line 492 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1948 #line 492 "xml/XPathGrammar.y"
  1949     {
  1949     {
  1950         (yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1950         (yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1951         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1951         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1952         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1952         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1953         PARSER->registerParseNode((yyval.expr));
  1953         PARSER->registerParseNode((yyval.expr));
  1955     break;
  1955     break;
  1956 
  1956 
  1957   case 54:
  1957   case 54:
  1958 
  1958 
  1959 /* Line 1455 of yacc.c  */
  1959 /* Line 1455 of yacc.c  */
  1960 #line 504 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1960 #line 504 "xml/XPathGrammar.y"
  1961     {
  1961     {
  1962         (yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1962         (yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1963         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1963         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1964         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1964         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1965         PARSER->registerParseNode((yyval.expr));
  1965         PARSER->registerParseNode((yyval.expr));
  1967     break;
  1967     break;
  1968 
  1968 
  1969   case 56:
  1969   case 56:
  1970 
  1970 
  1971 /* Line 1455 of yacc.c  */
  1971 /* Line 1455 of yacc.c  */
  1972 #line 516 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1972 #line 516 "xml/XPathGrammar.y"
  1973     {
  1973     {
  1974         (yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1974         (yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1975         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1975         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1976         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1976         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1977         PARSER->registerParseNode((yyval.expr));
  1977         PARSER->registerParseNode((yyval.expr));
  1979     break;
  1979     break;
  1980 
  1980 
  1981   case 57:
  1981   case 57:
  1982 
  1982 
  1983 /* Line 1455 of yacc.c  */
  1983 /* Line 1455 of yacc.c  */
  1984 #line 524 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1984 #line 524 "xml/XPathGrammar.y"
  1985     {
  1985     {
  1986         (yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1986         (yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1987         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1987         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1988         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1988         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  1989         PARSER->registerParseNode((yyval.expr));
  1989         PARSER->registerParseNode((yyval.expr));
  1991     break;
  1991     break;
  1992 
  1992 
  1993   case 59:
  1993   case 59:
  1994 
  1994 
  1995 /* Line 1455 of yacc.c  */
  1995 /* Line 1455 of yacc.c  */
  1996 #line 536 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  1996 #line 536 "xml/XPathGrammar.y"
  1997     {
  1997     {
  1998         (yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1998         (yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
  1999         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  1999         PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
  2000         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  2000         PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
  2001         PARSER->registerParseNode((yyval.expr));
  2001         PARSER->registerParseNode((yyval.expr));
  2003     break;
  2003     break;
  2004 
  2004 
  2005   case 61:
  2005   case 61:
  2006 
  2006 
  2007 /* Line 1455 of yacc.c  */
  2007 /* Line 1455 of yacc.c  */
  2008 #line 548 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  2008 #line 548 "xml/XPathGrammar.y"
  2009     {
  2009     {
  2010         (yyval.expr) = new Negative;
  2010         (yyval.expr) = new Negative;
  2011         (yyval.expr)->addSubExpression((yyvsp[(2) - (2)].expr));
  2011         (yyval.expr)->addSubExpression((yyvsp[(2) - (2)].expr));
  2012         PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
  2012         PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
  2013         PARSER->registerParseNode((yyval.expr));
  2013         PARSER->registerParseNode((yyval.expr));
  2227 }
  2227 }
  2228 
  2228 
  2229 
  2229 
  2230 
  2230 
  2231 /* Line 1675 of yacc.c  */
  2231 /* Line 1675 of yacc.c  */
  2232 #line 556 "u:\\yaels-qtwebkit\\WebCore\\xml\\XPathGrammar.y"
  2232 #line 556 "xml/XPathGrammar.y"
  2233 
  2233 
  2234 
  2234 
  2235 #endif
  2235 #endif
  2236 
  2236