aboutsummaryrefslogtreecommitdiff
path: root/syntax/def_LinkTitle.py
blob: beed13346f9e9eb76f4e71ddc59a0a384b9a6049 (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. Optional(NonTerminal("_"), True),
  11. NonTerminal("!'\"' PlainWords"),
  12. Optional(NonTerminal("_"), True),
  13. '"',
  14. ),
  15. Sequence(
  16. "'",
  17. Optional(NonTerminal("_"), True),
  18. NonTerminal("!\"'\" PlainWords"),
  19. Optional(NonTerminal("_"), True),
  20. "'",
  21. ),
  22. Sequence(
  23. "(",
  24. Optional(NonTerminal("_"), True),
  25. NonTerminal("![()] PlainWords"),
  26. Optional(NonTerminal("_"), True),
  27. ")",
  28. )
  29. ),
  30. type="complex"
  31. ).writeStandalone(
  32. open(splitext(basename(__file__))[0] + ".svg", "w").write)