Changeset 3971 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2011-03-09T23:12:36+01:00 (14 years ago)
Author:
bastiK
Message:

MapCSS: fix parser bug

Location:
trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.java

    r3967 r3971  
    961961    FunctionExpression fn;
    962962    Object lit;
    963     if (jj_2_7(2)) {
    964       // both function and identifier start with an identifier
     963    if (jj_2_7(3)) {
     964      // both function and identifier start with an identifier (+ optional whitespace)
    965965              fn = function();
    966966                        {if (true) return fn;}
     
    11711171  }
    11721172
    1173   private boolean jj_3R_40() {
     1173  private boolean jj_3R_41() {
    11741174    if (jj_scan_token(CARET)) return true;
    11751175    if (jj_scan_token(EQUAL)) return true;
     
    11771177  }
    11781178
    1179   private boolean jj_3R_39() {
     1179  private boolean jj_3R_40() {
    11801180    if (jj_scan_token(TILDE)) return true;
    11811181    if (jj_scan_token(EQUAL)) return true;
     
    11901190  }
    11911191
    1192   private boolean jj_3R_58() {
     1192  private boolean jj_3R_59() {
    11931193    if (jj_3R_28()) return true;
    11941194    return false;
    11951195  }
    11961196
     1197  private boolean jj_3R_39() {
     1198    if (jj_scan_token(EQUAL)) return true;
     1199    return false;
     1200  }
     1201
    11971202  private boolean jj_3R_38() {
    1198     if (jj_scan_token(EQUAL)) return true;
    1199     return false;
    1200   }
    1201 
    1202   private boolean jj_3R_37() {
    12031203    if (jj_scan_token(EXCLAMATION)) return true;
    12041204    if (jj_scan_token(EQUAL)) return true;
     
    12061206  }
    12071207
    1208   private boolean jj_3R_36() {
     1208  private boolean jj_3R_37() {
    12091209    if (jj_scan_token(REGEX)) return true;
    12101210    return false;
     
    12141214    Token xsp;
    12151215    xsp = jj_scanpos;
    1216     if (jj_3R_37()) {
    1217     jj_scanpos = xsp;
    12181216    if (jj_3R_38()) {
    12191217    jj_scanpos = xsp;
     
    12241222    if (jj_3R_41()) {
    12251223    jj_scanpos = xsp;
    1226     if (jj_3R_42()) return true;
     1224    if (jj_3R_42()) {
     1225    jj_scanpos = xsp;
     1226    if (jj_3R_43()) return true;
    12271227    }
    12281228    }
     
    12341234    if (jj_3_3()) {
    12351235    jj_scanpos = xsp;
    1236     if (jj_3R_43()) {
    1237     jj_scanpos = xsp;
    1238     if (jj_3R_44()) return true;
    1239     }
    1240     }
    1241     return false;
    1242   }
    1243 
    1244   private boolean jj_3R_55() {
     1236    if (jj_3R_44()) {
     1237    jj_scanpos = xsp;
     1238    if (jj_3R_45()) return true;
     1239    }
     1240    }
     1241    return false;
     1242  }
     1243
     1244  private boolean jj_3R_56() {
    12451245    if (jj_scan_token(COLON)) return true;
    12461246    if (jj_scan_token(IDENT)) return true;
     
    12481248  }
    12491249
    1250   private boolean jj_3R_56() {
     1250  private boolean jj_3R_57() {
    12511251    Token xsp;
    12521252    xsp = jj_scanpos;
    1253     if (jj_3R_73()) {
    1254     jj_scanpos = xsp;
    1255     if (jj_3R_74()) return true;
    1256     }
    1257     return false;
    1258   }
    1259 
    1260   private boolean jj_3R_73() {
     1253    if (jj_3R_74()) {
     1254    jj_scanpos = xsp;
     1255    if (jj_3R_75()) return true;
     1256    }
     1257    return false;
     1258  }
     1259
     1260  private boolean jj_3R_74() {
    12611261    if (jj_scan_token(IDENT)) return true;
    12621262    return false;
     
    12671267    if (jj_scan_token(TILDE)) return true;
    12681268    if (jj_3R_14()) return true;
    1269     if (jj_3R_36()) return true;
     1269    if (jj_3R_37()) return true;
    12701270    return false;
    12711271  }
     
    12771277
    12781278  private boolean jj_3R_27() {
    1279     if (jj_3R_50()) return true;
     1279    if (jj_3R_51()) return true;
    12801280    return false;
    12811281  }
     
    13081308
    13091309  private boolean jj_3R_82() {
    1310     if (jj_3R_54()) return true;
     1310    if (jj_3R_55()) return true;
    13111311    return false;
    13121312  }
     
    13171317  }
    13181318
    1319   private boolean jj_3R_75() {
     1319  private boolean jj_3R_76() {
    13201320    Token xsp;
    13211321    xsp = jj_scanpos;
     
    13361336  }
    13371337
    1338   private boolean jj_3R_54() {
     1338  private boolean jj_3R_55() {
    13391339    if (jj_scan_token(STRING)) return true;
    13401340    return false;
     
    13461346  }
    13471347
    1348   private boolean jj_3R_49() {
     1348  private boolean jj_3R_50() {
    13491349    Token xsp;
    13501350    xsp = jj_scanpos;
    1351     if (jj_3R_57()) {
    1352     jj_scanpos = xsp;
    1353     if (jj_3R_58()) return true;
    1354     }
    1355     return false;
    1356   }
    1357 
    1358   private boolean jj_3R_57() {
     1351    if (jj_3R_58()) {
     1352    jj_scanpos = xsp;
     1353    if (jj_3R_59()) return true;
     1354    }
     1355    return false;
     1356  }
     1357
     1358  private boolean jj_3R_58() {
    13591359    if (jj_scan_token(MINUS)) return true;
    13601360    if (jj_3R_28()) return true;
     
    13841384  }
    13851385
    1386   private boolean jj_3R_80() {
     1386  private boolean jj_3R_34() {
    13871387    if (jj_3R_19()) return true;
    13881388    Token xsp;
     
    14041404  }
    14051405
    1406   private boolean jj_3R_35() {
     1406  private boolean jj_3R_36() {
    14071407    if (jj_scan_token(IDENT)) return true;
    14081408    Token xsp;
    14091409    while (true) {
    14101410      xsp = jj_scanpos;
    1411       if (jj_3R_55()) { jj_scanpos = xsp; break; }
    1412     }
    1413     return false;
    1414   }
    1415 
    1416   private boolean jj_3R_34() {
    1417     if (jj_3R_54()) return true;
     1411      if (jj_3R_56()) { jj_scanpos = xsp; break; }
     1412    }
     1413    return false;
     1414  }
     1415
     1416  private boolean jj_3R_35() {
     1417    if (jj_3R_55()) return true;
    14181418    return false;
    14191419  }
     
    14221422    Token xsp;
    14231423    xsp = jj_scanpos;
    1424     if (jj_3R_34()) {
    1425     jj_scanpos = xsp;
    1426     if (jj_3R_35()) return true;
     1424    if (jj_3R_35()) {
     1425    jj_scanpos = xsp;
     1426    if (jj_3R_36()) return true;
    14271427    }
    14281428    return false;
     
    14361436    Token xsp;
    14371437    xsp = jj_scanpos;
    1438     if (jj_3R_80()) jj_scanpos = xsp;
     1438    if (jj_3R_34()) jj_scanpos = xsp;
    14391439    if (jj_scan_token(RPAR)) return true;
    14401440    return false;
     
    14571457  private boolean jj_3R_26() {
    14581458    if (jj_scan_token(MINUS)) return true;
    1459     if (jj_3R_50()) return true;
     1459    if (jj_3R_51()) return true;
    14601460    return false;
    14611461  }
     
    14711471  }
    14721472
    1473   private boolean jj_3R_60() {
     1473  private boolean jj_3R_61() {
    14741474    if (jj_scan_token(LPAR)) return true;
    14751475    if (jj_3R_18()) return true;
     
    14791479  }
    14801480
    1481   private boolean jj_3R_59() {
    1482     if (jj_3R_75()) return true;
    1483     return false;
    1484   }
    1485 
    1486   private boolean jj_3R_50() {
     1481  private boolean jj_3R_60() {
     1482    if (jj_3R_76()) return true;
     1483    return false;
     1484  }
     1485
     1486  private boolean jj_3R_51() {
    14871487    if (jj_scan_token(UINT)) return true;
    14881488    return false;
     
    14941494  }
    14951495
    1496   private boolean jj_3R_52() {
     1496  private boolean jj_3R_53() {
    14971497    Token xsp;
    14981498    xsp = jj_scanpos;
    14991499    if (jj_3_7()) {
    15001500    jj_scanpos = xsp;
    1501     if (jj_3R_59()) {
    1502     jj_scanpos = xsp;
    1503     if (jj_3R_60()) return true;
    1504     }
    1505     }
     1501    if (jj_3R_60()) {
     1502    jj_scanpos = xsp;
     1503    if (jj_3R_61()) return true;
     1504    }
     1505    }
     1506    return false;
     1507  }
     1508
     1509  private boolean jj_3R_73() {
     1510    if (jj_scan_token(QUESTION)) return true;
     1511    if (jj_3R_18()) return true;
     1512    if (jj_3R_53()) return true;
     1513    if (jj_3R_18()) return true;
     1514    if (jj_scan_token(COLON)) return true;
     1515    if (jj_3R_18()) return true;
     1516    if (jj_3R_53()) return true;
     1517    if (jj_3R_18()) return true;
    15061518    return false;
    15071519  }
    15081520
    15091521  private boolean jj_3R_72() {
    1510     if (jj_scan_token(QUESTION)) return true;
    1511     if (jj_3R_18()) return true;
    1512     if (jj_3R_52()) return true;
    1513     if (jj_3R_18()) return true;
    1514     if (jj_scan_token(COLON)) return true;
    1515     if (jj_3R_18()) return true;
    1516     if (jj_3R_52()) return true;
    1517     if (jj_3R_18()) return true;
    1518     return false;
    1519   }
    1520 
    1521   private boolean jj_3R_71() {
    15221522    if (jj_scan_token(PIPE)) return true;
    15231523    if (jj_scan_token(PIPE)) return true;
    15241524    if (jj_3R_18()) return true;
    1525     if (jj_3R_52()) return true;
    1526     if (jj_3R_18()) return true;
    1527     return false;
    1528   }
    1529 
    1530   private boolean jj_3R_70() {
     1525    if (jj_3R_53()) return true;
     1526    if (jj_3R_18()) return true;
     1527    return false;
     1528  }
     1529
     1530  private boolean jj_3R_71() {
    15311531    if (jj_scan_token(AMPERSAND)) return true;
    15321532    if (jj_scan_token(AMPERSAND)) return true;
    15331533    if (jj_3R_18()) return true;
    1534     if (jj_3R_52()) return true;
     1534    if (jj_3R_53()) return true;
     1535    if (jj_3R_18()) return true;
     1536    return false;
     1537  }
     1538
     1539  private boolean jj_3R_70() {
     1540    if (jj_scan_token(LESS)) return true;
     1541    if (jj_3R_18()) return true;
     1542    if (jj_3R_53()) return true;
    15351543    if (jj_3R_18()) return true;
    15361544    return false;
     
    15381546
    15391547  private boolean jj_3R_69() {
    1540     if (jj_scan_token(LESS)) return true;
    1541     if (jj_3R_18()) return true;
    1542     if (jj_3R_52()) return true;
    1543     if (jj_3R_18()) return true;
    1544     return false;
    1545   }
    1546 
    1547   private boolean jj_3R_68() {
    15481548    if (jj_scan_token(EQUAL)) return true;
    15491549    Token xsp;
     
    15511551    if (jj_scan_token(22)) jj_scanpos = xsp;
    15521552    if (jj_3R_18()) return true;
    1553     if (jj_3R_52()) return true;
     1553    if (jj_3R_53()) return true;
     1554    if (jj_3R_18()) return true;
     1555    return false;
     1556  }
     1557
     1558  private boolean jj_3R_68() {
     1559    if (jj_scan_token(GREATER)) return true;
     1560    if (jj_3R_18()) return true;
     1561    if (jj_3R_53()) return true;
    15541562    if (jj_3R_18()) return true;
    15551563    return false;
     
    15571565
    15581566  private boolean jj_3R_67() {
    1559     if (jj_scan_token(GREATER)) return true;
    1560     if (jj_3R_18()) return true;
    1561     if (jj_3R_52()) return true;
     1567    if (jj_scan_token(LESS_EQUAL)) return true;
     1568    if (jj_3R_18()) return true;
     1569    if (jj_3R_53()) return true;
     1570    if (jj_3R_18()) return true;
     1571    return false;
     1572  }
     1573
     1574  private boolean jj_3R_80() {
     1575    if (jj_scan_token(SLASH)) return true;
     1576    if (jj_3R_18()) return true;
     1577    if (jj_3R_53()) return true;
    15621578    if (jj_3R_18()) return true;
    15631579    return false;
     
    15651581
    15661582  private boolean jj_3R_66() {
    1567     if (jj_scan_token(LESS_EQUAL)) return true;
    1568     if (jj_3R_18()) return true;
    1569     if (jj_3R_52()) return true;
     1583    if (jj_scan_token(GREATER_EQUAL)) return true;
     1584    if (jj_3R_18()) return true;
     1585    if (jj_3R_53()) return true;
    15701586    if (jj_3R_18()) return true;
    15711587    return false;
     
    15731589
    15741590  private boolean jj_3R_79() {
    1575     if (jj_scan_token(SLASH)) return true;
    1576     if (jj_3R_18()) return true;
    1577     if (jj_3R_52()) return true;
     1591    if (jj_scan_token(MINUS)) return true;
     1592    if (jj_3R_18()) return true;
     1593    if (jj_3R_53()) return true;
    15781594    if (jj_3R_18()) return true;
    15791595    return false;
     
    15811597
    15821598  private boolean jj_3R_65() {
    1583     if (jj_scan_token(GREATER_EQUAL)) return true;
    1584     if (jj_3R_18()) return true;
    1585     if (jj_3R_52()) return true;
    1586     if (jj_3R_18()) return true;
     1599    Token xsp;
     1600    if (jj_3R_80()) return true;
     1601    while (true) {
     1602      xsp = jj_scanpos;
     1603      if (jj_3R_80()) { jj_scanpos = xsp; break; }
     1604    }
    15871605    return false;
    15881606  }
    15891607
    15901608  private boolean jj_3R_78() {
    1591     if (jj_scan_token(MINUS)) return true;
    1592     if (jj_3R_18()) return true;
    1593     if (jj_3R_52()) return true;
     1609    if (jj_scan_token(STAR)) return true;
     1610    if (jj_3R_18()) return true;
     1611    if (jj_3R_53()) return true;
    15941612    if (jj_3R_18()) return true;
    15951613    return false;
     
    16071625
    16081626  private boolean jj_3R_77() {
    1609     if (jj_scan_token(STAR)) return true;
    1610     if (jj_3R_18()) return true;
    1611     if (jj_3R_52()) return true;
     1627    if (jj_scan_token(PLUS)) return true;
     1628    if (jj_3R_18()) return true;
     1629    if (jj_3R_53()) return true;
    16121630    if (jj_3R_18()) return true;
    16131631    return false;
     
    16241642  }
    16251643
    1626   private boolean jj_3R_76() {
    1627     if (jj_scan_token(PLUS)) return true;
    1628     if (jj_3R_18()) return true;
    1629     if (jj_3R_52()) return true;
    1630     if (jj_3R_18()) return true;
     1644  private boolean jj_3R_54() {
     1645    Token xsp;
     1646    xsp = jj_scanpos;
     1647    if (jj_3R_62()) {
     1648    jj_scanpos = xsp;
     1649    if (jj_3R_63()) {
     1650    jj_scanpos = xsp;
     1651    if (jj_3R_64()) {
     1652    jj_scanpos = xsp;
     1653    if (jj_3R_65()) {
     1654    jj_scanpos = xsp;
     1655    if (jj_3R_66()) {
     1656    jj_scanpos = xsp;
     1657    if (jj_3R_67()) {
     1658    jj_scanpos = xsp;
     1659    if (jj_3R_68()) {
     1660    jj_scanpos = xsp;
     1661    if (jj_3R_69()) {
     1662    jj_scanpos = xsp;
     1663    if (jj_3R_70()) {
     1664    jj_scanpos = xsp;
     1665    if (jj_3R_71()) {
     1666    jj_scanpos = xsp;
     1667    if (jj_3R_72()) {
     1668    jj_scanpos = xsp;
     1669    if (jj_3R_73()) return true;
     1670    }
     1671    }
     1672    }
     1673    }
     1674    }
     1675    }
     1676    }
     1677    }
     1678    }
     1679    }
     1680    }
    16311681    return false;
    16321682  }
     
    16421692  }
    16431693
    1644   private boolean jj_3R_53() {
     1694  private boolean jj_3R_33() {
     1695    if (jj_3R_53()) return true;
     1696    if (jj_3R_18()) return true;
    16451697    Token xsp;
    16461698    xsp = jj_scanpos;
    1647     if (jj_3R_61()) {
    1648     jj_scanpos = xsp;
    1649     if (jj_3R_62()) {
    1650     jj_scanpos = xsp;
    1651     if (jj_3R_63()) {
    1652     jj_scanpos = xsp;
    1653     if (jj_3R_64()) {
    1654     jj_scanpos = xsp;
    1655     if (jj_3R_65()) {
    1656     jj_scanpos = xsp;
    1657     if (jj_3R_66()) {
    1658     jj_scanpos = xsp;
    1659     if (jj_3R_67()) {
    1660     jj_scanpos = xsp;
    1661     if (jj_3R_68()) {
    1662     jj_scanpos = xsp;
    1663     if (jj_3R_69()) {
    1664     jj_scanpos = xsp;
    1665     if (jj_3R_70()) {
    1666     jj_scanpos = xsp;
    1667     if (jj_3R_71()) {
    1668     jj_scanpos = xsp;
    1669     if (jj_3R_72()) return true;
    1670     }
    1671     }
    1672     }
    1673     }
    1674     }
    1675     }
    1676     }
    1677     }
    1678     }
    1679     }
    1680     }
    1681     return false;
    1682   }
    1683 
    1684   private boolean jj_3R_61() {
    1685     Token xsp;
    1686     if (jj_3R_76()) return true;
    1687     while (true) {
    1688       xsp = jj_scanpos;
    1689       if (jj_3R_76()) { jj_scanpos = xsp; break; }
    1690     }
    1691     return false;
    1692   }
    1693 
    1694   private boolean jj_3R_33() {
    1695     if (jj_3R_52()) return true;
    1696     if (jj_3R_18()) return true;
    1697     Token xsp;
    1698     xsp = jj_scanpos;
    1699     if (jj_3R_53()) jj_scanpos = xsp;
     1699    if (jj_3R_54()) jj_scanpos = xsp;
    17001700    return false;
    17011701  }
     
    17041704    if (jj_scan_token(MINUS)) return true;
    17051705    if (jj_3R_18()) return true;
    1706     if (jj_3R_52()) return true;
     1706    if (jj_3R_53()) return true;
    17071707    if (jj_3R_18()) return true;
    17081708    return false;
     
    17121712    if (jj_scan_token(EXCLAMATION)) return true;
    17131713    if (jj_3R_18()) return true;
    1714     if (jj_3R_52()) return true;
     1714    if (jj_3R_53()) return true;
    17151715    if (jj_3R_18()) return true;
    17161716    return false;
     
    17601760  }
    17611761
     1762  private boolean jj_3R_49() {
     1763    if (jj_scan_token(LESS)) return true;
     1764    return false;
     1765  }
     1766
    17621767  private boolean jj_3R_48() {
    1763     if (jj_scan_token(LESS)) return true;
    1764     return false;
    1765   }
    1766 
    1767   private boolean jj_3R_47() {
    17681768    if (jj_scan_token(LESS_EQUAL)) return true;
    17691769    return false;
     
    17811781  }
    17821782
     1783  private boolean jj_3R_47() {
     1784    if (jj_scan_token(GREATER)) return true;
     1785    return false;
     1786  }
     1787
     1788  private boolean jj_3R_45() {
     1789    if (jj_3R_57()) return true;
     1790    return false;
     1791  }
     1792
    17831793  private boolean jj_3R_46() {
    1784     if (jj_scan_token(GREATER)) return true;
    1785     return false;
    1786   }
    1787 
    1788   private boolean jj_3R_44() {
    1789     if (jj_3R_56()) return true;
    1790     return false;
    1791   }
    1792 
    1793   private boolean jj_3R_45() {
    17941794    if (jj_scan_token(GREATER_EQUAL)) return true;
    17951795    return false;
    17961796  }
    17971797
    1798   private boolean jj_3R_51() {
     1798  private boolean jj_3R_52() {
    17991799    if (jj_scan_token(COMMENT_START)) return true;
    18001800    if (jj_scan_token(COMMENT_END)) return true;
     
    18021802  }
    18031803
    1804   private boolean jj_3R_43() {
    1805     if (jj_3R_49()) return true;
    1806     return false;
    1807   }
    1808 
    1809   private boolean jj_3R_74() {
    1810     if (jj_3R_54()) return true;
     1804  private boolean jj_3R_44() {
     1805    if (jj_3R_50()) return true;
     1806    return false;
     1807  }
     1808
     1809  private boolean jj_3R_75() {
     1810    if (jj_3R_55()) return true;
    18111811    return false;
    18121812  }
     
    18171817    if (jj_scan_token(9)) {
    18181818    jj_scanpos = xsp;
    1819     if (jj_3R_51()) return true;
     1819    if (jj_3R_52()) return true;
    18201820    }
    18211821    return false;
     
    18251825    Token xsp;
    18261826    xsp = jj_scanpos;
    1827     if (jj_3R_45()) {
    1828     jj_scanpos = xsp;
    18291827    if (jj_3R_46()) {
    18301828    jj_scanpos = xsp;
    18311829    if (jj_3R_47()) {
    18321830    jj_scanpos = xsp;
    1833     if (jj_3R_48()) return true;
     1831    if (jj_3R_48()) {
     1832    jj_scanpos = xsp;
     1833    if (jj_3R_49()) return true;
    18341834    }
    18351835    }
    18361836    }
    18371837    if (jj_3R_14()) return true;
    1838     if (jj_3R_49()) return true;
     1838    if (jj_3R_50()) return true;
    18391839    return false;
    18401840  }
     
    18541854  }
    18551855
    1856   private boolean jj_3R_42() {
     1856  private boolean jj_3R_43() {
    18571857    if (jj_scan_token(STAR)) return true;
    18581858    if (jj_scan_token(EQUAL)) return true;
     
    18601860  }
    18611861
    1862   private boolean jj_3R_41() {
     1862  private boolean jj_3R_42() {
    18631863    if (jj_scan_token(DOLLAR)) return true;
    18641864    if (jj_scan_token(EQUAL)) return true;
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj

    r3967 r3971  
    496496}
    497497{
    498     LOOKAHEAD(2) // both function and identifier start with an identifier
     498    LOOKAHEAD(3) // both function and identifier start with an identifier (+ optional whitespace)
    499499        fn=function() { return fn; }
    500500    |
Note: See TracChangeset for help on using the changeset viewer.