diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-09 09:21:57 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-09 09:21:57 +0200 |
| commit | 8d8e771af944796eba10cfa9568d284daaab93a1 (patch) | |
| tree | 96aab1466fa210a574dd4dd406a5270d88c229c3 /boot/parser.yy | |
| parent | cd3574320bf57b2eaad93ef6f58dee6c9d41cb19 (diff) | |
| download | elna-8d8e771af944796eba10cfa9568d284daaab93a1.tar.gz | |
Implement record extensions
Diffstat (limited to 'boot/parser.yy')
| -rw-r--r-- | boot/parser.yy | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/boot/parser.yy b/boot/parser.yy index b05b544..7797dd1 100644 --- a/boot/parser.yy +++ b/boot/parser.yy @@ -460,7 +460,11 @@ type_expression: } | "record" optional_fields "end" { - $$ = new boot::record_type_expression(boot::make_position(@1), std::move($2)); + $$ = new boot::record_type_expression(boot::make_position(@1), std::move($2), std::nullopt); + } + | "record" "(" IDENTIFIER ")" optional_fields "end" + { + $$ = new boot::record_type_expression(boot::make_position(@1), std::move($5), std::move($3)); } | "union" required_fields "end" { |
