aboutsummaryrefslogtreecommitdiff
path: root/def_Paragraph.py
blob: 55ec3432cabc875b1e784601fcf2ceabf6d75e55 (plain)
  1. #!/usr/bin/python3
  2. # Copyright 2025, Jonas Smedegaard <dr@jones.dk>
  3. # SPDX-License-Identifier: GPL-3+
  4. from os.path import basename, splitext
  5. from railroad import *
  6. Diagram(
  7. Start("complex"),
  8. Stack(
  9. OneOrMore(Sequence(
  10. NonTerminal("Words"),
  11. Choice(0,
  12. Sequence(
  13. Optional(NonTerminal("SPACE")),
  14. NonTerminal("NEWLINE"),
  15. ),
  16. NonTerminal("HardBreak"),
  17. ))
  18. ),
  19. OneOrMore(
  20. NonTerminal("NEWLINE")
  21. )
  22. ),
  23. End("complex")
  24. ).writeStandalone(
  25. open(splitext(basename(__file__))[0] + ".svg", "w").write)