diff options
| author | Jonas Smedegaard <dr@jones.dk> | 2025-05-17 18:36:55 +0200 |
|---|---|---|
| committer | Jonas Smedegaard <dr@jones.dk> | 2025-05-17 18:36:55 +0200 |
| commit | a2b58501f5b72739c07a3766b0f3fd56e3a38c51 (patch) | |
| tree | d04fe4c6acf212284bf7f72802fb343eb5c75859 /def_Paragraph.py | |
| parent | f679b346089aa8a1f3c9956489b848bb10710ac9 (diff) | |
simplify Paragraph grammar
Diffstat (limited to 'def_Paragraph.py')
| -rwxr-xr-x | def_Paragraph.py | 25 |
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) |
