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