Changeset 21438 for perl5

Show
Ignore:
Timestamp:
07/22/08 16:54:44 (4 months ago)
Author:
fglock
Message:

[PCR] grammar tweak

Location:
perl5/Pugs-Compiler-Rule
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • perl5/Pugs-Compiler-Rule/examples/Grammar.grammar

    r21437 r21438  
    129129 
    130130token char_class { 
    131     |  <.alpha> [ <.alpha> | _ ] * 
     131    |  <.alpha> [ <.alnum> | _ ] * 
    132132    |  \[  <.char_range>  \] 
    133133} 
  • perl5/Pugs-Compiler-Rule/lib/Pugs/Emitter/Rule/Perl5/CharClass.pm

    r21437 r21438  
    2323        'isBidiWS'   => '(?:\p{isHebrew}|\p{isArabic})', 
    2424        'isID_Start' => '(?:\p{isHebrew}|\p{isArabic})', 
     25        'isInCyrillicSupplementary' => '(?:\p{isHebrew}|\p{isArabic})', 
     26        'isInLatin1Supplement' => '(?:\p{isLatin})', 
    2527    ); 
    2628} 
  • perl5/Pugs-Compiler-Rule/lib/Pugs/Grammar/Rule.pmc

    r21437 r21438  
    11# !!! DO NOT EDIT !!! 
    22# This file was generated by Pugs::Compiler::Rule's compile_p6grammar.pl 
    3 # script from examples/Grammar.grammar at Tue Jul 22 16:47:05 2008 
     3# script from examples/Grammar.grammar at Tue Jul 22 16:53:23 2008 
    44 
    55use strict; 
     
    6868           ## pos: 632 675 
    6969           ( 
    70                ( $pad{I1686} = $pos or 1 ) 
     70               ( $pad{I1533} = $pos or 1 ) 
    7171               && ( 
    7272               ## <concat> 
     
    7676                 ## <group> 
    7777                 ## pos: 633 639 
    78                   (   ( $pad{I1687} = $pos or 1 ) && 
     78                  (   ( $pad{I1534} = $pos or 1 ) && 
    7979                   ## <perl5> 
    8080                   ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) 
     
    8383                   ) 
    8484                   ## </perl5> 
    85      ||    ( ( $pos = $pad{I1687} ) && 0 ) ) 
     85     ||    ( ( $pos = $pad{I1534} ) && 0 ) ) 
    8686                 ## </group> 
    8787     
     
    120120                 ## <group> 
    121121                 ## pos: 642 644 
    122                   (   ( $pad{I1688} = $pos or 1 ) && 
     122                  (   ( $pad{I1535} = $pos or 1 ) && 
    123123     
    124124                   ## <constant> 
     
    129129                   ) 
    130130                   ## </constant> 
    131      ||    ( ( $pos = $pad{I1688} ) && 0 ) ) 
     131     ||    ( ( $pos = $pad{I1535} ) && 0 ) ) 
    132132                 ## </group> 
    133133     
     
    136136                 ## pos: 644 652 
    137137                 do { while ( 
    138                   (   ( $pad{I1689} = $pos or 1 ) && 
     138                  (   ( $pad{I1536} = $pos or 1 ) && 
    139139                     ## <perl5> 
    140140                     ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    143143                     ) 
    144144                     ## </perl5> 
    145      ||    ( ( $pos = $pad{I1689} ) && 0 ) )) {}; $bool = 1 } 
     145     ||    ( ( $pos = $pad{I1536} ) && 0 ) )) {}; $bool = 1 } 
    146146                 ## </quant> 
    147147     
     
    151151               ) 
    152152             || ( 
    153                ( ( $bool = 1 ) && ( $pos = $pad{I1686} ) or 1 ) 
     153               ( ( $bool = 1 ) && ( $pos = $pad{I1533} ) or 1 ) 
    154154               &&            ## <concat> 
    155155               ## pos: 653 675 
     
    158158                 ## <group> 
    159159                 ## pos: 653 658 
    160                   (   ( $pad{I1690} = $pos or 1 ) && 
     160                  (   ( $pad{I1537} = $pos or 1 ) && 
    161161     
    162162                   ## <dot> 
     
    164164                   ( substr( $s, $pos++, 1 ) ne '' ) 
    165165                   ## </dot> 
    166      ||    ( ( $pos = $pad{I1690} ) && 0 ) ) 
     166     ||    ( ( $pos = $pad{I1537} ) && 0 ) ) 
    167167                 ## </group> 
    168168     
     
    171171                 ## pos: 658 662 
    172172                 do { while ( 
    173                   (   ( $pad{I1691} = $pos or 1 ) && 
     173                  (   ( $pad{I1538} = $pos or 1 ) && 
    174174                     ## <perl5> 
    175175                     ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    178178                     ) 
    179179                     ## </perl5> 
    180      ||    ( ( $pos = $pad{I1691} ) && 0 ) )) {}; $bool = 1 } 
     180     ||    ( ( $pos = $pad{I1538} ) && 0 ) )) {}; $bool = 1 } 
    181181                 ## </quant> 
    182182     
     
    185185                 ## <group> 
    186186                 ## pos: 662 675 
    187                   (   ( $pad{I1692} = $pos or 1 ) && 
     187                  (   ( $pad{I1539} = $pos or 1 ) && 
    188188                   ## <metasyntax> 
    189189                   ## pos: 662 674 
     
    198198                   } 
    199199                   ## </metasyntax> 
    200      ||    ( ( $pos = $pad{I1692} ) && 0 ) ) 
     200     ||    ( ( $pos = $pad{I1539} ) && 0 ) ) 
    201201                 ## </group> 
    202202     
     
    265265           ## pos: 700 743 
    266266           ( 
    267                ( $pad{I1693} = $pos or 1 ) 
     267               ( $pad{I1540} = $pos or 1 ) 
    268268               && ( 
    269269               ## <concat> 
     
    273273                 ## <group> 
    274274                 ## pos: 701 707 
    275                   (   ( $pad{I1694} = $pos or 1 ) && 
     275                  (   ( $pad{I1541} = $pos or 1 ) && 
    276276                   ## <perl5> 
    277277                   ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) 
     
    280280                   ) 
    281281                   ## </perl5> 
    282      ||    ( ( $pos = $pad{I1694} ) && 0 ) ) 
     282     ||    ( ( $pos = $pad{I1541} ) && 0 ) ) 
    283283                 ## </group> 
    284284     
     
    317317                 ## <group> 
    318318                 ## pos: 710 712 
    319                   (   ( $pad{I1695} = $pos or 1 ) && 
     319                  (   ( $pad{I1542} = $pos or 1 ) && 
    320320     
    321321                   ## <constant> 
     
    326326                   ) 
    327327                   ## </constant> 
    328      ||    ( ( $pos = $pad{I1695} ) && 0 ) ) 
     328     ||    ( ( $pos = $pad{I1542} ) && 0 ) ) 
    329329                 ## </group> 
    330330     
     
    333333                 ## pos: 712 720 
    334334                 do { while ( 
    335                   (   ( $pad{I1696} = $pos or 1 ) && 
     335                  (   ( $pad{I1543} = $pos or 1 ) && 
    336336                     ## <perl5> 
    337337                     ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    340340                     ) 
    341341                     ## </perl5> 
    342      ||    ( ( $pos = $pad{I1696} ) && 0 ) )) {}; $bool = 1 } 
     342     ||    ( ( $pos = $pad{I1543} ) && 0 ) )) {}; $bool = 1 } 
    343343                 ## </quant> 
    344344     
     
    348348               ) 
    349349             || ( 
    350                ( ( $bool = 1 ) && ( $pos = $pad{I1693} ) or 1 ) 
     350               ( ( $bool = 1 ) && ( $pos = $pad{I1540} ) or 1 ) 
    351351               &&            ## <concat> 
    352352               ## pos: 721 743 
     
    355355                 ## <group> 
    356356                 ## pos: 721 726 
    357                   (   ( $pad{I1697} = $pos or 1 ) && 
     357                  (   ( $pad{I1544} = $pos or 1 ) && 
    358358     
    359359                   ## <dot> 
     
    361361                   ( substr( $s, $pos++, 1 ) ne '' ) 
    362362                   ## </dot> 
    363      ||    ( ( $pos = $pad{I1697} ) && 0 ) ) 
     363     ||    ( ( $pos = $pad{I1544} ) && 0 ) ) 
    364364                 ## </group> 
    365365     
     
    368368                 ## pos: 726 730 
    369369                 do { while ( 
    370                   (   ( $pad{I1698} = $pos or 1 ) && 
     370                  (   ( $pad{I1545} = $pos or 1 ) && 
    371371                     ## <perl5> 
    372372                     ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    375375                     ) 
    376376                     ## </perl5> 
    377      ||    ( ( $pos = $pad{I1698} ) && 0 ) )) {}; $bool = 1 } 
     377     ||    ( ( $pos = $pad{I1545} ) && 0 ) )) {}; $bool = 1 } 
    378378                 ## </quant> 
    379379     
     
    382382                 ## <group> 
    383383                 ## pos: 730 743 
    384                   (   ( $pad{I1699} = $pos or 1 ) && 
     384                  (   ( $pad{I1546} = $pos or 1 ) && 
    385385                   ## <metasyntax> 
    386386                   ## pos: 730 742 
     
    395395                   } 
    396396                   ## </metasyntax> 
    397      ||    ( ( $pos = $pad{I1699} ) && 0 ) ) 
     397     ||    ( ( $pos = $pad{I1546} ) && 0 ) ) 
    398398                 ## </group> 
    399399     
     
    462462           ## pos: 761 1059 
    463463           ( 
    464             (   ( $pad{I1700} = $pos or 1 ) && 
     464            (   ( $pad{I1547} = $pos or 1 ) && 
    465465               ## <alt> 
    466466               ## pos: 762 1056 
    467467               ( 
    468                    ( $pad{I1701} = $pos or 1 ) 
     468                   ( $pad{I1548} = $pos or 1 ) 
    469469                   && ( 
    470470                   ## <concat> 
     
    474474                     ## <group> 
    475475                     ## pos: 768 775 
    476                       (   ( $pad{I1702} = $pos or 1 ) && 
     476                      (   ( $pad{I1549} = $pos or 1 ) && 
    477477     
    478478                       ## <constant> 
     
    483483                       ) 
    484484                       ## </constant> 
    485      ||    ( ( $pos = $pad{I1702} ) && 0 ) ) 
     485     ||    ( ( $pos = $pad{I1549} ) && 0 ) ) 
    486486                     ## </group> 
    487487     
     
    490490                     ## pos: 775 783 
    491491                     do { while ( 
    492                       (   ( $pad{I1703} = $pos or 1 ) && 
     492                      (   ( $pad{I1550} = $pos or 1 ) && 
    493493                         ## <perl5> 
    494494                         ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    497497                         ) 
    498498                         ## </perl5> 
    499      ||    ( ( $pos = $pad{I1703} ) && 0 ) )) {}; $bool = 1 } 
     499     ||    ( ( $pos = $pad{I1550} ) && 0 ) )) {}; $bool = 1 } 
    500500                     ## </quant> 
    501501     
     
    505505                   ) 
    506506                 || ( 
    507                    ( ( $bool = 1 ) && ( $pos = $pad{I1701} ) or 1 ) 
     507                   ( ( $bool = 1 ) && ( $pos = $pad{I1548} ) or 1 ) 
    508508                   &&                ## <concat> 
    509509                   ## pos: 784 1044 
     
    512512                     ## <group> 
    513513                     ## pos: 784 791 
    514                       (   ( $pad{I1704} = $pos or 1 ) && 
     514                      (   ( $pad{I1551} = $pos or 1 ) && 
    515515                       ## <perl5> 
    516516                       ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) 
     
    519519                       ) 
    520520                       ## </perl5> 
    521      ||    ( ( $pos = $pad{I1704} ) && 0 ) ) 
     521     ||    ( ( $pos = $pad{I1551} ) && 0 ) ) 
    522522                     ## </group> 
    523523     
     
    526526                     ## pos: 791 1044 
    527527                     ( 
    528                       (   ( $pad{I1705} = $pos or 1 ) && 
     528                      (   ( $pad{I1552} = $pos or 1 ) && 
    529529                         ## <concat> 
    530530                         ## pos: 792 1037 
     
    533533                           ## <group> 
    534534                           ## pos: 792 795 
    535                             (   ( $pad{I1706} = $pos or 1 ) && 
     535                            (   ( $pad{I1553} = $pos or 1 ) && 
    536536     
    537537                             ## <constant> 
     
    542542                             ) 
    543543                             ## </constant> 
    544      ||    ( ( $pos = $pad{I1706} ) && 0 ) ) 
     544     ||    ( ( $pos = $pad{I1553} ) && 0 ) ) 
    545545                           ## </group> 
    546546     
     
    549549                           ## pos: 795 1037 
    550550                           ( 
    551                             (   ( $pad{I1707} = $pos or 1 ) && 
     551                            (   ( $pad{I1554} = $pos or 1 ) && 
    552552                               ## <alt> 
    553553                               ## pos: 796 1022 
    554554                               ( 
    555                                    ( $pad{I1708} = $pos or 1 ) 
     555                                   ( $pad{I1555} = $pos or 1 ) 
    556556                                   && ( 
    557557                                   ## <concat> 
     
    561561                                     ## <group> 
    562562                                     ## pos: 810 813 
    563                                       (   ( $pad{I1709} = $pos or 1 ) && 
     563                                      (   ( $pad{I1556} = $pos or 1 ) && 
    564564     
    565565                                       ## <constant> 
     
    570570                                       ) 
    571571                                       ## </constant> 
    572      ||    ( ( $pos = $pad{I1709} ) && 0 ) ) 
     572     ||    ( ( $pos = $pad{I1556} ) && 0 ) ) 
    573573                                     ## </group> 
    574574     
     
    607607                                     ## <group> 
    608608                                     ## pos: 816 818 
    609                                       (   ( $pad{I1710} = $pos or 1 ) && 
     609                                      (   ( $pad{I1557} = $pos or 1 ) && 
    610610     
    611611                                       ## <constant> 
     
    616616                                       ) 
    617617                                       ## </constant> 
    618      ||    ( ( $pos = $pad{I1710} ) && 0 ) ) 
     618     ||    ( ( $pos = $pad{I1557} ) && 0 ) ) 
    619619                                     ## </group> 
    620620     
     
    623623                                     ## <group> 
    624624                                     ## pos: 818 824 
    625                                       (   ( $pad{I1711} = $pos or 1 ) && 
     625                                      (   ( $pad{I1558} = $pos or 1 ) && 
    626626                                       ## <metasyntax> 
    627627                                       ## pos: 818 823 
     
    636636                                       } 
    637637                                       ## </metasyntax> 
    638      ||    ( ( $pos = $pad{I1711} ) && 0 ) ) 
     638     ||    ( ( $pos = $pad{I1558} ) && 0 ) ) 
    639639                                     ## </group> 
    640640     
     
    663663                                     ## <group> 
    664664                                     ## pos: 826 828 
    665                                       (   ( $pad{I1712} = $pos or 1 ) && 
     665                                      (   ( $pad{I1559} = $pos or 1 ) && 
    666666     
    667667                                       ## <constant> 
     
    672672                                       ) 
    673673                                       ## </constant> 
    674      ||    ( ( $pos = $pad{I1712} ) && 0 ) ) 
     674     ||    ( ( $pos = $pad{I1559} ) && 0 ) ) 
    675675                                     ## </group> 
    676676     
     
    679679                                     ## pos: 828 832 
    680680                                     do { while ( 
    681                                       (   ( $pad{I1713} = $pos or 1 ) && 
     681                                      (   ( $pad{I1560} = $pos or 1 ) && 
    682682                                         ## <perl5> 
    683683                                         ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) 
     
    686686                                         ) 
    687687                                         ## </perl5> 
    688      ||    ( ( $pos = $pad{I1713} ) && 0 ) )) {}; $bool = 1 } 
     688     ||    ( ( $pos = $pad{I1560} ) && 0 ) )) {}; $bool = 1 } 
    689689                                     ## </quant> 
    690690     
     
    693693                                     ## pos: 832 847 
    694694                                     do { while ( 
    695                                       (   ( $pad{I1714} = $pos or 1 ) && 
     695                                      (   ( $pad{I1561} = $pos or 1 ) && 
    696696     
    697697                                         ## <dot> 
     
    699699                                         ( substr( $s, $pos++, 1 ) ne '' ) 
    700700                                         ## </dot> 
    701      ||    ( ( $pos = $pad{I1714} ) && 0 ) )) {}; $bool = 1 } 
     701     ||    ( ( $pos = $pad{I1561} ) && 0 ) )) {}; $bool = 1 } 
    702702                                     ## </quant> 
    703703     
     
    707707                                   ) 
    708708                                 || ( 
    709                                    ( ( $bool = 1 ) && ( $pos = $pad{I1708} ) or 1 ) 
     709                                   ( ( $bool = 1 ) && ( $pos = $pad{I1555} ) or 1 ) 
    710710                                   &&                                ## <concat> 
    711711                                   ## pos: 848 882 
     
    714714                                     ## <group> 
    715715                                     ## pos: 848 851 
    716                                       (   ( $pad{I1715} = $pos or 1 ) && 
     716                                      (   ( $pad{I1562} = $pos or 1 ) && 
    717717     
    718718                                       ## <constant> 
     
    723723                                       ) 
    724724                                       ## </constant> 
    725      ||    ( ( $pos = $pad{I1715} ) && 0 ) ) 
     725     ||    ( ( $pos = $pad{I1562} ) && 0 ) ) 
    726726                                     ## </group> 
    727727     
     
    760760                                     ## <group> 
    761761                                     ## pos: 854 857 
    762                                       (   ( $pad{I1716} = $pos or 1 ) && 
     762                                      (   ( $pad{I1563} = $pos or 1 ) && 
    763763     
    764764                                       ## <constant> 
     
    769769                                       ) 
    770770                                       ## </constant> 
    771      ||    ( ( $pos = $pad{I1716} ) && 0 ) ) 
     771     ||    ( ( $pos = $pad{I1563} ) && 0 ) ) 
    772772                                     ## </group> 
    773773     
     
    776776                                     ## <group> 
    777777                                     ## pos: 857 882 
    778                                       (   ( $pad{I1717} = $pos or 1 ) && 
     778                                      (   ( $pad{I1564} = $pos or 1 ) && 
    779779                                       ## <metasyntax> 
    780780                                       ## pos: 857 869 
     
    789789                                       } 
    790790                                       ## </metasyntax> 
    791      ||    ( ( $pos = $pad{I1717} ) && 0 ) ) 
     791     ||    ( ( $pos = $pad{I1564} ) && 0 ) ) 
    792792                                     ## </group> 
    793793     
     
    797797                &nbs