@@ -135,11 +135,11 @@ typedef -> prodtypedef | sumtypedef | recordtypedef | opaquetypedef
135
135
A product type definition defines a new product type.
136
136
137
137
``` text
138
- prodtypedef -> 'prod' tyname { varname } '=' prod
139
- prod -> { tyexpr }
140
- tyexpr -> varname
141
- | longtyname
142
- | '(' prod ')'
138
+ prodtypedef -> 'prod' tyname { varname } '=' prod
139
+ prod -> { tyexpr }
140
+ tyexpr -> varname
141
+ | longtyname
142
+ | '(' prod ')'
143
143
```
144
144
145
145
Product type definitions instruct the code generator to generate a product type for the target language.
@@ -148,9 +148,9 @@ Product type definitions instruct the code generator to generate a product type
148
148
A sum type definition defines a new sum type.
149
149
150
150
``` text
151
- sumtypedef -> 'sum' tyname { varname } '=' sum
152
- sum -> sumconstructor { '|' sumconstructor }
153
- sumconstructor -> tyname prod
151
+ sumtypedef -> 'sum' tyname { varname } '=' sum
152
+ sum -> sumconstructor { '|' sumconstructor }
153
+ sumconstructor -> tyname prod
154
154
```
155
155
156
156
Sum type definitions instruct the code generator to generate a sum type for the target language.
@@ -159,9 +159,9 @@ Sum type definitions instruct the code generator to generate a sum type for the
159
159
A record type definition defines a new record type.
160
160
161
161
``` text
162
- recordtypedef -> 'record' tyname { varname } '=' record
163
- record -> '{' [ field { ',' field } ] '}'
164
- field -> fieldname ':' prod
162
+ recordtypedef -> 'record' tyname { varname } '=' record
163
+ record -> '{' [ field { ',' field } ] '}'
164
+ field -> fieldname ':' prod
165
165
````
166
166
167
167
Record type definitions instruct the code generator to generate a record type for the target language.
@@ -227,19 +227,19 @@ statement -> typedef
227
227
228
228
typedef -> prodtypedef | sumtypedef | recordtypedef | opaquetypedef
229
229
230
- prodtypedef -> 'prod' tyname { varname } '=' prod
231
- prod -> { tyexpr }
232
- tyexpr -> varname
233
- | longtyname
234
- | '(' prod ')'
230
+ prodtypedef -> 'prod' tyname { varname } '=' prod
231
+ prod -> { tyexpr }
232
+ tyexpr -> varname
233
+ | longtyname
234
+ | '(' prod ')'
235
235
236
- sumtypedef -> 'sum' tyname { varname } '=' sum
237
- sum -> sumconstructor { '|' sumconstructor }
238
- sumconstructor -> tyname prod
236
+ sumtypedef -> 'sum' tyname { varname } '=' sum
237
+ sum -> sumconstructor { '|' sumconstructor }
238
+ sumconstructor -> tyname prod
239
239
240
- recordtypedef -> 'record' tyname { varname } '=' record
241
- record -> '{' [ field { ',' field } ] '}'
242
- field -> fieldname ':' prod
240
+ recordtypedef -> 'record' tyname { varname } '=' record
241
+ record -> '{' [ field { ',' field } ] '}'
242
+ field -> fieldname ':' prod
243
243
244
244
opaquetypedef -> 'opaque' tyname { varname }
245
245
0 commit comments