Changeset 25683 in project for release


Ignore:
Timestamp:
12/11/11 18:22:40 (10 years ago)
Author:
Alan Post
Message:

genturfahi: add utf8 support to PEG grammar.

You can now use left/right quotes, unicode arrows, &c in writing the
grammar.

Location:
release/4/genturfahi/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • release/4/genturfahi/trunk/bootstrap.scm

    r25682 r25683  
    288288          samselpla-smuni
    289289          (morji-nunjavni-je
    290             (list (morji-nunjavni-cmene naselci-10 cmene: "naselci")
    291                   (morji-nunjavni-valsi "<-")
    292                   canlu-1
    293                   (morji-nunjavni-cmene javni-11 cmene: "javni"))
     290            (list (morji-nunjavni-cmene
     291                    naselci-10
     292                    cmene:
     293                    "naselci"
     294                    porjahe:
     295                    #t)
     296                  (morji-nunjavni-jonai
     297                    (list (morji-nunjavni-valsi "<-" porjahe: #t)
     298                          (morji-nunjavni-lerfu #\u2190 porjahe: #t))
     299                    porsumti:
     300                    #t
     301                    porjahe:
     302                    #t)
     303                  (morji-nunjavni-porjahe canlu-1)
     304                  (morji-nunjavni-cmene javni-11 cmene: "javni" porjahe: #t))
     305            porsumti:
     306            #t
    294307            porjahe:
    295308            #t))))
     
    371384                  samselpla-nastura-javni
    372385                  (morji-nunjavni-je
    373                     (list (morji-nunjavni-lerfu #\`)
    374                           canlu-1
    375                           (morji-nunjavni-cmene pajavni-21 cmene: "javni"))
     386                    (list (morji-nunjavni-jonai
     387                            (list (morji-nunjavni-lerfu #\` porjahe: #t)
     388                                  (morji-nunjavni-lerfu #\u2018 porjahe: #t))
     389                            porsumti:
     390                            #t
     391                            porjahe:
     392                            #t)
     393                          (morji-nunjavni-porjahe canlu-1)
     394                          (morji-nunjavni-cmene
     395                            pajavni-21
     396                            cmene:
     397                            "javni"
     398                            porjahe:
     399                            #t))
     400                    porsumti:
     401                    #t
    376402                    porjahe:
    377403                    #t))
     
    618644          (morji-nunjavni-je
    619645            (list (morji-nunjavni-cmene naselci-10 cmene: "naselci")
    620                   (morji-nunjavni-! (morji-nunjavni-valsi "<-")))
     646                  (morji-nunjavni-!
     647                    (morji-nunjavni-jonai
     648                      (list (morji-nunjavni-valsi "<-" porjahe: #t)
     649                            (morji-nunjavni-lerfu #\u2190 porjahe: #t))
     650                      porsumti:
     651                      #t)))
    621652            porjahe:
    622653            #t))))
     
    683714                  samselpla-stura-empty-string
    684715                  (morji-nunjavni-je
    685                     (list (morji-nunjavni-valsi ",\"\"") canlu-1)
     716                    (list (morji-nunjavni-lerfu #\, porjahe: #t)
     717                          (morji-nunjavni-jonai
     718                            (list (morji-nunjavni-valsi "\"\"" porjahe: #t)
     719                                  (morji-nunjavni-valsi "“”" porjahe: #t))
     720                            porsumti:
     721                            #t
     722                            porjahe:
     723                            #t)
     724                          (morji-nunjavni-porjahe canlu-1))
     725                    porsumti:
     726                    #t
    686727                    porjahe:
    687728                    #t))
     
    689730                  samselpla-empty-string
    690731                  (morji-nunjavni-je
    691                     (list (morji-nunjavni-valsi "\"\"") canlu-1)
     732                    (list (morji-nunjavni-jonai
     733                            (list (morji-nunjavni-valsi "\"\"" porjahe: #t)
     734                                  (morji-nunjavni-valsi "“”" porjahe: #t))
     735                            porsumti:
     736                            #t
     737                            porjahe:
     738                            #t)
     739                          (morji-nunjavni-porjahe canlu-1))
     740                    porsumti:
     741                    #t
    692742                    porjahe:
    693743                    #t))
     
    695745                  samselpla-stura-valsi-selci
    696746                  (morji-nunjavni-je
    697                     (list (morji-nunjavni-valsi ",\"" porjahe: #t)
     747                    (list (morji-nunjavni-lerfu #\, porjahe: #t)
     748                          (morji-nunjavni-jonai
     749                            (list (morji-nunjavni-lerfu #\" porjahe: #t)
     750                                  (morji-nunjavni-lerfu #\u201c porjahe: #t))
     751                            porsumti:
     752                            #t
     753                            porjahe:
     754                            #t)
    698755                          (morji-nunjavni-+
    699756                            (morji-nunjavni-je
    700757                              (list (morji-nunjavni-!
    701                                       (morji-nunjavni-lerfu #\")
     758                                      (morji-nunjavni-jonai
     759                                        (list (morji-nunjavni-lerfu #\" porjahe: #t)
     760                                              (morji-nunjavni-lerfu #\u201d porjahe: #t))
     761                                        porsumti:
     762                                        #t)
    702763                                      porjahe:
    703764                                      #t)
     
    713774                            porjahe:
    714775                            #t)
    715                           (morji-nunjavni-lerfu #\" porjahe: #t)
     776                          (morji-nunjavni-jonai
     777                            (list (morji-nunjavni-lerfu #\" porjahe: #t)
     778                                  (morji-nunjavni-lerfu #\u201d porjahe: #t))
     779                            porsumti:
     780                            #t
     781                            porjahe:
     782                            #t)
    716783                          (morji-nunjavni-porjahe canlu-1))
    717784                    porsumti:
     
    722789                  samselpla-valsi-selci
    723790                  (morji-nunjavni-je
    724                     (list (morji-nunjavni-lerfu #\" porjahe: #t)
     791                    (list (morji-nunjavni-jonai
     792                            (list (morji-nunjavni-lerfu #\" porjahe: #t)
     793                                  (morji-nunjavni-lerfu #\u201c porjahe: #t))
     794                            porsumti:
     795                            #t
     796                            porjahe:
     797                            #t)
    725798                          (morji-nunjavni-+
    726799                            (morji-nunjavni-je
    727800                              (list (morji-nunjavni-!
    728                                       (morji-nunjavni-lerfu #\")
     801                                      (morji-nunjavni-jonai
     802                                        (list (morji-nunjavni-lerfu #\" porjahe: #t)
     803                                              (morji-nunjavni-lerfu #\u201d porjahe: #t))
     804                                        porsumti:
     805                                        #t)
    729806                                      porjahe:
    730807                                      #t)
     
    740817                            porjahe:
    741818                            #t)
    742                           (morji-nunjavni-lerfu #\" porjahe: #t)
     819                          (morji-nunjavni-jonai
     820                            (list (morji-nunjavni-lerfu #\" porjahe: #t)
     821                                  (morji-nunjavni-lerfu #\u201d porjahe: #t))
     822                            porsumti:
     823                            #t
     824                            porjahe:
     825                            #t)
    743826                          (morji-nunjavni-porjahe canlu-1))
    744827                    porsumti:
     
    792875                    #t))
    793876                (morji-nunjavni-samselpla
     877                  samselpla-valsi-left-single-quote
     878                  (morji-nunjavni-je
     879                    (list (morji-nunjavni-lerfu #\\)
     880                          (morji-nunjavni-lerfu #\u2018))
     881                    porjahe:
     882                    #t))
     883                (morji-nunjavni-samselpla
     884                  samselpla-valsi-right-single-quote
     885                  (morji-nunjavni-je
     886                    (list (morji-nunjavni-lerfu #\\)
     887                          (morji-nunjavni-lerfu #\u2019))
     888                    porjahe:
     889                    #t))
     890                (morji-nunjavni-samselpla
    794891                  samselpla-valsi-double-quote
    795892                  (morji-nunjavni-je
    796893                    (list (morji-nunjavni-lerfu #\\)
    797894                          (morji-nunjavni-lerfu #\"))
     895                    porjahe:
     896                    #t))
     897                (morji-nunjavni-samselpla
     898                  samselpla-valsi-left-double-quote
     899                  (morji-nunjavni-je
     900                    (list (morji-nunjavni-lerfu #\\)
     901                          (morji-nunjavni-lerfu #\u201c))
     902                    porjahe:
     903                    #t))
     904                (morji-nunjavni-samselpla
     905                  samselpla-valsi-right-double-quote
     906                  (morji-nunjavni-je
     907                    (list (morji-nunjavni-lerfu #\\)
     908                          (morji-nunjavni-lerfu #\u201d))
    798909                    porjahe:
    799910                    #t))
     
    10581169                  samselpla-samselpla-balvi
    10591170                  (morji-nunjavni-je
    1060                     (list (morji-nunjavni-valsi "->" porjahe: #t)
     1171                    (list (morji-nunjavni-jonai
     1172                            (list (morji-nunjavni-valsi "->" porjahe: #t)
     1173                                  (morji-nunjavni-lerfu #\u2192 porjahe: #t))
     1174                            porsumti:
     1175                            #t
     1176                            porjahe:
     1177                            #t)
    10611178                          (morji-nunjavni-porjahe canlu-1)
    10621179                          (morji-nunjavni-jonai
     
    10741191                  samselpla-samselpla-cabna
    10751192                  (morji-nunjavni-je
    1076                     (list (morji-nunjavni-valsi "-|" porjahe: #t)
     1193                    (list (morji-nunjavni-jonai
     1194                            (list (morji-nunjavni-valsi "-|" porjahe: #t)
     1195                                  (morji-nunjavni-lerfu #\u21e5 porjahe: #t))
     1196                            porsumti:
     1197                            #t
     1198                            porjahe:
     1199                            #t)
    10771200                          (morji-nunjavni-porjahe canlu-1)
    10781201                          (morji-nunjavni-jonai
  • release/4/genturfahi/trunk/samselpla.scm

    r25411 r25683  
    624624  (make-string 1 #\'))
    625625
     626(define (samselpla-valsi-left-single-quote)
     627  (make-string 1 #\‘))
     628
     629(define (samselpla-valsi-right-single-quote)
     630  (make-string 1 #\’))
     631
    626632(define (samselpla-valsi-double-quote)
    627633  (make-string 1 #\"))
    628634
     635(define (samselpla-valsi-left-double-quote)
     636  (make-string 1 #\“))
     637
     638(define (samselpla-valsi-right-double-quote)
     639  (make-string 1 #\”))
     640
    629641(define (samselpla-valsi-lerfu #!key lerfu)
    630642  (make-string 1 lerfu))
     
    653665(define (samselpla-jbolehu)
    654666  `(char-set-xor
    655      (char-set-union char-set:letter+digit (char-set #\'))
     667     (char-set-union char-set:letter+digit (char-set #\' #\’))
    656668     (char-set #\q #\w)))
    657669
  • release/4/genturfahi/trunk/tests/utf8.peg

    r25672 r25683  
    1818;;;;
    1919
    20 gerna <- #\«
    21          "¿?"
    22          #:valsi ( !#\∞ !#\» . )*
    23          #:inf [∞]*
    24          #\»
    25       -> test-utf8
     20gerna ← #\«
     21        “¿?”
     22        #:valsi ( !#\∞ !#\» . )*
     23        #:inf [∞]*
     24        #\»
     25      → test-utf8
Note: See TracChangeset for help on using the changeset viewer.