From a2b58501f5b72739c07a3766b0f3fd56e3a38c51 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sat, 17 May 2025 18:36:55 +0200 Subject: simplify Paragraph grammar --- def_Paragraph.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'def_Paragraph.py') 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) -- cgit v1.2.3