From d7c27f1c6328198d0513d94bfd6462ad8ac7d2d5 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 12 Feb 2026 21:17:32 +0100 Subject: Split documentation chapters into files --- doc/appendix.tex | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 doc/appendix.tex (limited to 'doc/appendix.tex') diff --git a/doc/appendix.tex b/doc/appendix.tex new file mode 100644 index 0000000..9d92d53 --- /dev/null +++ b/doc/appendix.tex @@ -0,0 +1,178 @@ +\part{Appendix} + +\addchap{Syntax} + +\begin{grammar} + = `A' | `B' | … | `Z' | `a' | `b' | … | `z' | `\_'. + + = `1' | `2' | `3' | `4' | `5' | `6' | `7' | `8' | `9'. + + = `0' | . + + = | `A' | `B' | … | `F' | `a' | `b' | … | `f'. + + = `0' | `1'. + + = `\\x' . + + = `\\' \\ + (`n' | `a' | `b' | `t' | `f' | `r' | `v' | `\\' | `\textquotesingle' | `\textquotedbl' | `?\@' | `0'). + + = \enspace? a printable ASCII character\space?. + + = | | . + + = \{ | \}. + + = [`*']. + + = `#' . + + = `0' | \{\}. + + = `u' + \alt{} `0' (`X' | `x') \{\} + \alt{} `0' (`B' | `b') \{\}. + + = `.\@' \{\} + \alt{} \} `e' [`+' | `-'] \{\}. + + = `\textquotedbl' \{\} `\textquotedbl'. + + = `\textquotesingle' `\textquotesingle'. + + = | | + \alt{} | + \alt{} `true' | `false' | `nil'. + + = `(' [] `)'. + + = `cast' `(' `:\@' `)'. + + = `(' [] `)'. + + = `=' | `<>' | `<' | `>' | `<=' | `>='. + + = `*' | `/' | `\%'. + + = `+' | `-'. + + = `<<' | `>>'. + + = `@' | `~' | `-'. + + = `[' `]' | `.\@' | `^'. + + = `:\@' . + + = | . + + = + \alt{} + \alt{} + \alt{} + \alt{} + \alt{} `(' `)'. + + = | . + + = \{ \}. + + = \{ \}. + + = \{ \}. + + = \{ \}. + + = \{`&' \}. + + = \{(`or' | `xor') \}. + + = \{`,' \}. + + = \{`,' \}. + + = \{`,' \}. + + = \{`;' \}. + + = []. + + = [`->' `!\@' | `->' type]. + + = `:\@' . + + = `[' `]' . + + = `^' . + + = `record' [`(' `)'] [ \{`;' \}] `end'. + + = `(' \{`,' \} `)'. + + = `proc' `(' [] `)' . + + = + \alt{} + \alt{} + \alt{} + \alt{} + \alt{} . + + = `:=' . + + = `if' `then' \\ + \{`elsif' `then' \} \\ + {[`else' ]} `end'. + + = `while' `do' \\ + \{`elsif' `do' \} `end'. + + = `defer' `end'. + + = `case' `of' \{`|' case\} \\ + {[`else' ]} `end'. + + = `.\@' . + + = `goto' . + + = | | + | | | + | | | . + + = [`begin' + \alt{} `return' + \alt{} `begin' `;' `return' ]. + + = `:=' . + + = [`const' \{ `;'\}]. + + = `:\@' \\ + {[`:=' ( | `extern')]}. + + = [`var' \{ `;'\}]. + + = `=' . + + = [`type' \{ `;'\}]. + + = \{`.\@' \}. + + = [`import' \{import-declaration `;'\}]. + + = `proc' \\ + `(' [ \{`,' \}] `)' . + + = `end'. + + = `;' (block | `extern'). + + = \\ + \\ + \{ `;'\}. + + = `program' `;' `end' `.\@' + \alt{} `module' `;' `end' `.\@'. +\end{grammar} -- cgit v1.2.3