aboutsummaryrefslogtreecommitdiff
path: root/def_List.py
blob: f5e8058eab5bd159ca78db4e842afd40b9ccb959 (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. Choice(0,
  9. "[-*]",
  10. Sequence(
  11. "[[:digit:]]+",
  12. "[).]",
  13. )
  14. ),
  15. Optional(
  16. OneOrMore(NonTerminal("SPACE")),
  17. Choice(0,
  18. NonTerminal("List"),
  19. NonTerminal("Words")
  20. )
  21. ),
  22. NonTerminal("NEWLINE"),
  23. End("complex")
  24. ).writeStandalone(
  25. open(splitext(basename(__file__))[0] + ".svg", "w").write)