aboutsummaryrefslogtreecommitdiff
path: root/def_Paragraph.py
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-05-17 18:36:55 +0200
committerJonas Smedegaard <dr@jones.dk>2025-05-17 18:36:55 +0200
commita2b58501f5b72739c07a3766b0f3fd56e3a38c51 (patch)
treed04fe4c6acf212284bf7f72802fb343eb5c75859 /def_Paragraph.py
parentf679b346089aa8a1f3c9956489b848bb10710ac9 (diff)
simplify Paragraph grammar
Diffstat (limited to 'def_Paragraph.py')
-rwxr-xr-xdef_Paragraph.py25
1 files changed, 12 insertions, 13 deletions
diff --git a/def_Paragraph.py b/def_Paragraph.py
index 3513315..55ec343 100755
--- a/def_Paragraph.py
+++ b/def_Paragraph.py
@@ -8,22 +8,21 @@ from railroad import *
Diagram(
Start("complex"),
- NonTerminal("Words"),
- ZeroOrMore(
- Choice(0,
- Sequence(
- Optional(NonTerminal("SPACE")),
- NonTerminal("NEWLINE"),
- NonTerminal("Words")
- ),
- Sequence(
+ Stack(
+ OneOrMore(Sequence(
+ NonTerminal("Words"),
+ Choice(0,
+ Sequence(
+ Optional(NonTerminal("SPACE")),
+ NonTerminal("NEWLINE"),
+ ),
NonTerminal("HardBreak"),
- NonTerminal("Words")
- )
+ ))
+ ),
+ OneOrMore(
+ NonTerminal("NEWLINE")
)
),
- NonTerminal("NEWLINE"),
- OneOrMore(NonTerminal("NEWLINE")),
End("complex")
).writeStandalone(
open(splitext(basename(__file__))[0] + ".svg", "w").write)