diff options
Diffstat (limited to 'relabel.lua')
-rw-r--r-- | relabel.lua | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/relabel.lua b/relabel.lua index 170cb66..b0a6efc 100644 --- a/relabel.lua +++ b/relabel.lua | |||
@@ -260,18 +260,28 @@ end | |||
260 | 260 | ||
261 | local labelset1 = labify { | 261 | local labelset1 = labify { |
262 | "ExpPatt2", "ExpPatt3", | 262 | "ExpPatt2", "ExpPatt3", |
263 | "ExpNum", "ExpCap", "ExpName1", | 263 | "ExpPatt4", "ExpPatt5", "ExpPatt6", "ExpPatt7", |
264 | "ExpPatt8", "ExpPattOrClose", | ||
265 | "ExpNum", "ExpCap", | ||
266 | "ExpName1", "ExpName2", "ExpName3", | ||
267 | "ExpNameOrLab", "ExpItem", | ||
268 | "MisClose6" | ||
264 | } | 269 | } |
265 | 270 | ||
266 | local labelset2 = labify { | 271 | local labelset2 = labify { |
267 | "MisClose1", "MisClose2", "MisClose3", "MisClose4", "MisClose5", "MisClose7" | 272 | "MisClose1", "MisClose2", "MisClose3", "MisClose4", "MisClose5" |
273 | } | ||
274 | |||
275 | local labelset3 = labify { | ||
276 | "ExpPatt1", "ExpLab1", "ExpLab2", "MisClose7" | ||
268 | } | 277 | } |
269 | 278 | ||
270 | local exp = m.P{ "Exp", | 279 | local exp = m.P{ "Exp", |
271 | Exp = S * ( m.V"Grammar" | 280 | Exp = S * ( m.V"Grammar" |
272 | + (m.V"SeqLC" * (S * "/" * (m.Ct(m.V"Labels") + m.Cc(nil)) | 281 | + (m.V"SeqLC" * (S * "/" * m.Lc((m.Ct(m.V"Labels") + m.Cc(nil)) |
273 | * m.Lc(expect(S * m.V"SeqLC", "ExpPatt1"), | 282 | * expect(S * m.V"SeqLC", "ExpPatt1"), |
274 | m.V"SkipToSlash", labels["ExpPatt1"]) | 283 | m.Cc(nil) * m.V"SkipToSlash", |
284 | unpack(labelset3)) | ||
275 | )^0 | 285 | )^0 |
276 | ) / labchoice); | 286 | ) / labchoice); |
277 | Labels = m.P"{" * expect(S * m.V"Label", "ExpLab1") | 287 | Labels = m.P"{" * expect(S * m.V"Label", "ExpLab1") |