Kitten Quick Reference Cards
Check-in [558488e996]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Split out Lojban numbers from the sumti card.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 558488e9962364b0df99a0387353bac13a011b1c
User & Date: alaric 2013-07-13 13:25:55
Context
2013-07-13
13:31
Fixed Makefile, and made the PDF versions be the ones we link to. check-in: c07b553861 user: alaric tags: trunk
13:25
Split out Lojban numbers from the sumti card. check-in: 558488e996 user: alaric tags: trunk
2013-07-12
17:34
Added DOWNLOAD.wiki check-in: 4ef0acce20 user: alaric tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added lojban-number.ruleset.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(number
 . (seq
    (one-or-more
     (choice
      (comment "{ma'u} = positive sign\n{ni'u} = negative sign\n{pi} = decimal point\n{fi'u} = fraction slash\n{ra'e} = recurring (decimal)\n{ce'i} = percent\n{ki'o} = thousands separator"
               "ma'u|ni'u|pi|fi'u|ra'e|ce'i|ki'o")
      (comment "0..9" "no|pa|re|ci|vo|mu|xa|ze|bi|so")
      (comment "10..15" "dau|fei|gai|jau|rei|vai")
      (comment "Compound number separator"
               "pi'e")
      (comment "{ci'i} = infinity\n{ka'o} = i\n{pai} = pi\n{te'o} = e\n{fi'u} = phi"
               "ci'i|ka'o|pai|te'o|fi'u")
      (comment "{ji'i} = rest of number is approximate\n{su'e} = at most, {su'o} = at least, {me'i} = less than, {za'u} = more than"
               "ji'i|su'e|su'o|me'i|za'u")
      (comment "{ro} = all\n{so'a} = almost all\n{so'e} = most\n{so'i} = many\n{so'o} = several\n{so'u} = a few (at least 1)"
               "ro|so'a|so'e|so'i|so'o|so'u")
      (comment "{piro} = all of\n{piso'a} = almost all of\n{piso'e} = most of\n{piso'i} = much of\n{piso'o} = a small part of\n{piso'u} = a tiny part of"
               "piro|piso'a|piso'e|piso'o|piso'o|piso'u")
      (comment "{no'o} = the typical number\n{da'a} = all but one\n{pino'o} = the typical portion of" "no'o|da'a|pino'o")
      (comment "{rau} = enough\n{du'e} = too many\n{mo'a} = too few\n{pirau} = enough of\n{pidu'e} = too much of\n{pimo'a} = too little of"
               "rau|du'e|mo'a|pirau|pidu'e|pimo'a")
      (comment "Number question" "xo")
      complex-mexso))
    (optional
     (comment "Specify alternative base"
              (seq "ju'u" number)))))

Added lojban-number.svg.



>
1
<svg xmlns='http://www.w3.org/2000/svg' version='1.2' baseProfile='tiny' viewBox='0 0 1380 1675.0'><g><g><text x='100' y='837.5' text-anchor='middle' font-style='italic'>number</text></g><path d='M 200 832.5 L 190.0 837.5 L 190.0 827.5 z' fill='black'/><path d='M 1380 832.5 L 1370.0 837.5 L 1370.0 827.5 z' fill='black'/><g><path d='M 1360 832.5 L 1370 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1070 832.5 L 1080 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 1080 832.5 L 1090 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1350 832.5 L 1360 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1080 832.5 Q 1085 832.5 1085 807.5 Q 1085 802.5 1090 802.5 L 1350 802.5 Q 1355 802.5 1355 807.5 Q 1355 832.5 1360 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1225 802.5 L 1220.0 805.0 L 1220.0 800.0 z' fill='black'/><g><path d='M 1090 832.5 L 1130 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1310 832.5 L 1350 832.5' stroke-width='1' stroke='black' fill='none'/><rect x='1090' y='807.5' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='260' height='85'/><g><text x='1220' y='872.5' text-anchor='middle'>Specify alternative base</text></g><g><path d='M 1300 832.5 L 1310 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1210 832.5 L 1220 832.5' stroke-width='1' stroke='black' fill='none'/><g><rect x='1220' y='812.5' rx='20' ry='20' fill='none' stroke-width='1' stroke='black' width='80' height='40'/><g><text x='1260' y='832.5' text-anchor='middle' font-style='italic'>number</text></g></g><path d='M 1130 832.5 L 1150 832.5' stroke-width='1' stroke='black' fill='none'/><g><rect x='1150' y='812.5' fill='none' stroke-width='1' stroke='black' width='60' height='40'/><g><text x='1180' y='832.5' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>ju&apos;u</text></g></g></g></g></g><path d='M 200 832.5 L 220 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 220 832.5 L 240 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 1050 832.5 L 1070 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 240 832.5 Q 230 832.5 230 1665.0 Q 230 1670.0 240 1670.0 L 1050 1670.0 Q 1060 1670.0 1060 1665.0 Q 1060 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><path d='M 640 1670.0 L 645.0 1667.5 L 645.0 1672.5 z' fill='black'/><g><path d='M 240 832.5 Q 250 832.5 250 1233.75 Q 250 1635.0 260 1635.0' stroke-width='1' stroke='black' fill='none'/><path d='M 410 1635.0 L 1030 1635.0 Q 1040 1635.0 1040 1233.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><rect x='260' y='1615.0' rx='20' ry='20' fill='none' stroke-width='1' stroke='black' width='150' height='40'/><g><text x='335' y='1635.0' text-anchor='middle' font-style='italic'>complex-mexso</text></g></g><path d='M 240 832.5 Q 250 832.5 250 1188.75 Q 250 1545.0 260 1545.0' stroke-width='1' stroke='black' fill='none'/><path d='M 430 1545.0 L 1030 1545.0 Q 1040 1545.0 1040 1188.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 1545.0 L 325 1545.0' stroke-width='1' stroke='black' fill='none'/><path d='M 365 1545.0 L 430 1545.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='1520.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='170' height='85'/><g><text x='345' y='1585.0' text-anchor='middle'>Number question</text></g><g><rect x='325' y='1525.0' fill='none' stroke-width='1' stroke='black' width='40' height='40'/><g><text x='345' y='1545.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>xo</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 1091.25 Q 250 1350.0 260 1350.0' stroke-width='1' stroke='black' fill='none'/><path d='M 620 1350.0 L 1030 1350.0 Q 1040 1350.0 1040 1091.25 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 1350.0 L 265 1350.0' stroke-width='1' stroke='black' fill='none'/><path d='M 615 1350.0 L 620 1350.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='1325.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='360' height='185'/><g><text x='440' y='1490.0' text-anchor='middle'>{pimo&apos;a} = too little of</text><text x='440' y='1470.0' text-anchor='middle'>{pidu&apos;e} = too much of</text><text x='440' y='1450.0' text-anchor='middle'>{pirau} = enough of</text><text x='440' y='1430.0' text-anchor='middle'>{mo&apos;a} = too few</text><text x='440' y='1410.0' text-anchor='middle'>{du&apos;e} = too many</text><text x='440' y='1390.0' text-anchor='middle'>{rau} = enough</text></g><g><rect x='265' y='1330.0' fill='none' stroke-width='1' stroke='black' width='350' height='40'/><g><text x='440' y='1350.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>rau|du&apos;e|mo&apos;a|pirau|pidu&apos;e|pimo&apos;a</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 1023.75 Q 250 1215.0 260 1215.0' stroke-width='1' stroke='black' fill='none'/><path d='M 610 1215.0 L 1030 1215.0 Q 1040 1215.0 1040 1023.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 1215.0 L 345 1215.0' stroke-width='1' stroke='black' fill='none'/><path d='M 525 1215.0 L 610 1215.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='1190.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='350' height='125'/><g><text x='435' y='1295.0' text-anchor='middle'>{pino&apos;o} = the typical portion of</text><text x='435' y='1275.0' text-anchor='middle'>{da&apos;a} = all but one</text><text x='435' y='1255.0' text-anchor='middle'>{no&apos;o} = the typical number</text></g><g><rect x='345' y='1195.0' fill='none' stroke-width='1' stroke='black' width='180' height='40'/><g><text x='435' y='1215.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>no&apos;o|da&apos;a|pino&apos;o</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 926.25 Q 250 1020.0 260 1020.0' stroke-width='1' stroke='black' fill='none'/><path d='M 680 1020.0 L 1030 1020.0 Q 1040 1020.0 1040 926.25 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 1020.0 L 265 1020.0' stroke-width='1' stroke='black' fill='none'/><path d='M 675 1020.0 L 680 1020.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='995.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='420' height='185'/><g><text x='470' y='1160.0' text-anchor='middle'>{piso&apos;u} = a tiny part of</text><text x='470' y='1140.0' text-anchor='middle'>{piso&apos;o} = a small part of</text><text x='470' y='1120.0' text-anchor='middle'>{piso&apos;i} = much of</text><text x='470' y='1100.0' text-anchor='middle'>{piso&apos;e} = most of</text><text x='470' y='1080.0' text-anchor='middle'>{piso&apos;a} = almost all of</text><text x='470' y='1060.0' text-anchor='middle'>{piro} = all of</text></g><g><rect x='265' y='1000.0' fill='none' stroke-width='1' stroke='black' width='410' height='40'/><g><text x='470' y='1020.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>piro|piso&apos;a|piso&apos;e|piso&apos;o|piso&apos;o|piso&apos;u</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 828.75 Q 250 825.0 260 825.0' stroke-width='1' stroke='black' fill='none'/><path d='M 560 825.0 L 1030 825.0 Q 1040 825.0 1040 828.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 825.0 L 265 825.0' stroke-width='1' stroke='black' fill='none'/><path d='M 555 825.0 L 560 825.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='800.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='300' height='185'/><g><text x='410' y='965.0' text-anchor='middle'>{so&apos;u} = a few (at least 1)</text><text x='410' y='945.0' text-anchor='middle'>{so&apos;o} = several</text><text x='410' y='925.0' text-anchor='middle'>{so&apos;i} = many</text><text x='410' y='905.0' text-anchor='middle'>{so&apos;e} = most</text><text x='410' y='885.0' text-anchor='middle'>{so&apos;a} = almost all</text><text x='410' y='865.0' text-anchor='middle'>{ro} = all</text></g><g><rect x='265' y='805.0' fill='none' stroke-width='1' stroke='black' width='290' height='40'/><g><text x='410' y='825.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>ro|so&apos;a|so&apos;e|so&apos;i|so&apos;o|so&apos;u</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 771.25 Q 250 710.0 260 710.0' stroke-width='1' stroke='black' fill='none'/><path d='M 1030 710.0 L 1030 710.0 Q 1040 710.0 1040 771.25 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 710.0 L 515 710.0' stroke-width='1' stroke='black' fill='none'/><path d='M 775 710.0 L 1030 710.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='685.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='770' height='105'/><g><text x='645' y='770.0' text-anchor='middle'>{su&apos;e} = at most, {su&apos;o} = at least, {me&apos;i} = less than, {za&apos;u} = more than</text><text x='645' y='750.0' text-anchor='middle'>{ji&apos;i} = rest of number is approximate</text></g><g><rect x='515' y='690.0' fill='none' stroke-width='1' stroke='black' width='260' height='40'/><g><text x='645' y='710.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>ji&apos;i|su&apos;e|su&apos;o|me&apos;i|za&apos;u</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 683.75 Q 250 535.0 260 535.0' stroke-width='1' stroke='black' fill='none'/><path d='M 520 535.0 L 1030 535.0 Q 1040 535.0 1040 683.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 535.0 L 265 535.0' stroke-width='1' stroke='black' fill='none'/><path d='M 515 535.0 L 520 535.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='510.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='260' height='165'/><g><text x='390' y='655.0' text-anchor='middle'>{fi&apos;u} = phi</text><text x='390' y='635.0' text-anchor='middle'>{te&apos;o} = e</text><text x='390' y='615.0' text-anchor='middle'>{pai} = pi</text><text x='390' y='595.0' text-anchor='middle'>{ka&apos;o} = i</text><text x='390' y='575.0' text-anchor='middle'>{ci&apos;i} = infinity</text></g><g><rect x='265' y='515.0' fill='none' stroke-width='1' stroke='black' width='250' height='40'/><g><text x='390' y='535.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>ci&apos;i|ka&apos;o|pai|te&apos;o|fi&apos;u</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 636.25 Q 250 440.0 260 440.0' stroke-width='1' stroke='black' fill='none'/><path d='M 530 440.0 L 1030 440.0 Q 1040 440.0 1040 636.25 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 440.0 L 365 440.0' stroke-width='1' stroke='black' fill='none'/><path d='M 425 440.0 L 530 440.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='415.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='270' height='85'/><g><text x='395' y='480.0' text-anchor='middle'>Compound number separator</text></g><g><rect x='365' y='420.0' fill='none' stroke-width='1' stroke='black' width='60' height='40'/><g><text x='395' y='440.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>pi&apos;e</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 588.75 Q 250 345.0 260 345.0' stroke-width='1' stroke='black' fill='none'/><path d='M 520 345.0 L 1030 345.0 Q 1040 345.0 1040 588.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 345.0 L 265 345.0' stroke-width='1' stroke='black' fill='none'/><path d='M 515 345.0 L 520 345.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='320.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='260' height='85'/><g><text x='390' y='385.0' text-anchor='middle'>10..15</text></g><g><rect x='265' y='325.0' fill='none' stroke-width='1' stroke='black' width='250' height='40'/><g><text x='390' y='345.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>dau|fei|gai|jau|rei|vai</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 541.25 Q 250 250.0 260 250.0' stroke-width='1' stroke='black' fill='none'/><path d='M 580 250.0 L 1030 250.0 Q 1040 250.0 1040 541.25 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 250.0 L 265 250.0' stroke-width='1' stroke='black' fill='none'/><path d='M 575 250.0 L 580 250.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='225.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='320' height='85'/><g><text x='420' y='290.0' text-anchor='middle'>0..9</text></g><g><rect x='265' y='230.0' fill='none' stroke-width='1' stroke='black' width='310' height='40'/><g><text x='420' y='250.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>no|pa|re|ci|vo|mu|xa|ze|bi|so</text></g></g></g><path d='M 240 832.5 Q 250 832.5 250 433.75 Q 250 35.0 260 35.0' stroke-width='1' stroke='black' fill='none'/><path d='M 610 35.0 L 1030 35.0 Q 1040 35.0 1040 433.75 Q 1040 832.5 1050 832.5' stroke-width='1' stroke='black' fill='none'/><g><path d='M 260 35.0 L 265 35.0' stroke-width='1' stroke='black' fill='none'/><path d='M 605 35.0 L 610 35.0' stroke-width='1' stroke='black' fill='none'/><rect x='260' y='10.0' fill='none' stroke-width='1' stroke-dasharray='1,3' stroke='black' width='350' height='205'/><g><text x='435' y='195.0' text-anchor='middle'>{ki&apos;o} = thousands separator</text><text x='435' y='175.0' text-anchor='middle'>{ce&apos;i} = percent</text><text x='435' y='155.0' text-anchor='middle'>{ra&apos;e} = recurring (decimal)</text><text x='435' y='135.0' text-anchor='middle'>{fi&apos;u} = fraction slash</text><text x='435' y='115.0' text-anchor='middle'>{pi} = decimal point</text><text x='435' y='95.0' text-anchor='middle'>{ni&apos;u} = negative sign</text><text x='435' y='75.0' text-anchor='middle'>{ma&apos;u} = positive sign</text></g><g><rect x='265' y='15.0' fill='none' stroke-width='1' stroke='black' width='340' height='40'/><g><text x='435' y='35.0' text-anchor='middle' font-weight='bold' font-family='monospace' font-size='16'>ma&apos;u|ni&apos;u|pi|fi&apos;u|ra&apos;e|ce&apos;i|ki&apos;o</text></g></g></g></g></g></g></g></svg>

Changes to lojban-sumti.ruleset.

1
2
















3




































4






5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
(sumti
 . (choice
















    non-connected-sumti




































    (seq sumti afterthought-con (elidable "bo") sumti)






    (seq forethought-con sumti "gi" sumti)
    (comment "Note: Outermost sumti may not use {ke}"
             (seq "ke" sumti "ke'e"))))

(afterthought-con
 . (choice
    (comment "...and/or..." "a")
    (comment "...and..." "e")
    (comment "...if and only if..." "o")
    (comment "...whether or not..." "u")

    (comment "...only if..." "na.a")
    (comment "...and/or not..." "anai")

    (comment "... ..." "na.e")
    (comment "... ..." "enai")

    (comment "... ..." "na.o")
    (comment "... ..." "onai")

    (comment "... ..." "na.u")
    (comment "... ..." "unai")
))

(forethought-con
 . "FIXME")

(non-connected-sumti
 . (seq
    (optional outer-quantifier)
    (choice
     description
     pro-sumti
     name
     quotation
     (comment "The number value"
              (seq "li" number (elidable "lo'o")))
     (comment "The numerical expression"
              (seq "me'o" number (elidable "lo'o")))
     (seq qualifier sumti (elidable "lu'u"))
     )
    (optional (seq relative (zero-or-more (seq "zi'e" relative))))))

;; FIXME: sumti connectives

(outer-quantifier
 . (comment "The number of things we are referring to with this sumti"
            number))

(description
 .
 (choice
  (seq gadri (optional inner-quantifier) sumti-body (elidable "ku"))
  (comment "Useful for adding an extra quantifier to an existing sumti"
           (seq gadri inner-quantifier sumti (elidable "ku"))))
 ;; FIXME: Indefinite description? http://dag.github.ui/cll/6/8/
 )

(sumti-body
 . (choice "FIXME"))

(name
 . (seq (comment "{la} = the thing(s) named\n{lai} = the mass of things named\n{la'i} = the set of things named\nIn all caseds, the name refers to the members, not the mass/set;\nyou can use {la} to refer to a named set." "la|lai|la'i")
        (choice sumti-body cmevla)
        (elidable "ku")))

(inner-quantifier
 . (comment "The number of things described by the sumti-body"
            number))

(gadri
 . (choice
    (comment "{le} = the thing(s) I describe as...\n{lei} = the mass of things I describe as ...\n{le'i} = the set of things I describe as ..." "le|lei|le'i")
    (comment "{lo} = the thing(s) which are...\n{loi} = the mass of things which are ...\n{lo'i} = the set of things which are ..." "lo|loi|lo'i")
    (comment "{lo'e} = the typical thing which is...\n{le'e} what I perceive as the typical thing which is..." "lo'e|le'e")))

(sumti-body
 . "FIXME")

(number
 . (seq
    (one-or-more
     (choice
      (comment "{ma'u} = positive sign\n{ni'u} = negative sign\n{pi} = decimal point\n{fi'u} = fraction slash\n{ra'e} = recurring (decimal)\n{ce'i} = percent\n{ki'o} = thousands separator"
               "ma'u|ni'u|pi|fi'u|ra'e|ce'i|ki'o")
      (comment "0..9" "no|pa|re|ci|vo|mu|xa|ze|bi|so")
      (comment "10..15" "dau|fei|gai|jau|rei|vai")
      (comment "Compound number separator"
               "pi'e")
      (comment "{ci'i} = infinity\n{ka'o} = i\n{pai} = pi\n{te'o} = e\n{fi'u} = phi"
               "ci'i|ka'o|pai|te'o|fi'u")
      (comment "{ji'i} = rest of number is approximate\n{su'e} = at most, {su'o} = at least, {me'i} = less than, {za'u} = more than"
               "ji'i|su'e|su'o|me'i|za'u")
      (comment "{ro} = all\n{so'a} = almost all\n{so'e} = most\n{so'i} = many\n{so'o} = several\n{so'u} = a few (at least 1)"
               "ro|so'a|so'e|so'i|so'o|so'u")
      (comment "{piro} = all of\n{piso'a} = almost all of\n{piso'e} = most of\n{piso'i} = much of\n{piso'o} = a small part of\n{piso'u} = a tiny part of"
               "piro|piso'a|piso'e|piso'o|piso'o|piso'u")
      (comment "{no'o} = the typical number\n{da'a} = all but one\n{pino'o} = the typical portion of" "no'o|da'a|pino'o")
      (comment "{rau} = enough\n{du'e} = too many\n{mo'a} = too few\n{pirau} = enough of\n{pidu'e} = too much of\n{pimo'a} = too little of"
               "rau|du'e|mo'a|pirau|pidu'e|pimo'a")
      (comment "Number question" "xo")
      complex-mekso)) ; FIXME
    (optional
     (comment "Specify alternative base"
              (seq "ju'u" number)))))

(pro-sumti
 . (choice
    (comment "{mi} = the speaker\n{do} = the audience\n{mi'o} = the speaker and the audience\n{mi'a} = the speaker and others, but not the audience\n{ma'a} = the speaker, the audience, and others\n{do'o} = the audience and others\n{ko} = you (imperative)"
             "mi|do|mi'o|mi'a|ma'a|do'o|ko")
    (comment "{ti} = this\n{ta} = that\n{tu} = that (distant)"
             "ti|ta|tu")
    (comment "{da'u} = a much earlier utterance\n{de'u} = an earlier utterance\n{di'u} = the previous utterance\n{dei} = this utterance\n{di'e} = the next utterance\n{de'e} = a later utterance\n{da'e} = a much later utterance\n{do'i} = some utterance"
             "da'u|de'u|di'u|dei|di'e|de'e|da'e|do'i")
    assignable



    (comment "{ra} = repeat some recent sumti\n{ru} = repeat some earlier sumti"
             "ra|ru")
    (comment "Repeat last (or Nth previous) complete sumti"
             (seq "ri" (optional (seq "xi" number))))
    (comment "{zo'e} = the obvious value\n{zu'i} = the typical value\n{zi'o} = no value"
             "zo'e|zu'i|zi'o")
    (comment "{vo'a} = x1 of this bridi\n..."
             "vo'a|vo'e|vo'i|vo'o|vo'u")
    (comment "Sumti question"
             "ma")
    (comment "{ke'a} = placeholder sumti for relative clauses\n{ce'u} = placeholder sumti for abstraction focus"
             "ke'a|ce'u")
    (comment "Bound variables"
             "da|de|di")))

;; FIXME: soi... [se'u]?

(assignable
 . (choice
    "ko'a|ko'e|ko'i|ko'o|ko'u|fo'a|fo'e|fo'i|fo'o|fo'u"
    letteral))

(quotation
 . (choice
    (seq "lu" lojban "li'u")
    (seq "lo'u" invalid-lojban "le'u")
    (seq "zo" single-word)
    (seq "zoi" delimiter-word arbitrary-text delimiter-word)
    (seq "la'o" delimiter-word foreign-name delimiter-word)))

(qualifier
 . (choice
    (comment
     "{la'e} = the thing referred to (by name)\n{lu'e} = a name/title/reference of\n{tu'a} = some abstract involving\n{lu'a} = a member/part of\n{lu'i} = a set formed from\n{lu'o} = a mass formed from\n{vu'i} = a sequence formed from"
     "la'e|lu'e|tu'a|lu'a|lu'i|lu'o|vu'i")
    (comment
     "{na'ebo} = something other than\n{to'ebo} = the opposite of\n{no'ebo} = the neutral form of\n{je'abo} = that which indeed is"
     "na'ebo|to'ebo|no'ebo|je'abo")))

(relative
 . (choice relative-clause relative-phrase))

(relative-clause
 . (comment
    "Bridis within relative clauses can use {ke'a} to refer to the target\nIf there is no {ke'a}, x1 is assumed."
    (choice
     (comment "...which is defined as..."
              (seq "poi" bridi (elidable "ku'o")))
     (comment "...which I (subjectively) define as..."
              (seq "voi" bridi (elidable "ku'o")))
     (comment "...which, by the way, is..."
              (seq "noi" bridi (elidable "ku'o"))))))

(relative-phrase
 . (choice
    (comment "...also known as... (used to assign assignables)"
             (seq "goi" sumti (elidable "ge'u")))

    (comment "...which is associated with..."
             (seq "pe" sumti (elidable "ge'u")))
    (comment "...which (by the way) is associated with.."
             (seq "ne" sumti (elidable "ge'u")))

    (comment "...which is owned by..."
             (seq "po" sumti (elidable "ge'u")))
    (comment "...which is part of..."
             (seq "po'e" sumti (elidable "ge'u")))

    (comment "...which is..."
             (seq "po'u" sumti (elidable "ge'u")))
    (comment "...which (by the way) is..."
             (seq "no'u" sumti (elidable "ge'u")))
))


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
|



<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<








|
>
>
>

















<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

|
<
<
|
|
|
|
|
|
|
|
|

<
|
|
<
<
|
<
|
<
<
|
<
|
<
<
|
<
|
|
<
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66






































































































67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95






















96
97


98
99
100
101
102
103
104
105
106
107

108
109


110

111


112

113


114

115
116

(sumti
 . (choice
    (seq
     (optional (comment "Outer quantifier" number))
     (choice
      (comment "Description"
               (choice
                 ;; FIXME: Indefinite description? http://dag.github.ui/cll/6/8/
                (seq 
                 (comment
                  "These are known as gadri"
                  (choice
                   (comment "{le} = the thing(s) I describe as...\n{lei} = the mass of things I describe as ...\n{le'i} = the set of things I describe as ..." "le|lei|le'i")
                   (comment "{lo} = the thing(s) which are...\n{loi} = the mass of things which are ...\n{lo'i} = the set of things which are ..." "lo|loi|lo'i")
                   (comment "{lo'e} = the typical thing which is...\n{le'e} what I perceive as the typical thing which is..." "lo'e|le'e")))
                 (optional (comment "Inner quantifier" number))
                 (choice bridi sumti)
                 (elidable "ku"))))
      pro-sumti
      (seq (comment "{la} = the thing(s) named\n{lai} = the mass of things named\n{la'i} = the set of things named\nIn all caseds, the name refers to the members, not the mass/set;\nyou can use {la} to refer to a named set." "la|lai|la'i")
           (choice bridi cmene)
           (elidable "ku"))
      (seq "lu" valid-lojban-text "li'u")
      (seq "lo'u" invalid-lojban-text "le'u")
      (seq "zo" lojban-word)
      (seq "zoi" delimiter-word foreign-text delimiter-word)
      (seq "la'o" delimiter-word foreign-name delimiter-word)
      (comment "The number value"
               (seq "li" number (elidable "lo'o")))
      (comment "The numerical expression"
               (seq "me'o" number (elidable "lo'o")))
      (seq
       (choice
        (comment
         "{la'e} = the thing referred to (by name; {lu'e} = a name/title/reference of
{tu'a} = some abstract involving; {lu'a} = a member/part of
{lu'i} = a set formed from; {lu'o} = a mass formed from
{vu'i} = a sequence formed from; {na'ebo} = something other than
{to'ebo} = the opposite of; {no'ebo} = the neutral form of
{je'abo} = that which indeed is"
        "la'e|lu'e|tu'a|lu'a|lu'i|lu'o|vu'i|na'ebo|to'ebo|no'ebo|je'abo"))
      sumti (elidable "lu'u"))
    (optional (seq relative (zero-or-more (seq "zi'e" relative))))))
    (seq sumti
         (choice
          (comment "A {.a} B = A and/or B; A {.e} B = A and B; A {.o} B = A if and only if B; A {.u} B = A (whether or not B)
A {na.a} B = A, only if B; A {.anai} B = A, and/or (not B); A {na.anai} B = not (A and B); A {na.e} B = (not A), and B
A {.enai} B = A, and (not B); A {na.enai} B = neither A nor B; A {.onai} B = A (exclusive) or B; A {na.u} B = not A (whether or not B)
A {nase.u} B = B (whether or not A); A {se.unai} B = (not B) (whether or not A)"
                   ".a|.e|.o|.u|na.a|.anai|na.anai|na.e|.enai|na.enai|.onai|na.u|nase.u|se.unai")
          (comment "A {joi} B = A and B (as a mass); A {ce} B = A and B (as a set); A {ce'o} B = A then B (sequence)
A {sece'o} B = B then A (sequence); A {jo'u} B = A and B (jointly); A {fa'u} B = A and B (respectively)
A {sefa'u} B = B and A (respectively); A {jo'e} B = A union B (sets); A {ku'a} B = A intersect B (sets)
A {pi'u} B = A cross B (sets, makes set of pairs); A {sepi'u} B = B cross A (sets, makes set of pairs)"
                   "joi|ce|ce'o|sec'o|jo'u|fa'u|sefa'u|jo'e|ku'a|pi'u|sepi'u"))
         (elidable "bo") sumti)
    (seq
     (comment "{ga} A {gi} B = A and/or B; {ge} A {gi} B = A and B; {go} A {gi} B = A if and only if B; {gu} A {gi} B = A (whether or not B)
{naga} A {gi} B = A, only if B; {ganai} A {gi} B = A, and/or (not B); {naganai} A {gi} B = not (A and B); {nage} A {gi} B = (not A), and B
{genai} A {gi} B = A, and (not B); {nagenai} A {gi} B = neither A nor B; {gonai} A {gi} B = A (exclusive) or B; {nagu} A {gi} B = not A (whether or not B)
{nasegu} A {gi} B = B (whether or not A); {segunai} A {gi} B = (not B) (whether or not A)"
            "ga|ge|go|gu|naga|ganai|naganai|nage|genai|nagenai|gonai|nagu|nasegu|segunai")
     sumti "gi" sumti)
    (comment "Note: Outermost sumti may not use {ke}"
             (seq "ke" sumti "ke'e"))))







































































































(pro-sumti
 . (choice
    (comment "{mi} = the speaker\n{do} = the audience\n{mi'o} = the speaker and the audience\n{mi'a} = the speaker and others, but not the audience\n{ma'a} = the speaker, the audience, and others\n{do'o} = the audience and others\n{ko} = you (imperative)"
             "mi|do|mi'o|mi'a|ma'a|do'o|ko")
    (comment "{ti} = this\n{ta} = that\n{tu} = that (distant)"
             "ti|ta|tu")
    (comment "{da'u} = a much earlier utterance\n{de'u} = an earlier utterance\n{di'u} = the previous utterance\n{dei} = this utterance\n{di'e} = the next utterance\n{de'e} = a later utterance\n{da'e} = a much later utterance\n{do'i} = some utterance"
             "da'u|de'u|di'u|dei|di'e|de'e|da'e|do'i")
    (comment "Assignable pro-sumti (bind them with {goi})"
             (choice
              "ko'a|ko'e|ko'i|ko'o|ko'u|fo'a|fo'e|fo'i|fo'o|fo'u"
              letteral))
    (comment "{ra} = repeat some recent sumti\n{ru} = repeat some earlier sumti"
             "ra|ru")
    (comment "Repeat last (or Nth previous) complete sumti"
             (seq "ri" (optional (seq "xi" number))))
    (comment "{zo'e} = the obvious value\n{zu'i} = the typical value\n{zi'o} = no value"
             "zo'e|zu'i|zi'o")
    (comment "{vo'a} = x1 of this bridi\n..."
             "vo'a|vo'e|vo'i|vo'o|vo'u")
    (comment "Sumti question"
             "ma")
    (comment "{ke'a} = placeholder sumti for relative clauses\n{ce'u} = placeholder sumti for abstraction focus"
             "ke'a|ce'u")
    (comment "Bound variables"
             "da|de|di")))

;; FIXME: soi... [se'u]?























(relative
 . (choice 


    (comment
     "Bridis within relative clauses can use {ke'a} to refer to the target\nIf there is no {ke'a}, x1 is assumed."
     (choice
      (comment "...which is defined as..."
               (seq "poi" bridi (elidable "ku'o")))
      (comment "...which I (subjectively) define as..."
               (seq "voi" bridi (elidable "ku'o")))
      (comment "...which, by the way, is..."
               (seq "noi" bridi (elidable "ku'o")))))


    (comment
     "{goi} = ...also known as... (used to assign assignables)


{pe} = ...which is associated with...

{ne} = ...which (by the way) is associated with...


{po} = ...which is owned by...

{po'e} = ...which is part of...


{po'u} = ...which is...

{no'u} = ...which (by the way) is..."
     "goi|pe|ne|po|po'e|po'u|no'u")))

Changes to lojban-sumti.svg.

cannot compute difference between binary files

Changes to lojban-tenses.ruleset.

80
81
82
83
84
85
86
87
88
89
    (optional (seq
	       (comment "{ze'i} = briefly\n{ze'a} = medium\n{ze'u} = prolonged\n{ze'e} = forever" "ze'i|ze'a|ze'u|ze'e")
	       (comment "{pu} = interval extends to past\n{ca} = interval surrounds point\n{ba} = interval extends to future"(optional "pu|ca|ba"))))))

 (place
  . (seq
     (optional-choice modal FA)
     (choice
      pro-sumti
      sumti)))







<
<
|
80
81
82
83
84
85
86


87
    (optional (seq
	       (comment "{ze'i} = briefly\n{ze'a} = medium\n{ze'u} = prolonged\n{ze'e} = forever" "ze'i|ze'a|ze'u|ze'e")
	       (comment "{pu} = interval extends to past\n{ca} = interval surrounds point\n{ba} = interval extends to future"(optional "pu|ca|ba"))))))

 (place
  . (seq
     (optional-choice modal FA)


      sumti))

Changes to lojban-tenses.svg.

cannot compute difference between binary files