aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUndecidable Robot <undecidabot@gmail.com>2016-08-20 00:53:53 +0800
committerUndecidable Robot <undecidabot@gmail.com>2016-08-20 00:53:53 +0800
commit9e44cc113c772109e71cbac1a5fe02a8ec4ca3a2 (patch)
tree197a3ecd20f32a0787e6b42acb9f438541580776
parentbfc1b51c5f86a253f0177bbc2163b97767921d83 (diff)
downloadlpeglabel-relabel-recovery.tar.gz
lpeglabel-relabel-recovery.tar.bz2
lpeglabel-relabel-recovery.zip
Updating re grammar so only one label can be thrownrelabel-recovery
-rw-r--r--relabel.lua4
-rw-r--r--testrelabelparser.lua14
2 files changed, 7 insertions, 11 deletions
diff --git a/relabel.lua b/relabel.lua
index 9fc4b01..cda24d0 100644
--- a/relabel.lua
+++ b/relabel.lua
@@ -322,7 +322,9 @@ local exp = m.P{ "Exp",
322 labels["MisTerm1"], labels["MisTerm2"]) 322 labels["MisTerm1"], labels["MisTerm2"])
323 + m.Lc(Class, pointAtStart, labels["MisClose8"]) 323 + m.Lc(Class, pointAtStart, labels["MisClose8"])
324 + defined 324 + defined
325 + "%" * expect(m.V"Labels", "ExpNameOrLab") / mm.T 325 + "%" * expect(m.P"{", "ExpNameOrLab")
326 * expect(S * m.V"Label", "ExpLab1")
327 * expect(S * "}", "MisClose7") / mm.T
326 + "{:" * (name * ":" + m.Cc(nil)) * expect(m.V"Exp", "ExpPatt5") 328 + "{:" * (name * ":" + m.Cc(nil)) * expect(m.V"Exp", "ExpPatt5")
327 * expect(S * ":}", "MisClose2") 329 * expect(S * ":}", "MisClose2")
328 / function (n, p) return mm.Cg(p, n) end 330 / function (n, p) return mm.Cg(p, n) end
diff --git a/testrelabelparser.lua b/testrelabelparser.lua
index 1c5bb9f..af13baf 100644
--- a/testrelabelparser.lua
+++ b/testrelabelparser.lua
@@ -374,12 +374,6 @@ L1:C13: expected a label after the comma
374 ^ 374 ^
375]]) 375]])
376 376
377testerror([[%{ a,,b,,c }]], [[
378L1:C6: expected a label after the comma
379%{ a,,b,,c }
380 ^
381]])
382
383-- testing ExpNameOrLab 377-- testing ExpNameOrLab
384 378
385testerror([[% s]], [[ 379testerror([[% s]], [[
@@ -477,9 +471,9 @@ L1:C8: missing closing '>'
477-- testing MisClose7 471-- testing MisClose7
478 472
479testerror([['{' %{ a, b '}']], [[ 473testerror([['{' %{ a, b '}']], [[
480L1:C12: missing closing '}' 474L1:C9: missing closing '}'
481'{' %{ a, b '}' 475'{' %{ a, b '}'
482 ^ 476 ^
483]]) 477]])
484 478
485-- testing MisClose8 479-- testing MisClose8
@@ -647,9 +641,9 @@ L1:C14: expected at least one label after '{'
647L1:C26: expected a pattern after '!' 641L1:C26: expected a pattern after '!'
648 A <- 'A' /{'lab'} B / ! 642 A <- 'A' /{'lab'} B / !
649 ^ 643 ^
650L3:C15: missing closing '}' 644L3:C11: missing closing '}'
651 B <- %{1, 2 3} 'b' / '6' & / 'B' 645 B <- %{1, 2 3} 'b' / '6' & / 'B'
652 ^ 646 ^
653L3:C29: expected a pattern after '&' 647L3:C29: expected a pattern after '&'
654 B <- %{1, 2 3} 'b' / '6' & / 'B' 648 B <- %{1, 2 3} 'b' / '6' & / 'B'
655 ^ 649 ^