diff options
Diffstat (limited to 'def_Paragraph.py')
| -rwxr-xr-x | def_Paragraph.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/def_Paragraph.py b/def_Paragraph.py new file mode 100755 index 0000000..3513315 --- /dev/null +++ b/def_Paragraph.py @@ -0,0 +1,29 @@ +#!/usr/bin/python3 + +# Copyright 2025, Jonas Smedegaard <dr@jones.dk> +# SPDX-License-Identifier: GPL-3+ + +from os.path import basename, splitext +from railroad import * + +Diagram( + Start("complex"), + NonTerminal("Words"), + ZeroOrMore( + Choice(0, + Sequence( + Optional(NonTerminal("SPACE")), + NonTerminal("NEWLINE"), + NonTerminal("Words") + ), + Sequence( + NonTerminal("HardBreak"), + NonTerminal("Words") + ) + ) + ), + NonTerminal("NEWLINE"), + OneOrMore(NonTerminal("NEWLINE")), + End("complex") +).writeStandalone( + open(splitext(basename(__file__))[0] + ".svg", "w").write) |
