diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-08 11:04:34 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-08 11:04:34 +0200 |
| commit | ffe6097c534c82b9402bb6f0a57abeebd075e61d (patch) | |
| tree | 9079255db89007046fe1446d27009df8585a154e /doc/appendix.tex | |
| parent | 79521d91b2bb85652fd29f5c44279338d55c757f (diff) | |
| download | elna-ffe6097c534c82b9402bb6f0a57abeebd075e61d.tar.gz | |
Allow multiple fields with the same type
Diffstat (limited to 'doc/appendix.tex')
| -rw-r--r-- | doc/appendix.tex | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/doc/appendix.tex b/doc/appendix.tex index d06a49b..e98da0c 100644 --- a/doc/appendix.tex +++ b/doc/appendix.tex @@ -91,15 +91,17 @@ <expressions> = <expression> \{`,' <expression>\}. +<identifiers> = <identifier> \{`,' <identifier>\}. + <identifier-definitions> = <identifier-definition> \{`,' <identifier-definition>\}. <types> = <type> \{`,' <type>\}. <statements> = <statement> \{`;' <statement>\}. -<return-declaration> = [`->' `!\@' | `->' type]. +<return-declaration> = [`:\@' `!\@' | `:\@' type]. -<field> = <identifier> `:\@' <type>. +<field> = <identifiers> `:\@' <type>. <array-type> = `[' <expression> `]' <type>. @@ -107,9 +109,9 @@ <record-type> = `record' [`(' <identifier> `)'] [<field> \{`;' <field>\}] `end'. -<enumeration-type> = `(' <identifier> \{`,' <identifier>\} `)'. +<enumeration-type> = `(' <identifiers> `)'. -<procedure-type> = `proc' `(' [<types>] `)' <return-declaration>. +<procedure-type> = `proc' <procedure-heading>. <type> = <array-type> \alt{} <pointer-type> @@ -161,12 +163,14 @@ <import-part> = [`import' \{import-declaration\}]. -<procedure-heading> = `proc' <identifier-definition> \\ - `(' [<field> \{`,' <field>\}] `)' <return-declaration>. +<parameter> = <identifiers> `:\@' <type>. + +<procedure-heading> = `(' [<parameter> \{`;' <parameter>\}] `)' <return-declaration>. -<block> = <constant-part> <variable-part> <statement-part> `end'. +<procedure-body> = <constant-part> <variable-part> <statement-part> `end'. -<procedure-declaration> = <procedure-heading> `;' (block | `extern'). +<procedure-declaration> = `proc' <identifier-definition> <procedure-heading> \\ + (<procedure-body> | `extern'). <program> = <import-part> <constant-part> <type-part> <variable-part> |
