typeobj.syn 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. \begin{diagram}{object types}{objecttype}
  2. \begin{mysyntdiag}
  3. \[ \lit*{packed} \]
  4. \lit*{object}
  5. \[ heritage \]
  6. \[
  7. \begin{rep}[b]
  8. \synt{component\ list} \\
  9. \synt{object\ visibility\ specifier}
  10. \end{rep} \lit*{end}
  11. \]
  12. \end{mysyntdiag}
  13. \begin{mysyntdiag}
  14. \synt{heritage} \lit*( \synt{object\ type\ identifier} \lit* )
  15. \end{mysyntdiag}
  16. \begin{mysyntdiag}
  17. \synt{component\ list}
  18. \[ \<[b] \synt{field\ definition} \\ \> \]
  19. \[ \<[b] \synt{method\ definition} \\ \> \]
  20. \end{mysyntdiag}
  21. \begin{mysyntdiag}
  22. \synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
  23. \end{mysyntdiag}
  24. \begin{mysyntdiag}
  25. \synt{method\ definition}
  26. \(
  27. \synt{function\ header} \\
  28. \synt{procedure\ header} \\
  29. \synt{constructor\ header} \\
  30. \synt{desctuctor\ header}
  31. \)
  32. \lit*; \synt{method\ directives}
  33. \end{mysyntdiag}
  34. \begin{mysyntdiag}
  35. \synt{method\ directives}
  36. \[
  37. \lit*{virtual} \lit*;
  38. \]
  39. \[ \synt{call\ modifiers} \lit*; \]
  40. \[
  41. \lit*{abstract} \lit*;
  42. \]
  43. \end{mysyntdiag}
  44. \begin{mysyntdiag}
  45. \synt{object\ visibility\ specifier}
  46. \(
  47. \lit*{private} \\
  48. \lit*{public}
  49. \)
  50. \end{mysyntdiag}
  51. \end{diagram}