aboutsummaryrefslogtreecommitdiff
path: root/syntax/LinkedWords.py
blob: 7c564d5aabe924105bca123d9a782c0f4c4f8d20 (plain)
  1. #!/usr/bin/python3
  2. # Copyright 2025, Jonas Smedegaard <dr@jones.dk>
  3. # SPDX-License-Identifier: GPL-3+
  4. from railroad import *
  5. Diagram(
  6. Choice(0,
  7. Sequence(
  8. "[",
  9. NonTerminal("Words"),
  10. "]",
  11. Choice(0,
  12. Sequence(
  13. "(",
  14. Choice(0,
  15. Sequence(
  16. NonTerminal("Uri"),
  17. NonTerminal("_"),
  18. NonTerminal("LinkTitle")
  19. ),
  20. NonTerminal("Uri"),
  21. NonTerminal("LinkTitle")
  22. ),
  23. ")"
  24. ),
  25. NonTerminal("LinkLabel")
  26. )
  27. ),
  28. Sequence(
  29. NonTerminal("LinkLabel")
  30. )
  31. ),
  32. type="complex"
  33. ).writeStandalone(sys.stdout.write)