From 265e6d6a27eebbcafbd73f0da76e516a139f21d1 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 4 Jul 2026 22:29:49 +0200 Subject: Allow empty statements --- doc/appendix.tex | 46 +++++++++++++++++++++------------------------- doc/language.tex | 4 ++-- 2 files changed, 23 insertions(+), 27 deletions(-) (limited to 'doc') diff --git a/doc/appendix.tex b/doc/appendix.tex index 09bdbde..d06a49b 100644 --- a/doc/appendix.tex +++ b/doc/appendix.tex @@ -64,7 +64,7 @@ = `[' `]' | `.\@' | `^'. - = `:\@' . + = `:\@' . = | . @@ -95,9 +95,7 @@ = \{`,' \}. - = \{`;' \}. - - = []. + = \{`;' \}. = [`->' `!\@' | `->' type]. @@ -122,46 +120,46 @@ = `:=' . - = `if' `then' \\ - \{`elsif' `then' \} \\ - {[`else' ]} `end'. + = `if' `then' \\ + \{`elsif' `then' \} \\ + {[`else' ]} `end'. - = `while' `do' \\ - \{`elsif' `do' \} `end'. + = `while' `do' \\ + \{`elsif' `do' \} `end'. - = `defer' `end'. + = `defer' `end'. = `case' `of' \{`|' case\} \\ - {[`else' ]} `end'. + {[`else' ]} `end'. = `.\@' . = `goto' . = | | - | | | - | | | . + | | | + | | | $\varepsilon{}$. - = [`begin' + = [`begin' \alt{} `return' - \alt{} `begin' `;' `return' ]. + \alt{} `begin' `;' `return' ]. = `:=' . - = [`const' \{ `;'\}]. + = [`const' \{\}]. = `:\@' \\ {[`:=' ( | `extern')]}. - = [`var' \{ `;'\}]. + = [`var' \{\}]. = `=' . - = [`type' \{ `;'\}]. + = [`type' \{\}]. = \{`.\@' \}. - = [`import' \{import-declaration `;'\}]. + = [`import' \{import-declaration\}]. = `proc' \\ `(' [ \{`,' \}] `)' . @@ -170,10 +168,8 @@ = `;' (block | `extern'). - = \\ - \\ - \{ `;'\}. - - = `program' `;' `end' `.\@' - \alt{} `module' `;' `end' `.\@'. + = + + \{\} + `end' `.\@'. \end{grammar} diff --git a/doc/language.tex b/doc/language.tex index 36ee877..26d8b48 100644 --- a/doc/language.tex +++ b/doc/language.tex @@ -506,8 +506,8 @@ relations $=$ and $<>$ apply to all types. \begin{grammar} = | | - | | | - | | | . + | | | + | | | $\varepsilon{}$. \end{grammar} Statements denote actions. There are elementary and structured statements. -- cgit v1.2.3