4 Parenthetical C
For now, this library only provides a few convenience forms for constructing AST nodes.
Eventually I intend to create a “Parenthetical C” language with an S-Expression-based
alternative syntax for the whole of C.
|
| (struct tag-id) | | (struct tag-id (struct-field ...)) | | (struct (struct-field ...)) | | | | struct-field | | = | | [type field-id] | | | | | | | field-id |
|
|
| (union tag-id) | | (union tag-id (union-variant ...)) | | (union (union-variant ...)) | | | | union-variant | | = | | [type variant-id] | | | | | | | variant-id |
|
|
| (enum tag-id) | | (enum tag-id (enum-variant ...)) | | (enum (enum-variant ...)) | | | | enum-variant | | = | | [variant-id expr] | | | | | | | variant-id |
|
|