aboutsummaryrefslogtreecommitdiff
path: root/def_LinkedWords.py
blob: 1bd59ec11c0f75fd8f2e0841db9d29fb2197978d (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. Sequence(
  10. "[",
  11. NonTerminal("Words"),
  12. "]",
  13. Choice(0,
  14. Sequence(
  15. "(",
  16. Choice(0,
  17. Sequence(
  18. NonTerminal("Uri"),
  19. NonTerminal("_"),
  20. NonTerminal("LinkTitle")
  21. ),
  22. NonTerminal("Uri"),
  23. NonTerminal("LinkTitle")
  24. ),
  25. ")"
  26. ),
  27. NonTerminal("LinkLabel")
  28. )
  29. ),
  30. Sequence(
  31. NonTerminal("LinkLabel")
  32. )
  33. ),
  34. End("complex")
  35. ).writeStandalone(
  36. open(splitext(basename(__file__))[0] + ".svg", "w").write)