Changeset 22191 in project


Ignore:
Timestamp:
01/03/11 06:43:16 (9 years ago)
Author:
Alan Post
Message:

jbogenturfa'i: add code to more morphology productions.

I can't really classify this work, other than to say I've continued
to add all the necessary scaffolding to make the morphology produce
useful parse trees.

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

Legend:

Unmodified
Added
Removed
  • release/4/jbogenturfahi/trunk/chicken-ext-jbogensamselpla.scm

    r21968 r22191  
    2525   u
    2626   y
    27 
    2827   l
    2928   m
     
    4443   t
    4544   h
    46 
    4745   digit
    4846   comma
    49 
     47   final-syllable
     48   any-syllable
     49   syllable
     50   consonantal-syllable
     51   coda
     52   onset
     53   diphthong
     54   cluster
     55   initial-pair
     56   initial
    5057   affricate
    51    any-syllable
    52    cluster
     58   zifcme
     59   jbocme
     60   CVCy-lujvo-brivla-core
     61   CVCy-lujvo-short-final-rafsi
    5362   cmavo-form
    5463   cmavo-form-y
    55    coda
    56    consonantal-syllable
    57    diphthong
    58    initial
    59    initial-pair
    60    onset
    61 
     64   lujvo
     65   fuhivla
     66   stressed-brivla-rafsi
     67   brivla-rafsi
     68   stressed-fuhivla-rafsi
     69   fuhivla-rafsi
     70   brivla-head
     71   slinkuhi
     72   rafsi-string
     73   rafsi-string-short-final
     74   rafsi-string-initial-pair
     75   gismu
     76   CVV-final-rafsi
     77   short-final-rafsi
     78   stressed-y-rafsi
     79   stressed-long-rafsi-CCVC
     80   stressed-long-rafsi-CVCC
     81   stressed-CVC-rafsi
     82   stressed-CCV-rafsi
     83   stressed-CVV-rafsi
     84   stressed-CVV-rafsi-VhV
     85   y-rafsi
     86   long-rafsi-CCVC
     87   long-rafsi-CVCC
     88   CVC-rafsi
     89   CCV-rafsi
     90   CVV-rafsi
     91   CVV-rafsi-VhV
     92   non-lojban-word
     93   ybu
    6294   A
    6395   BAI
     
    181213   ZO
    182214   ZOI
    183    ZOhU
    184    
    185    zifcme
    186    jbocme
    187    gismu
    188    non-lojban-word)
     215   ZOhU)
    189216
    190217(import chicken)
  • release/4/jbogenturfahi/trunk/rafske.peg

    r22190 r22191  
    1 ; not used.
    2 ;words <- pause? (word pause?)*
    3 
    4 ; not used.
    5 ;word <- lojban-word
    6 ;      / non-lojban-word
     1;any-word <- lojban-word
     2;          / non-lojban-word
    73
    84lojban-word <- cmene
     
    5046              initial-rafsi*
    5147              brivla-core
     48           -> CVCy-lujvo-brivla-core
    5249            / stressed-CVC-rafsi
    5350              y
    5451              short-final-rafsi
     52           -> CVCy-lujvo-short-final-rafsi
    5553
    5654cmavo-form <- !h
     
    6058              ( !stressed nucleus
    6159              / nucleus !cluster )
    62               -> cmavo-form
     60           -> cmavo-form
    6361            / y+
    64               -> cmavo-form-y
     62           -> cmavo-form-y
    6563            / digit
    6664
    6765;-------------------------------------------------------------------
    6866
    69 lujvo <- !gismu !fuhivla !cmavo initial-rafsi* brivla-core
     67lujvo <- !gismu
     68         !fuhivla
     69         !cmavo
     70         initial-rafsi*
     71         brivla-core
     72      -> lujvo
    7073
    7174brivla-core <- fuhivla
     
    8083initial-rafsi <- extended-rafsi
    8184               / y-rafsi
    82                / !any-extended-rafsi y-less-rafsi
    83 
    84 any-extended-rafsi <- fuhivla / extended-rafsi / stressed-extended-rafsi
     85               / !any-extended-rafsi
     86                 y-less-rafsi
     87
     88any-extended-rafsi <- fuhivla
     89                    / extended-rafsi
     90                    / stressed-extended-rafsi
    8591
    8692;-------------------------------------------------------------------
    8793
    88 fuhivla <- fuhivla-head stressed-syllable consonantal-syllable* final-syllable
    89 
    90 stressed-extended-rafsi <- stressed-brivla-rafsi / stressed-fuhivla-rafsi
    91 
    92 extended-rafsi <- brivla-rafsi / fuhivla-rafsi
    93 
    94 stressed-brivla-rafsi <- &unstressed-syllable brivla-head stressed-syllable h y
    95 
    96 brivla-rafsi <- &(syllable consonantal-syllable* syllable) brivla-head h y h?
    97 
    98 stressed-fuhivla-rafsi <- fuhivla-head stressed-syllable &consonant onset y
    99 
    100 fuhivla-rafsi <- &unstressed-syllable fuhivla-head &consonant onset y h?
    101 
    102 fuhivla-head <- !rafsi-string brivla-head
    103 
    104 brivla-head <- !cmavo !slinkuhi !h &onset unstressed-syllable*
    105 
    106 slinkuhi <- consonant rafsi-string
     94fuhivla <- fuhivla-head
     95           stressed-syllable
     96           consonantal-syllable*
     97           final-syllable
     98        -> fuhivla
     99
     100stressed-extended-rafsi <- stressed-brivla-rafsi
     101                         / stressed-fuhivla-rafsi
     102
     103extended-rafsi <- brivla-rafsi
     104                / fuhivla-rafsi
     105
     106stressed-brivla-rafsi <- &unstressed-syllable
     107                         brivla-head
     108                         stressed-syllable
     109                         h
     110                         y
     111                      -> stressed-brivla-rafsi
     112
     113brivla-rafsi <- &( syllable
     114                   consonantal-syllable*
     115                   syllable )
     116                brivla-head
     117                h
     118                y
     119                h?
     120             -> brivla-rafsi
     121
     122stressed-fuhivla-rafsi <- fuhivla-head
     123                          stressed-syllable
     124                          &consonant
     125                          onset
     126                          y
     127                       -> stressed-fuhivla-rafsi
     128
     129fuhivla-rafsi <- &unstressed-syllable
     130                 fuhivla-head
     131                 &consonant
     132                 onset
     133                 y
     134                 h?
     135              -> fuhivla-rafsi
     136
     137fuhivla-head <- !rafsi-string
     138                brivla-head
     139
     140brivla-head <- !cmavo
     141               !slinkuhi
     142               !h
     143               &onset
     144               unstressed-syllable*
     145            -> brivla-head
     146
     147slinkuhi <- consonant
     148            rafsi-string
     149         -> slinkuhi
    107150
    108151rafsi-string <- y-less-rafsi*
    109152                ( gismu
    110153                / CVV-final-rafsi
    111                 / stressed-y-less-rafsi short-final-rafsi
     154                / stressed-y-less-rafsi
     155                  short-final-rafsi
     156               -> rafsi-string-short-final
    112157                / y-rafsi
    113158                / stressed-y-rafsi
    114                 / stressed-y-less-rafsi? initial-pair y )
     159                / stressed-y-less-rafsi?
     160                  initial-pair
     161                  y
     162               -> rafsi-string-initial-pair)
     163             -> rafsi-string
    115164
    116165;-------------------------------------------------------------------
    117166
    118 gismu <- ( initial-pair stressed-vowel
    119          / consonant stressed-vowel consonant )
     167gismu <- ( initial-pair
     168           stressed-vowel
     169         / consonant
     170           stressed-vowel
     171           consonant )
    120172         &final-syllable
    121173         consonant
     
    124176      -> gismu
    125177
    126 CVV-final-rafsi <- consonant stressed-vowel h &final-syllable vowel &post-word
     178CVV-final-rafsi <- consonant
     179                   stressed-vowel
     180                   h
     181                   &final-syllable
     182                   vowel
     183                   &post-word
     184                -> CVV-final-rafsi
    127185
    128186short-final-rafsi <- &final-syllable
    129                    ( consonant diphthong
    130                    / initial-pair vowel )
    131                    &post-word
    132 
    133 stressed-y-rafsi <- (stressed-long-rafsi / stressed-CVC-rafsi) y
    134 
    135 stressed-y-less-rafsi <- stressed-CVC-rafsi !y / stressed-CCV-rafsi / stressed-CVV-rafsi
    136 
    137 stressed-long-rafsi <- initial-pair stressed-vowel consonant
    138                      / consonant stressed-vowel consonant consonant
    139 
    140 stressed-CVC-rafsi <- consonant stressed-vowel consonant
    141 
    142 stressed-CCV-rafsi <- initial-pair stressed-vowel
     187                     ( consonant
     188                       diphthong
     189                     / initial-pair
     190                       vowel )
     191                     &post-word
     192                  -> short-final-rafsi
     193
     194stressed-y-rafsi <- ( stressed-long-rafsi
     195                    / stressed-CVC-rafsi )
     196                    y
     197                 -> stressed-y-rafsi
     198
     199stressed-y-less-rafsi <- stressed-CVC-rafsi
     200                         !y
     201                       / stressed-CCV-rafsi
     202                       / stressed-CVV-rafsi
     203
     204stressed-long-rafsi <- initial-pair
     205                       stressed-vowel
     206                       consonant
     207                    -> stressed-long-rafsi-CCVC
     208                     / consonant
     209                       stressed-vowel
     210                       consonant
     211                       consonant
     212                    -> stressed-long-rafsi-CVCC
     213
     214stressed-CVC-rafsi <- consonant
     215                      stressed-vowel
     216                      consonant
     217                   -> stressed-CVC-rafsi
     218
     219stressed-CCV-rafsi <- initial-pair
     220                      stressed-vowel
     221                   -> stressed-CCV-rafsi
    143222
    144223stressed-CVV-rafsi <- consonant
    145                       (unstressed-vowel h stressed-vowel / stressed-diphthong)
     224                      ( unstressed-vowel
     225                        h
     226                        stressed-vowel
     227                     -> stressed-CVV-rafsi-VhV
     228                      / stressed-diphthong )
    146229                      r-hyphen?
    147 
    148 y-rafsi <- (long-rafsi / CVC-rafsi) y h?
    149 
    150 y-less-rafsi <- !y-rafsi (CVC-rafsi !y / CCV-rafsi / CVV-rafsi) !any-extended-rafsi
    151 
    152 long-rafsi <- initial-pair unstressed-vowel consonant
    153             / consonant unstressed-vowel consonant consonant
    154 
    155 CVC-rafsi <- consonant unstressed-vowel consonant
    156 
    157 CCV-rafsi <- initial-pair unstressed-vowel
     230                   -> stressed-CVV-rafsi
     231
     232y-rafsi <- ( long-rafsi
     233           / CVC-rafsi )
     234           y
     235           h?
     236        -> y-rafsi
     237
     238y-less-rafsi <- !y-rafsi
     239                ( CVC-rafsi
     240                  !y
     241                / CCV-rafsi
     242                / CVV-rafsi )
     243                !any-extended-rafsi
     244
     245long-rafsi <- initial-pair
     246              unstressed-vowel
     247              consonant
     248           -> long-rafsi-CCVC
     249            / consonant
     250              unstressed-vowel
     251              consonant
     252              consonant
     253           -> long-rafsi-CVCC
     254
     255CVC-rafsi <- consonant
     256             unstressed-vowel
     257             consonant
     258          -> CVC-rafsi
     259
     260CCV-rafsi <- initial-pair
     261             unstressed-vowel
     262          -> CCV-rafsi
    158263
    159264CVV-rafsi <- consonant
    160              ( unstressed-vowel h unstressed-vowel
    161              / unstressed-diphthong)
    162              r-hyphen?
    163 
    164 r-hyphen <- r &consonant / n &r
     265             ( unstressed-vowel
     266               h
     267               unstressed-vowel
     268            -> CVV-rafsi-VhV
     269             / unstressed-diphthong )
     270               r-hyphen?
     271          -> CVV-rafsi
     272
     273r-hyphen <- r &consonant
     274          / n &r
    165275
    166276;-------------------------------------------------------------------
    167277
    168 final-syllable <- onset !y !stressed nucleus !cmene &post-word
    169 
    170 stressed-syllable <- &stressed syllable / syllable &stress
    171 
    172 stressed-diphthong <- &stressed diphthong / diphthong &stress
    173 
    174 stressed-vowel <- &stressed vowel / vowel &stress
    175 
    176 unstressed-syllable <- !stressed syllable !stress / consonantal-syllable
    177 
    178 unstressed-diphthong <- !stressed diphthong !stress
    179 
    180 unstressed-vowel <- !stressed vowel !stress
    181 
    182 stress <- consonant* y? syllable pause
    183 
    184 stressed <- onset comma* [AEIOU]
     278final-syllable <- onset
     279                  !y
     280                  !stressed
     281                  nucleus
     282                  !cmene
     283                  &post-word
     284               -> final-syllable
     285
     286stressed-syllable <- &stressed
     287                     syllable
     288                   / syllable
     289                     &stress
     290
     291stressed-diphthong <- &stressed
     292                      diphthong
     293                    / diphthong
     294                      &stress
     295
     296stressed-vowel <- &stressed
     297                  vowel
     298                / vowel
     299                  &stress
     300
     301unstressed-syllable <- !stressed
     302                       syllable
     303                       !stress
     304                     / consonantal-syllable
     305
     306unstressed-diphthong <- !stressed
     307                        diphthong
     308                        !stress
     309
     310unstressed-vowel <- !stressed
     311                    vowel
     312                    !stress
     313
     314stress <- consonant*
     315          y?
     316          syllable
     317          pause
     318
     319stressed <- onset
     320            comma*
     321            [AEIOU]
    185322
    186323any-syllable <- onset nucleus coda?
     
    188325              / consonantal-syllable
    189326
    190 syllable <- onset !y nucleus coda?
     327syllable <- onset
     328            !y
     329            nucleus
     330            coda?
     331         -> syllable
    191332
    192333consonantal-syllable <- consonant
     
    202343        consonant?
    203344        &pause
    204       -> coda
     345     -> coda
    205346
    206347onset <- h
    207        / consonant? glide -> onset
     348       / consonant?
     349         glide
     350      -> onset
    208351       / initial
    209352
    210 nucleus <- vowel / diphthong / y !nucleus
     353nucleus <- vowel
     354         / diphthong
     355         / y
     356           !nucleus
    211357
    212358;-----------------------------------------------------------------
    213359
    214 glide <- (i / u) &nucleus !glide
     360glide <- ( i / u ) &nucleus !glide
    215361
    216362diphthong <- ( a i
    217363             / a u
    218364             / e i
    219              / o i)
     365             / o i )
    220366             !nucleus
    221367             !glide
    222368          -> diphthong
    223369
    224 vowel <- (a / e / i / o / u) !nucleus
     370vowel <- ( a / e / i / o / u ) !nucleus
    225371
    226372a <- comma* [aA] -> a
     
    275421sibilant <- c
    276422          / s !x
    277           / (j / z) !n !liquid
    278 
    279 consonant <- voiced / unvoiced / syllabic
     423          / ( j / z )
     424            !n
     425            !liquid
     426
     427consonant <- voiced
     428           / unvoiced
     429           / syllabic
    280430
    281431syllabic <- l / m / n / r
     
    325475digit <- comma* [[:digit:]] !h !nucleus
    326476
    327 post-word <- pause / !nucleus lojban-word
    328 
    329 pause <- comma* space-char+ / EOF
     477post-word <- pause
     478           / !nucleus
     479             lojban-word
     480
     481pause <- comma*
     482         space-char+
     483       / EOF
    330484
    331485EOF <- comma* !.
     
    338492non-space <- !space-char .
    339493
    340 space-char <- [[:space:]]
     494space-char <- [.[:space:]]
    341495
    342496;-------------------------------------------------------------------
    343497
    344 spaces <- !Y initial-spaces
    345 
    346 initial-spaces <- (comma* space-char / !ybu Y)+ EOF? / EOF
    347 
    348 ybu <- Y space-char* BU
     498spaces <- ( comma* space-char )+ EOF?
     499        / EOF
     500
     501;spaces <- !Y initial-spaces
     502;
     503;initial-spaces <- ( comma* space-char
     504;                  / !ybu Y )+
     505;                  EOF?
     506;                / EOF
     507
     508ybu <- Y `space-char* BU
     509    -> ybu
    349510
    350511;-------------------------------------------------------------------
  • release/4/jbogenturfahi/trunk/samselpla.scm

    r21968 r22191  
    103103;; parts
    104104;;
     105(define (final-syllable onset nucleus)
     106  (string-append onset nucleus))
     107
     108(define (any-syllable onset nucleus coda)
     109  (string-append onset nucleus coda))
     110
     111(define (syllable onset nucleus coda)
     112  (string-append onset nucleus coda))
     113
     114(define (consonantal-syllable consonant0 syllabic consonant1)
     115  (string-append consonant0 syllabic consonant1))
     116
     117(define (coda syllabic consonant)
     118  (string-append syllabic consonant))
     119
     120(define (onset consonant glide)
     121  (string-append consonant glide))
     122
     123
     124(define (diphthong vowel0 vowel1)
     125  (string-append vowel0 vowel1))
     126
     127
     128(define (cluster cfari fanmo)
     129  (apply string-append cfari fanmo))
     130
     131(define (initial-pair consonant0 consonant1)
     132  (string-append consonant0 consonant1))
     133
     134(define (initial sibilant other liquid)
     135  (string-append sibilant other liquid))
     136
    105137(define (affricate stop fricative)
    106138  (string-append stop fricative))
    107139
    108 (define (any-syllable onset nucleus coda)
    109   (string-append onset nucleus coda))
    110 
    111 (define (cluster cfari fanmo)
    112   (apply string-append cfari fanmo))
    113 
    114 (define (cmavo-form onset nucleus nucleus-fanmo)
    115   (string onset (apply string-append nucleus) nucleus-fanmo))
     140
     141;; cmene
     142;;
     143(define (zifcme nafanmo consonant)
     144  `(cmene ,(string (apply string-append nafanmo) consonant)))
     145
     146(define (jbocme any-syllable-or-digit)
     147  `(cmene ,(apply string-append any-syllable-or-digit)))
     148
     149
     150;; cmavo
     151;;
     152(define (CVCy-lujvo-brivla-core CVC-rafsi y h initial-rafsi brivla-core)
     153  (string-append CVC-rafsi
     154                 y
     155                 h
     156                 (apply string-append initial-rafsi)
     157                 brivla-core))
     158
     159(define (CVCy-lujvo-short-final-rafsi stressed-CVC-rafsi y short-final-rafsi)
     160  (string-append stressed-CVC-rafsi y short-final-rafsi))
     161
     162(define (cmavo-form onset h nucleus)
     163  (string-append onset
     164                 (apply string-append
     165                        (map (lambda (h) (apply string-append h)) h))
     166                 nucleus))
    116167
    117168(define (cmavo-form-y y)
    118169  (apply string-append y))
    119170
    120 (define (coda syllabic consonant)
    121   (string-append syllabic consonant))
    122 
    123 (define (consonantal-syllable consonant0 syllabic consonant1)
    124   (string-append consonant1 syllabic consonant1))
    125 
    126 (define (diphthong vowel0 vowel1)
    127   (string-append vowel0 vowel1))
    128 
    129 (define (initial sibilant other liquid)
    130   (string-append sibilant other liquid))
    131 
    132 (define (initial-pair consonant0 consonant1)
    133   (string-append consonant0 consonant1))
    134 
    135 (define (onset consonant glide)
    136   (string-append consonant glide))
     171
     172;; lujvo
     173;;
     174(define (lujvo initial-rafsi brivla-core)
     175  `(lujvo ,(string-append (apply string-append initial-rafsi) brivla-core)))
     176
     177
     178;; fu'ivla
     179;;
     180(define (fuhivla fuhivla-head
     181                 stressed-syllable
     182                 consonantal-syllable
     183                 final-syllable)
     184  `(fuhivla ,(string-append fuhivla-head
     185                            stressed-syllable
     186                            (apply string-append consonantal-syllable)
     187                            final-syllable)))
     188
     189(define (stressed-brivla-rafsi brivla-head stressed-syllable h y)
     190  (string-append brivla-head stressed-syllable h y))
     191
     192(define (brivla-rafsi brivla-head h0 y h1)
     193  (string-append brivla-head h0 y h1))
     194
     195(define (stressed-fuhivla-rafsi fuhivla-head stressed-syllable onset y )
     196  (string-append fuhivla-head stressed-syllable onset y))
     197
     198(define (fuhivla-rafsi fuhivla-head onset y h)
     199  (string-append fuhivla-head onset y h))
     200
     201(define (brivla-head . unstressed-syllable)
     202  (apply string-append unstressed-syllable))
     203
     204(define (slinkuhi consonant rafsi-string)
     205  (string-append consonant rafsi-string))
     206
     207(define (rafsi-string y-less-rafsi rest)
     208  (string-append (apply string-append y-less-rafsi) rest))
     209
     210(define (rafsi-string-short-final stressed-y-less-rafsi short-final-rafsi)
     211  (string-append stressed-y-less-rafsi short-final-rafsi))
     212
     213(define (rafsi-string-initial-pair stressed-y-less-rafsi initial-pair y)
     214  (string-append stressed-y-less-rafsi initial-pair y))
     215
     216
     217;; gismu
     218;;
     219(define (gismu initial consonant vowel)
     220  `(gismu ,(string-append (apply string-append initial) consonant vowel)))
     221
     222(define (CVV-final-rafsi consonant stressed-vowel h vowel)
     223  (string-append consonant stressed-vowel h vowel))
     224
     225(define (short-final-rafsi rafsi)
     226  (apply string-append rafsi))
     227
     228(define (stressed-y-rafsi rafsi y)
     229  (string-append rafsi y))
     230
     231(define (stressed-long-rafsi-CCVC initial-pair stressed-vowel consonant)
     232  (string-append initial-pair stressed-vowel consonant))
     233
     234(define (stressed-long-rafsi-CVCC consonant0
     235                                  stressed-vowel
     236                                  consonant1
     237                                  consonant2)
     238  (string-append consonant0 stressed-vowel consonant1 consonant2))
     239
     240(define (stressed-CVC-rafsi consonant0 stressed-vowel consonant1)
     241  (string-append consonant0 stressed-vowel consonant1))
     242
     243(define (stressed-CCV-rafsi initial-pair stressed-vowel)
     244  (string-append initial-pair stressed-vowel))
     245
     246(define (stressed-CVV-rafsi consonant vowel0 vowel1)
     247  (string-append consonant vowel0 vowel1))
     248
     249(define (stressed-CVV-rafsi-VhV unstressed-vowel h stressed-vowel)
     250  (string-append unstressed-vowel h stressed-vowel))
     251
     252(define (y-rafsi rafsi y h)
     253  (string-append rafsi y h))
     254
     255(define (long-rafsi-CCVC initial-pair unstressed-vowel consonant)
     256  (string-append initial-pair unstressed-vowel consonant))
     257
     258(define (long-rafsi-CVCC consonant0 unstressed-vowel consonant1 consonant2)
     259  (string-append consonant0 unstressed-vowel consonant1 consonant2))
     260
     261(define (CVC-rafsi consonant0 unstressed-vowel consonant1)
     262  (string-append consonant0 unstressed-vowel consonant1))
     263
     264(define (CCV-rafsi initial-pair unstressed-vowel)
     265  (string-append initial-pair unstressed-vowel))
     266
     267(define (CVV-rafsi consonant vowel0 vowel1)
     268  (string-append consonant vowel0 vowel1))
     269
     270(define (CVV-rafsi-VhV unstressed-vowel0 h unstressed-vowel1)
     271  (string-append unstressed-vowel0 h unstressed-vowel1))
     272
     273
     274;; non-Lojban word
     275;;
     276(define (non-lojban-word . rodalerfu)
     277  `(non-lojban-word ,(apply string rodalerfu)))
     278
     279
     280;; spaces
     281;;
     282(define (ybu y bu)
     283  `(BY ,(string-append (cadr y) (cadr bu))))
     284
    137285
    138286;;
    139287;; selma'o
    140288;;
    141 
    142 (define (A rodalerfu)
    143   (apply string-append rodalerfu))
    144 
    145 (define (BAI rodalerfu)
    146   (apply string-append rodalerfu))
    147 
    148 (define (BAhE rodalerfu)
    149   (apply string-append rodalerfu))
    150 
    151 (define (BE rodalerfu)
    152   (apply string-append rodalerfu))
    153 
    154 (define (BEI rodalerfu)
    155   (apply string-append rodalerfu))
    156 
    157 (define (BEhO rodalerfu)
    158   (apply string-append rodalerfu))
    159 
    160 (define (BIhE rodalerfu)
    161   (apply string-append rodalerfu))
    162 
    163 (define (BIhI rodalerfu)
    164   (apply string-append rodalerfu))
    165 
    166 (define (BO rodalerfu)
    167   (apply string-append rodalerfu))
    168 
    169 (define (BOI rodalerfu)
    170   (apply string-append rodalerfu))
    171 
    172 (define (BU rodalerfu)
    173   (apply string-append rodalerfu))
    174 
    175 (define (BY rodalerfu)
    176   (apply string-append rodalerfu))
    177 
    178 (define (CAhA rodalerfu)
    179   (apply string-append rodalerfu))
    180 
    181 (define (CAI rodalerfu)
    182   (apply string-append rodalerfu))
    183 
    184 (define (CEI rodalerfu)
    185   (apply string-append rodalerfu))
    186 
    187 (define (CEhE rodalerfu)
    188   (apply string-append rodalerfu))
    189 
    190 (define (CO rodalerfu)
    191   (apply string-append rodalerfu))
    192 
    193 (define (COI rodalerfu)
    194   (apply string-append rodalerfu))
    195 
    196 (define (CU rodalerfu)
    197   (apply string-append rodalerfu))
    198 
    199 (define (CUhE rodalerfu)
    200   (apply string-append rodalerfu))
    201 
    202 (define (DAhO rodalerfu)
    203   (apply string-append rodalerfu))
    204 
    205 (define (DOI rodalerfu)
    206   (apply string-append rodalerfu))
    207 
    208 (define (DOhU rodalerfu)
    209   (apply string-append rodalerfu))
    210 
    211 (define (FA rodalerfu)
    212   (apply string-append rodalerfu))
    213 
    214 (define (FAhA rodalerfu)
    215   (apply string-append rodalerfu))
    216 
    217 (define (FAhO rodalerfu)
    218   (apply string-append rodalerfu))
    219 
    220 (define (FEhE rodalerfu)
    221   (apply string-append rodalerfu))
    222 
    223 (define (FEhU rodalerfu)
    224   (apply string-append rodalerfu))
    225 
    226 (define (FIhO rodalerfu)
    227   (apply string-append rodalerfu))
    228 
    229 (define (FOI rodalerfu)
    230   (apply string-append rodalerfu))
    231 
    232 (define (FUhA rodalerfu)
    233   (apply string-append rodalerfu))
    234 
    235 (define (FUhE rodalerfu)
    236   (apply string-append rodalerfu))
    237 
    238 (define (FUhO rodalerfu)
    239   (apply string-append rodalerfu))
    240 
    241 (define (GA rodalerfu)
    242   (apply string-append rodalerfu))
    243 
    244 (define (GAhO rodalerfu)
    245   (apply string-append rodalerfu))
    246 
    247 (define (GEhU rodalerfu)
    248   (apply string-append rodalerfu))
    249 
    250 (define (GI rodalerfu)
    251   (apply string-append rodalerfu))
    252 
    253 (define (GIhA rodalerfu)
    254   (apply string-append rodalerfu))
    255 
    256 (define (GOI rodalerfu)
    257   (apply string-append rodalerfu))
    258 
    259 (define (GOhA rodalerfu)
    260   (apply string-append rodalerfu))
    261 
    262 (define (GUhA rodalerfu)
    263   (apply string-append rodalerfu))
    264 
    265 (define (I rodalerfu)
    266   (apply string-append rodalerfu))
    267 
    268 (define (JA rodalerfu)
    269   (apply string-append rodalerfu))
    270 
    271 (define (JAI rodalerfu)
    272   (apply string-append rodalerfu))
    273 
    274 (define (JOhI rodalerfu)
    275   (apply string-append rodalerfu))
    276 
    277 (define (JOI rodalerfu)
    278   (apply string-append rodalerfu))
    279 
    280 (define (KE rodalerfu)
    281   (apply string-append rodalerfu))
    282 
    283 (define (KEhE rodalerfu)
    284   (apply string-append rodalerfu))
    285 
    286 (define (KEI rodalerfu)
    287   (apply string-append rodalerfu))
    288 
    289 (define (KI rodalerfu)
    290   (apply string-append rodalerfu))
    291 
    292 (define (KOhA rodalerfu)
    293   (apply string-append rodalerfu))
    294 
    295 (define (KU rodalerfu)
    296   (apply string-append rodalerfu))
    297 
    298 (define (KUhE rodalerfu)
    299   (apply string-append rodalerfu))
    300 
    301 (define (KUhO rodalerfu)
    302   (apply string-append rodalerfu))
    303 
    304 (define (LA rodalerfu)
    305   (apply string-append rodalerfu))
    306 
    307 (define (LAU rodalerfu)
    308   (apply string-append rodalerfu))
    309 
    310 (define (LAhE rodalerfu)
    311   (apply string-append rodalerfu))
    312 
    313 (define (LE rodalerfu)
    314   (apply string-append rodalerfu))
    315 
    316 (define (LEhU rodalerfu)
    317   (apply string-append rodalerfu))
    318 
    319 (define (LI rodalerfu)
    320   (apply string-append rodalerfu))
    321 
    322 (define (LIhU rodalerfu)
    323   (apply string-append rodalerfu))
    324 
    325 (define (LOhO rodalerfu)
    326   (apply string-append rodalerfu))
    327 
    328 (define (LOhU rodalerfu)
    329   (apply string-append rodalerfu))
    330 
    331 (define (LU rodalerfu)
    332   (apply string-append rodalerfu))
    333 
    334 (define (LUhU rodalerfu)
    335   (apply string-append rodalerfu))
    336 
    337 (define (MAhO rodalerfu)
    338   (apply string-append rodalerfu))
    339 
    340 (define (MAI rodalerfu)
    341   (apply string-append rodalerfu))
    342 
    343 (define (ME rodalerfu)
    344   (apply string-append rodalerfu))
    345 
    346 (define (MEhU rodalerfu)
    347   (apply string-append rodalerfu))
    348 
    349 (define (MOhE rodalerfu)
    350   (apply string-append rodalerfu))
    351 
    352 (define (MOhI rodalerfu)
    353   (apply string-append rodalerfu))
    354 
    355 (define (MOI rodalerfu)
    356   (apply string-append rodalerfu))
    357 
    358 (define (NA rodalerfu)
    359   (apply string-append rodalerfu))
    360 
    361 (define (NAI rodalerfu)
    362   (apply string-append rodalerfu))
    363 
    364 (define (NAhE rodalerfu)
    365   (apply string-append rodalerfu))
    366 
    367 (define (NAhU rodalerfu)
    368   (apply string-append rodalerfu))
    369 
    370 (define (NIhE rodalerfu)
    371   (apply string-append rodalerfu))
    372 
    373 (define (NIhO rodalerfu)
    374   (apply string-append rodalerfu))
    375 
    376 (define (NOI rodalerfu)
    377   (apply string-append rodalerfu))
    378 
    379 (define (NU rodalerfu)
    380   (apply string-append rodalerfu))
    381 
    382 (define (NUhA rodalerfu)
    383   (apply string-append rodalerfu))
    384 
    385 (define (NUhI rodalerfu)
    386   (apply string-append rodalerfu))
    387 
    388 (define (NUhU rodalerfu)
    389   (apply string-append rodalerfu))
    390 
    391 (define (PA rodalerfu)
    392   (apply string-append rodalerfu))
    393 
    394 (define (PEhE rodalerfu)
    395   (apply string-append rodalerfu))
    396 
    397 (define (PEhO rodalerfu)
    398   (apply string-append rodalerfu))
    399 
    400 (define (PU rodalerfu)
    401   (apply string-append rodalerfu))
    402 
    403 (define (RAhO rodalerfu)
    404   (apply string-append rodalerfu))
    405 
    406 (define (ROI rodalerfu)
    407   (apply string-append rodalerfu))
    408 
    409 (define (SA rodalerfu)
    410   (apply string-append rodalerfu))
    411 
    412 (define (SE rodalerfu)
    413   (apply string-append rodalerfu))
    414 
    415 (define (SEI rodalerfu)
    416   (apply string-append rodalerfu))
    417 
    418 (define (SEhU rodalerfu)
    419   (apply string-append rodalerfu))
    420 
    421 (define (SI rodalerfu)
    422   (apply string-append rodalerfu))
    423 
    424 (define (SOI rodalerfu)
    425   (apply string-append rodalerfu))
    426 
    427 (define (SU rodalerfu)
    428   (apply string-append rodalerfu))
    429 
    430 (define (TAhE rodalerfu)
    431   (apply string-append rodalerfu))
    432 
    433 (define (TEhU rodalerfu)
    434   (apply string-append rodalerfu))
    435 
    436 (define (TEI rodalerfu)
    437   (apply string-append rodalerfu))
    438 
    439 (define (TO rodalerfu)
    440   (apply string-append rodalerfu))
    441 
    442 (define (TOI rodalerfu)
    443   (apply string-append rodalerfu))
    444 
    445 (define (TUhE rodalerfu)
    446   (apply string-append rodalerfu))
    447 
    448 (define (TUhU rodalerfu)
    449   (apply string-append rodalerfu))
    450 
    451 (define (UI rodalerfu)
    452   (apply string-append rodalerfu))
    453 
    454 (define (VA rodalerfu)
    455   (apply string-append rodalerfu))
    456 
    457 (define (VAU rodalerfu)
    458   (apply string-append rodalerfu))
    459 
    460 (define (VEI rodalerfu)
    461   (apply string-append rodalerfu))
    462 
    463 (define (VEhO rodalerfu)
    464   (apply string-append rodalerfu))
    465 
    466 (define (VEhA rodalerfu)
    467   (apply string-append rodalerfu))
    468 
    469 (define (VIhA rodalerfu)
    470   (apply string-append rodalerfu))
    471 
    472 (define (VUhO rodalerfu)
    473   (apply string-append rodalerfu))
    474 
    475 (define (VUhU rodalerfu)
    476   (apply string-append rodalerfu))
    477 
    478 (define (XI rodalerfu)
    479   (apply string-append rodalerfu))
    480 
    481 (define (Y rodalerfu)
    482   (apply string-append rodalerfu))
    483 
    484 (define (ZAhO rodalerfu)
    485   (apply string-append rodalerfu))
    486 
    487 (define (ZEhA rodalerfu)
    488   (apply string-append rodalerfu))
    489 
    490 (define (ZEI rodalerfu)
    491   (apply string-append rodalerfu))
    492 
    493 (define (ZI rodalerfu)
    494   (apply string-append rodalerfu))
    495 
    496 (define (ZIhE rodalerfu)
    497   (apply string-append rodalerfu))
    498 
    499 (define (ZO rodalerfu)
    500   (apply string-append rodalerfu))
    501 
    502 (define (ZOI rodalerfu)
    503   (apply string-append rodalerfu))
    504 
    505 (define (ZOhU rodalerfu)
    506   (apply string-append rodalerfu))
    507 
    508 ;; cmene
    509 ;;
    510 (define (zifcme nafanmo consonant)
    511   (string (apply string-append nafanmo) consonant))
    512 
    513 (define (jbocme any-syllable-or-digit)
    514   (apply string-append any-syllable-or-digit))
    515 
    516 ;; gismu
    517 ;;
    518 (define (gismu initial consonant vowel)
    519   (string-append (apply string-append initial) consonant vowel))
    520 
    521 ;; non-Lojban word
    522 ;;
    523 (define (non-lojban-word rodalerfu)
    524   (apply string rodalerfu))
     289(define (A . rodalerfu)
     290  `(A ,(apply string-append rodalerfu)))
     291
     292(define (BAI . rodalerfu)
     293  `(BAI ,(apply string-append rodalerfu)))
     294
     295(define (BAhE . rodalerfu)
     296  `(BAhE ,(apply string-append rodalerfu)))
     297
     298(define (BE . rodalerfu)
     299  `(BE ,(apply string-append rodalerfu)))
     300
     301(define (BEI . rodalerfu)
     302  `(BEI ,(apply string-append rodalerfu)))
     303
     304(define (BEhO . rodalerfu)
     305  `(BEhO ,(apply string-append rodalerfu)))
     306
     307(define (BIhE . rodalerfu)
     308  `(BIhE ,(apply string-append rodalerfu)))
     309
     310(define (BIhI . rodalerfu)
     311  `(BIhI ,(apply string-append rodalerfu)))
     312
     313(define (BO . rodalerfu)
     314  `(BO ,(apply string-append rodalerfu)))
     315
     316(define (BOI . rodalerfu)
     317  `(BOI ,(apply string-append rodalerfu)))
     318
     319(define (BU . rodalerfu)
     320  `(BU ,(apply string-append rodalerfu)))
     321
     322(define (BY . rodalerfu)
     323  `(BY ,(apply string-append rodalerfu)))
     324
     325(define (CAhA . rodalerfu)
     326  `(CAhA ,(apply string-append rodalerfu)))
     327
     328(define (CAI . rodalerfu)
     329  `(CAI ,(apply string-append rodalerfu)))
     330
     331(define (CEI . rodalerfu)
     332  `(CEI ,(apply string-append rodalerfu)))
     333
     334(define (CEhE . rodalerfu)
     335  `(CEhE ,(apply string-append rodalerfu)))
     336
     337(define (CO . rodalerfu)
     338  `(CO ,(apply string-append rodalerfu)))
     339
     340(define (COI . rodalerfu)
     341  `(COI ,(apply string-append rodalerfu)))
     342
     343(define (CU . rodalerfu)
     344  `(CU ,(apply string-append rodalerfu)))
     345
     346(define (CUhE . rodalerfu)
     347  `(CUhE ,(apply string-append rodalerfu)))
     348
     349(define (DAhO . rodalerfu)
     350  `(DAhO ,(apply string-append rodalerfu)))
     351
     352(define (DOI . rodalerfu)
     353  `(DOI ,(apply string-append rodalerfu)))
     354
     355(define (DOhU . rodalerfu)
     356  `(DOhU ,(apply string-append rodalerfu)))
     357
     358(define (FA . rodalerfu)
     359  `(FA ,(apply string-append rodalerfu)))
     360
     361(define (FAhA . rodalerfu)
     362  `(FAhA ,(apply string-append rodalerfu)))
     363
     364(define (FAhO . rodalerfu)
     365  `(FAhO ,(apply string-append rodalerfu)))
     366
     367(define (FEhE . rodalerfu)
     368  `(FEhE ,(apply string-append rodalerfu)))
     369
     370(define (FEhU . rodalerfu)
     371  `(FEhU ,(apply string-append rodalerfu)))
     372
     373(define (FIhO . rodalerfu)
     374  `(FIhO ,(apply string-append rodalerfu)))
     375
     376(define (FOI . rodalerfu)
     377  `(FOI ,(apply string-append rodalerfu)))
     378
     379(define (FUhA . rodalerfu)
     380  `(FUhA ,(apply string-append rodalerfu)))
     381
     382(define (FUhE . rodalerfu)
     383  `(FUhE ,(apply string-append rodalerfu)))
     384
     385(define (FUhO . rodalerfu)
     386  `(FUhO ,(apply string-append rodalerfu)))
     387
     388(define (GA . rodalerfu)
     389  `(GA ,(apply string-append rodalerfu)))
     390
     391(define (GAhO . rodalerfu)
     392  `(GAhO ,(apply string-append rodalerfu)))
     393
     394(define (GEhU . rodalerfu)
     395  `(GEhU ,(apply string-append rodalerfu)))
     396
     397(define (GI . rodalerfu)
     398  `(GI ,(apply string-append rodalerfu)))
     399
     400(define (GIhA . rodalerfu)
     401  `(GIhA ,(apply string-append rodalerfu)))
     402
     403(define (GOI . rodalerfu)
     404  `(GOI ,(apply string-append rodalerfu)))
     405
     406(define (GOhA . rodalerfu)
     407  `(GOhA ,(apply string-append rodalerfu)))
     408
     409(define (GUhA . rodalerfu)
     410  `(GUhA ,(apply string-append rodalerfu)))
     411
     412(define (I . rodalerfu)
     413  `(I ,(apply string-append rodalerfu)))
     414
     415(define (JA . rodalerfu)
     416  `(JA ,(apply string-append rodalerfu)))
     417
     418(define (JAI . rodalerfu)
     419  `(JAI ,(apply string-append rodalerfu)))
     420
     421(define (JOhI . rodalerfu)
     422  `(JOhI ,(apply string-append rodalerfu)))
     423
     424(define (JOI . rodalerfu)
     425  `(JOI ,(apply string-append rodalerfu)))
     426
     427(define (KE . rodalerfu)
     428  `(KE ,(apply string-append rodalerfu)))
     429
     430(define (KEhE . rodalerfu)
     431  `(KEhE ,(apply string-append rodalerfu)))
     432
     433(define (KEI . rodalerfu)
     434  `(KEI ,(apply string-append rodalerfu)))
     435
     436(define (KI . rodalerfu)
     437  `(KI ,(apply string-append rodalerfu)))
     438
     439(define (KOhA . rodalerfu)
     440  `(KOhA ,(apply string-append rodalerfu)))
     441
     442(define (KU . rodalerfu)
     443  `(KU ,(apply string-append rodalerfu)))
     444
     445(define (KUhE . rodalerfu)
     446  `(KUhE ,(apply string-append rodalerfu)))
     447
     448(define (KUhO . rodalerfu)
     449  `(KUhO ,(apply string-append rodalerfu)))
     450
     451(define (LA . rodalerfu)
     452  `(LA ,(apply string-append rodalerfu)))
     453
     454(define (LAU . rodalerfu)
     455  `(LAU ,(apply string-append rodalerfu)))
     456
     457(define (LAhE . rodalerfu)
     458  `(LAhE ,(apply string-append rodalerfu)))
     459
     460(define (LE . rodalerfu)
     461  `(LE ,(apply string-append rodalerfu)))
     462
     463(define (LEhU . rodalerfu)
     464  `(LEhU ,(apply string-append rodalerfu)))
     465
     466(define (LI . rodalerfu)
     467  `(LI ,(apply string-append rodalerfu)))
     468
     469(define (LIhU . rodalerfu)
     470  `(LIhU ,(apply string-append rodalerfu)))
     471
     472(define (LOhO . rodalerfu)
     473  `(LOhO ,(apply string-append rodalerfu)))
     474
     475(define (LOhU . rodalerfu)
     476  `(LOhU ,(apply string-append rodalerfu)))
     477
     478(define (LU . rodalerfu)
     479  `(LU ,(apply string-append rodalerfu)))
     480
     481(define (LUhU . rodalerfu)
     482  `(LUhU ,(apply string-append rodalerfu)))
     483
     484(define (MAhO . rodalerfu)
     485  `(MAhO ,(apply string-append rodalerfu)))
     486
     487(define (MAI . rodalerfu)
     488  `(MAI ,(apply string-append rodalerfu)))
     489
     490(define (ME . rodalerfu)
     491  `(ME ,(apply string-append rodalerfu)))
     492
     493(define (MEhU . rodalerfu)
     494  `(MEhU ,(apply string-append rodalerfu)))
     495
     496(define (MOhE . rodalerfu)
     497  `(MOhE ,(apply string-append rodalerfu)))
     498
     499(define (MOhI . rodalerfu)
     500  `(MOhI ,(apply string-append rodalerfu)))
     501
     502(define (MOI . rodalerfu)
     503  `(MOI ,(apply string-append rodalerfu)))
     504
     505(define (NA . rodalerfu)
     506  `(NA ,(apply string-append rodalerfu)))
     507
     508(define (NAI . rodalerfu)
     509  `(NAI ,(apply string-append rodalerfu)))
     510
     511(define (NAhE . rodalerfu)
     512  `(NAhE ,(apply string-append rodalerfu)))
     513
     514(define (NAhU . rodalerfu)
     515  `(NAhU ,(apply string-append rodalerfu)))
     516
     517(define (NIhE . rodalerfu)
     518  `(NIhE ,(apply string-append rodalerfu)))
     519
     520(define (NIhO . rodalerfu)
     521  `(NIhO ,(apply string-append rodalerfu)))
     522
     523(define (NOI . rodalerfu)
     524  `(NOI ,(apply string-append rodalerfu)))
     525
     526(define (NU . rodalerfu)
     527  `(NU ,(apply string-append rodalerfu)))
     528
     529(define (NUhA . rodalerfu)
     530  `(NUhA ,(apply string-append rodalerfu)))
     531
     532(define (NUhI . rodalerfu)
     533  `(NUhI ,(apply string-append rodalerfu)))
     534
     535(define (NUhU . rodalerfu)
     536  `(NUhU ,(apply string-append rodalerfu)))
     537
     538(define (PA . rodalerfu)
     539  `(PA ,(apply string-append rodalerfu)))
     540
     541(define (PEhE . rodalerfu)
     542  `(PEhE ,(apply string-append rodalerfu)))
     543
     544(define (PEhO . rodalerfu)
     545  `(PEhO ,(apply string-append rodalerfu)))
     546
     547(define (PU . rodalerfu)
     548  `(PU ,(apply string-append rodalerfu)))
     549
     550(define (RAhO . rodalerfu)
     551  `(RAhO ,(apply string-append rodalerfu)))
     552
     553(define (ROI . rodalerfu)
     554  `(ROI ,(apply string-append rodalerfu)))
     555
     556(define (SA . rodalerfu)
     557  `(SA ,(apply string-append rodalerfu)))
     558
     559(define (SE . rodalerfu)
     560  `(SE ,(apply string-append rodalerfu)))
     561
     562(define (SEI . rodalerfu)
     563  `(SEI ,(apply string-append rodalerfu)))
     564
     565(define (SEhU . rodalerfu)
     566  `(SEhU ,(apply string-append rodalerfu)))
     567
     568(define (SI . rodalerfu)
     569  `(SI ,(apply string-append rodalerfu)))
     570
     571(define (SOI . rodalerfu)
     572  `(SOI ,(apply string-append rodalerfu)))
     573
     574(define (SU . rodalerfu)
     575  `(SU ,(apply string-append rodalerfu)))
     576
     577(define (TAhE . rodalerfu)
     578  `(TAhE ,(apply string-append rodalerfu)))
     579
     580(define (TEhU . rodalerfu)
     581  `(TEhU ,(apply string-append rodalerfu)))
     582
     583(define (TEI . rodalerfu)
     584  `(TEI ,(apply string-append rodalerfu)))
     585
     586(define (TO . rodalerfu)
     587  `(TO ,(apply string-append rodalerfu)))
     588
     589(define (TOI . rodalerfu)
     590  `(TOI ,(apply string-append rodalerfu)))
     591
     592(define (TUhE . rodalerfu)
     593  `(TUhE ,(apply string-append rodalerfu)))
     594
     595(define (TUhU . rodalerfu)
     596  `(TUhU ,(apply string-append rodalerfu)))
     597
     598(define (UI . rodalerfu)
     599  `(UI ,(apply string-append rodalerfu)))
     600
     601(define (VA . rodalerfu)
     602  `(VA ,(apply string-append rodalerfu)))
     603
     604(define (VAU . rodalerfu)
     605  `(VAU ,(apply string-append rodalerfu)))
     606
     607(define (VEI . rodalerfu)
     608  `(VEI ,(apply string-append rodalerfu)))
     609
     610(define (VEhO . rodalerfu)
     611  `(VEhO ,(apply string-append rodalerfu)))
     612
     613(define (VEhA . rodalerfu)
     614  `(VEhA ,(apply string-append rodalerfu)))
     615
     616(define (VIhA . rodalerfu)
     617  `(VIhA ,(apply string-append rodalerfu)))
     618
     619(define (VUhO . rodalerfu)
     620  `(VUhO ,(apply string-append rodalerfu)))
     621
     622(define (VUhU . rodalerfu)
     623  `(VUhU ,(apply string-append rodalerfu)))
     624
     625(define (XI . rodalerfu)
     626  `(XI ,(apply string-append rodalerfu)))
     627
     628(define (Y . rodalerfu)
     629  `(Y ,(apply string-append rodalerfu)))
     630
     631(define (ZAhO . rodalerfu)
     632  `(ZAhO ,(apply string-append rodalerfu)))
     633
     634(define (ZEhA . rodalerfu)
     635  `(ZEhA ,(apply string-append rodalerfu)))
     636
     637(define (ZEI . rodalerfu)
     638  `(ZEI ,(apply string-append rodalerfu)))
     639
     640(define (ZI . rodalerfu)
     641  `(ZI ,(apply string-append rodalerfu)))
     642
     643(define (ZIhE . rodalerfu)
     644  `(ZIhE ,(apply string-append rodalerfu)))
     645
     646(define (ZO . rodalerfu)
     647  `(ZO ,(apply string-append rodalerfu)))
     648
     649(define (ZOI . rodalerfu)
     650  `(ZOI ,(apply string-append rodalerfu)))
     651
     652(define (ZOhU . rodalerfu)
     653  `(ZOhU ,(apply string-append rodalerfu)))
     654
     655
Note: See TracChangeset for help on using the changeset viewer.