aboutsummaryrefslogtreecommitdiff
path: root/relabel.lua
diff options
context:
space:
mode:
Diffstat (limited to 'relabel.lua')
-rw-r--r--relabel.lua20
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
261local labelset1 = labify { 261local 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
266local labelset2 = labify { 271local labelset2 = labify {
267 "MisClose1", "MisClose2", "MisClose3", "MisClose4", "MisClose5", "MisClose7" 272 "MisClose1", "MisClose2", "MisClose3", "MisClose4", "MisClose5"
273}
274
275local labelset3 = labify {
276 "ExpPatt1", "ExpLab1", "ExpLab2", "MisClose7"
268} 277}
269 278
270local exp = m.P{ "Exp", 279local 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")