aboutsummaryrefslogtreecommitdiff
path: root/def_List.py
blob: dc887b2da0f6630de25b3f7255a453a0ea9203f0 (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. Choice(0,
  16. Sequence(
  17. NonTerminal("_"),
  18. Choice(0,
  19. NonTerminal("List"),
  20. NonTerminal("Words")
  21. )
  22. ),
  23. Skip()
  24. ),
  25. NonTerminal("NEWLINE"),
  26. End("complex")
  27. ).writeStandalone(
  28. open(splitext(basename(__file__))[0] + ".svg", "w").write)