block.syn 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. \begin{diagram}{Blocks}{blocks}
  2. \begin{mysyntdiag}
  3. \synt{block} \synt{declaration\ part} \synt{statement\ part}
  4. \end{mysyntdiag}
  5. \begin{mysyntdiag}
  6. \synt{declaration\ part}
  7. \<[b]
  8. \[
  9. \synt{label\ declaration\ part}\\
  10. \synt{constant\ declaration\ part}\\
  11. \synt{resourcestring\ declaration\ part}\\
  12. \synt{type\ declaration\ part}\\
  13. \synt{variable\ declaration\ part}\\
  14. \synt{procedure/function\ declaration\ part}
  15. \]
  16. \>
  17. \end{mysyntdiag}
  18. \begin{mysyntdiag}
  19. \synt{label\ declaration\ part}
  20. \lit*{label}
  21. \<[b]
  22. \synt{label}\\
  23. \lit* ,
  24. \>
  25. \lit* ;
  26. \end{mysyntdiag}
  27. \begin{mysyntdiag}
  28. \synt{constant\ declaration\ part}
  29. \lit*{const}
  30. \<[b]
  31. \(
  32. \synt{constant\ declaration}\\
  33. \synt{typed\ constant\ declaration}
  34. \)
  35. \>
  36. \end{mysyntdiag}
  37. \begin{mysyntdiag}
  38. \synt{resourcestring\ declaration\ part}
  39. \lit*{resourcestring}
  40. \<[b]
  41. \synt{string\ constant\ declaration}\\
  42. \>
  43. \end{mysyntdiag}
  44. \begin{mysyntdiag}
  45. \synt{type\ declaration\ part}
  46. \lit*{type}
  47. \<[b]
  48. \synt{type\ declaration}\\
  49. \>
  50. \end{mysyntdiag}
  51. \begin{mysyntdiag}
  52. \synt{variable\ declaration\ part}
  53. \lit*{var}
  54. \<[b]
  55. \synt{variable\ declaration}\\
  56. \>
  57. \end{mysyntdiag}
  58. \begin{mysyntdiag}
  59. \synt{procedure/function\ declaration\ part}
  60. \<[b]
  61. \(
  62. \synt{procedure\ declaration}\\
  63. \synt{function\ declaration}\\
  64. \synt{constructor\ declaration}\\
  65. \synt{destructor\ declaration}\\
  66. \)
  67. \>
  68. \end{mysyntdiag}
  69. \begin{mysyntdiag}
  70. \synt{statement\ part}
  71. \synt{compound\ statement}
  72. \end{mysyntdiag}
  73. \end{diagram}