block.syn 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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{type\ declaration\ part}\\
  12. \synt{variable\ declaration\ part}\\
  13. \synt{procedure/function\ declaration\ part}
  14. \]
  15. \>
  16. \end{mysyntdiag}
  17. \begin{mysyntdiag}
  18. \synt{label\ declaration\ part}
  19. \lit*{label}
  20. \<[b]
  21. \synt{label}\\
  22. \lit* ,
  23. \>
  24. \lit* ;
  25. \end{mysyntdiag}
  26. \begin{mysyntdiag}
  27. \synt{constant\ declaration\ part}
  28. \lit*{const}
  29. \<[b]
  30. \(
  31. \synt{constant\ declaration}\\
  32. \synt{typed\ constant\ declaration}
  33. \)
  34. \>
  35. \end{mysyntdiag}
  36. \begin{mysyntdiag}
  37. \synt{type\ declaration\ part}
  38. \lit*{type}
  39. \<[b]
  40. \synt{type\ declaration}\\
  41. \>
  42. \end{mysyntdiag}
  43. \begin{mysyntdiag}
  44. \synt{variable\ declaration\ part}
  45. \lit*{var}
  46. \<[b]
  47. \synt{variable\ declaration}\\
  48. \>
  49. \end{mysyntdiag}
  50. \begin{mysyntdiag}
  51. \synt{procedure/function\ declaration\ part}
  52. \<[b]
  53. \(
  54. \synt{procedure\ declaration}\\
  55. \synt{function\ declaration}\\
  56. \synt{constructor\ declaration}\\
  57. \synt{destructor\ declaration}\\
  58. \)
  59. \>
  60. \end{mysyntdiag}
  61. \begin{mysyntdiag}
  62. \synt{statement\ part}
  63. \synt{compound\ statement}
  64. \end{mysyntdiag}
  65. \end{diagram}