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