typerec.syn 969 B

1234567891011121314151617181920212223242526272829
  1. \begin{diagram}{Record types}{recordtypes}
  2. \begin{mysyntdiag}
  3. \synt{record\ type} \begin{stack}\\ \lit*{packed} \end{stack} \lit*{record}
  4. \begin{stack}\\ \synt{field\ list} \end{stack} \lit*{end}
  5. \end{mysyntdiag}
  6. \begin{mysyntdiag}
  7. \synt{field\ list}
  8. \begin{stack}
  9. \synt{fixed\ fields} \\
  10. \begin{stack}\\ \synt{fixed\ fields} \lit*; \end{stack} \synt{variant\ part}
  11. \end{stack}
  12. \begin{stack}\\ \lit*; \end{stack}
  13. \end{mysyntdiag}
  14. \begin{mysyntdiag}
  15. \synt{fixed\ fields}
  16. \begin{rep}[b] \synt{identifier\ list} \lit*: \synt{type} \\ \lit*; \end{rep}
  17. \end{mysyntdiag}
  18. \begin{mysyntdiag}
  19. \synt{variant\ part}
  20. \lit*{case}
  21. \begin{stack}\\ \synt{identifier} \lit*: \end{stack}
  22. \synt{ordinal\ type\ identifier}
  23. \lit*{of} \begin{rep}[b] \synt{variant} \\ \lit*; \end{rep}
  24. \end{mysyntdiag}
  25. \begin{mysyntdiag}
  26. \synt{variant} \begin{rep}[b] \synt{constant} \lit*, \end{rep}
  27. \lit*: \lit*( \begin{stack}\\ \synt{field\ list} \end{stack} \lit*)
  28. \end{mysyntdiag}
  29. \end{diagram}