aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-05-18 13:53:00 +0200
committerJonas Smedegaard <dr@jones.dk>2025-05-18 14:05:03 +0200
commitb1ebaac5c08407ddd680041cae918b9341fea5be (patch)
treec586914a3799869afbde8cee60ed07736366a3bb
parent90d5b0125fb943eea852ab14ed7a8243c86d7d21 (diff)
fix replace Optional(...) with Choice(0, ... , Skip())
-rwxr-xr-xdef_Header.py14
-rwxr-xr-xdef_LinkDefinition.py13
-rwxr-xr-xdef_LinkLabel.py4
-rwxr-xr-xdef_LinkTitle.py12
-rwxr-xr-xdef_LinkedWords.py11
-rwxr-xr-xdef_List.py15
-rwxr-xr-xdef_Markdown.py10
-rwxr-xr-xdef_Paragraph.py9
-rwxr-xr-xdef_PlainWords.py9
-rwxr-xr-xdef__.py8
10 files changed, 68 insertions, 37 deletions
diff --git a/def_Header.py b/def_Header.py
index 3d5ca66..4408c62 100755
--- a/def_Header.py
+++ b/def_Header.py
@@ -9,8 +9,18 @@ from railroad import *
Diagram(
Start("complex"),
OneOrMore('#'),
- ZeroOrMore(NonTerminal("SPACE")),
- Optional(NonTerminal("!NEWLINE Words")),
+ Choice(0,
+ Sequence(
+ OneOrMore(NonTerminal("SPACE"))
+ ),
+ Skip()
+ ),
+ Choice(0,
+ Sequence(
+ NonTerminal("!NEWLINE Words")
+ ),
+ Skip()
+ ),
NonTerminal("NEWLINE"),
End("complex")
).writeStandalone(
diff --git a/def_LinkDefinition.py b/def_LinkDefinition.py
index a5cb2f2..60d19d4 100755
--- a/def_LinkDefinition.py
+++ b/def_LinkDefinition.py
@@ -10,12 +10,15 @@ Diagram(
Start("complex"),
NonTerminal("LinkLabel"),
":",
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
NonTerminal("Uri"),
- Optional(Sequence(
- NonTerminal("_"),
- NonTerminal("LinkTitle")
- )),
+ Choice(0,
+ Sequence(
+ NonTerminal("_"),
+ NonTerminal("LinkTitle")
+ ),
+ Skip()
+ ),
NonTerminal("NEWLINE"),
End("complex")
).writeStandalone(
diff --git a/def_LinkLabel.py b/def_LinkLabel.py
index 4001f7a..cefebce 100755
--- a/def_LinkLabel.py
+++ b/def_LinkLabel.py
@@ -9,9 +9,9 @@ from railroad import *
Diagram(
Start("complex"),
"[",
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
NonTerminal("![\\[\\]] PlainWords"),
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
"]",
End("complex")
).writeStandalone(
diff --git a/def_LinkTitle.py b/def_LinkTitle.py
index 02f39d6..7894593 100755
--- a/def_LinkTitle.py
+++ b/def_LinkTitle.py
@@ -11,23 +11,23 @@ Diagram(
Choice(0,
Sequence(
'"',
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
NonTerminal("!'\"' PlainWords"),
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
'"',
),
Sequence(
"'",
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
NonTerminal("!\"'\" PlainWords"),
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
"'",
),
Sequence(
"(",
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
NonTerminal("![()] PlainWords"),
- Optional(NonTerminal("_")),
+ Choice(0, (NonTerminal("_")), Skip()),
")",
)
),
diff --git a/def_LinkedWords.py b/def_LinkedWords.py
index 83ba83c..262e699 100755
--- a/def_LinkedWords.py
+++ b/def_LinkedWords.py
@@ -16,10 +16,13 @@ Diagram(
"(",
Choice(0,
Sequence(
- Optional(Sequence(
- NonTerminal("Uri"),
- NonTerminal("_")
- )),
+ Choice(0,
+ Sequence(
+ NonTerminal("Uri"),
+ NonTerminal("_")
+ ),
+ Skip()
+ ),
NonTerminal("LinkTitle")
),
NonTerminal("Uri"),
diff --git a/def_List.py b/def_List.py
index 43503e7..dc887b2 100755
--- a/def_List.py
+++ b/def_List.py
@@ -15,12 +15,15 @@ Diagram(
"[).]",
)
),
- Optional(
- NonTerminal("_"),
- Choice(0,
- NonTerminal("List"),
- NonTerminal("Words")
- )
+ Choice(0,
+ Sequence(
+ NonTerminal("_"),
+ Choice(0,
+ NonTerminal("List"),
+ NonTerminal("Words")
+ )
+ ),
+ Skip()
),
NonTerminal("NEWLINE"),
End("complex")
diff --git a/def_Markdown.py b/def_Markdown.py
index ce66425..23739b6 100755
--- a/def_Markdown.py
+++ b/def_Markdown.py
@@ -7,7 +7,13 @@ from os.path import basename, splitext
from railroad import *
Diagram(
- ZeroOrMore(NonTerminal("MetaBlock")),
- ZeroOrMore(NonTerminal("Block"))
+ Choice(0,
+ OneOrMore(NonTerminal("MetaBlock")),
+ Skip()
+ ),
+ Choice(0,
+ OneOrMore(NonTerminal("Block")),
+ Skip()
+ )
).writeStandalone(
open(splitext(basename(__file__))[0] + ".svg", "w").write)
diff --git a/def_Paragraph.py b/def_Paragraph.py
index 90a7816..d5bd00e 100755
--- a/def_Paragraph.py
+++ b/def_Paragraph.py
@@ -9,9 +9,12 @@ from railroad import *
Diagram(
Start("complex"),
NonTerminal("Words"),
- ZeroOrMore(
- NonTerminal("HardBreak"),
- NonTerminal("Words")
+ Choice(0,
+ OneOrMore(
+ NonTerminal("HardBreak"),
+ NonTerminal("Words")
+ ),
+ Skip()
),
OneOrMore(
NonTerminal("NEWLINE")
diff --git a/def_PlainWords.py b/def_PlainWords.py
index 098c3d6..ebbe38b 100755
--- a/def_PlainWords.py
+++ b/def_PlainWords.py
@@ -9,9 +9,12 @@ from railroad import *
Diagram(
Start("complex"),
NonTerminal("PRINTABLES"),
- ZeroOrMore(
- NonTerminal("_"),
- NonTerminal("PRINTABLES")
+ Choice(0,
+ OneOrMore(
+ NonTerminal("_"),
+ NonTerminal("PRINTABLES")
+ ),
+ Skip()
),
End("complex")
).writeStandalone(
diff --git a/def__.py b/def__.py
index 806b970..e687659 100755
--- a/def__.py
+++ b/def__.py
@@ -13,11 +13,11 @@ Diagram(
OneOrMore(NonTerminal("SPACE")),
),
Sequence(
- Optional(NonTerminal("SPACE")),
+ Choice(0, (NonTerminal("SPACE")), Skip()),
NonTerminal("NEWLINE"),
- Optional(NonTerminal("SPACE")),
- Optional(NonTerminal("SPACE")),
- Optional(NonTerminal("SPACE"))
+ Choice(0, (NonTerminal("SPACE")), Skip()),
+ Choice(0, (NonTerminal("SPACE")), Skip()),
+ Choice(0, (NonTerminal("SPACE")), Skip())
)
),
End("complex")