2
0

typeclas.syn 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. \begin{diagram}{Class types}{classtype}
  2. \begin{mysyntdiag}
  3. \begin{stack}\\ \lit*{packed} \end{stack}
  4. \lit*{class}
  5. \begin{stack}\\ heritage \end{stack}
  6. \begin{stack}\\
  7. \begin{rep}[b]
  8. \synt{component\ list} \\
  9. \synt{class\ visibility\ specifier}
  10. \end{rep}
  11. \end{stack}
  12. \lit*{end}
  13. \end{mysyntdiag}
  14. \begin{mysyntdiag}
  15. \synt{heritage} \lit*( \synt{class\ type\ identifier} \lit* )
  16. \end{mysyntdiag}
  17. \begin{mysyntdiag}
  18. \synt{component\ list}
  19. \begin{stack}\\ \begin{rep}[b] \synt{field\ definition} \\ \end{rep} \end{stack}
  20. \begin{stack}\\
  21. \begin{rep}[b]
  22. \begin{stack}
  23. \synt{method\ definition} \\
  24. \synt{property\ definition}
  25. \end{stack} \\
  26. \end{rep}
  27. \end{stack}
  28. \end{mysyntdiag}
  29. \begin{mysyntdiag}
  30. \synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
  31. \end{mysyntdiag}
  32. \begin{mysyntdiag}
  33. \synt{method\ definition}
  34. \begin{stack}
  35. \begin{stack}\\
  36. \lit*{class}
  37. \end{stack}
  38. \begin{stack}
  39. \synt{function\ header} \\
  40. \synt{procedure\ header}
  41. \end{stack} \\
  42. \synt{constructor\ header} \\
  43. \synt{desctuctor\ header}
  44. \end{stack}
  45. \lit*;
  46. \begin{stack}\\
  47. \begin{stack} \lit*{virtual} \begin{stack}\\ \lit*; \lit*{abstract} \end{stack} \\
  48. \lit*{override} \\
  49. \lit*{message}
  50. \begin{stack} \synt{integer\ constant} \\
  51. \synt{string\ constant} \end{stack}
  52. \end{stack}
  53. \lit*;
  54. \end{stack}
  55. \begin{stack}\\ \synt{call\ modifiers} \lit*; \end{stack}
  56. \end{mysyntdiag}
  57. \begin{mysyntdiag}
  58. \synt{class\ visibility\ specifier}
  59. \begin{stack}
  60. \lit*{private}\\
  61. \lit*{protected}\\
  62. \lit*{public}\\
  63. \lit*{published}
  64. \end{stack}
  65. \end{mysyntdiag}
  66. \end{diagram}