summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-02-20 12:57:04 -0800
committerQuentin Carbonneaux <quentin@c9x.me>2019-02-21 09:36:35 +0100
commitcf9f2e8ef7e775bcedf74b70a3dd35962484f1f1 (patch)
tree3eab8ac1f52f55117baacb35f827b60f5372456b
parent44fbc6023793b2f7dd7af42a94a8e5c5a515537d (diff)
downloadroux-cf9f2e8ef7e775bcedf74b70a3dd35962484f1f1.tar.gz
doc: Aggregate types can be nested
-rw-r--r--doc/il.txt7
1 files changed, 4 insertions, 3 deletions
diff --git a/doc/il.txt b/doc/il.txt
index edc5557..a496759 100644
--- a/doc/il.txt
+++ b/doc/il.txt
@@ -215,16 +215,17 @@ using the `export` keyword.
         # Regular type
         'type' :IDENT '=' ['align' NUMBER]
         '{'
-            ( EXTTY [NUMBER] ),
+            ( SUBTY [NUMBER] ),
         '}'
       | # Opaque type
         'type' :IDENT '=' 'align' NUMBER '{' NUMBER '}'
 
+    SUBTY := EXTTY | :IDENT
+
 Aggregate type definitions start with the `type` keyword.
 They have file scope, but types must be defined before being
 referenced.  The inner structure of a type is expressed by a
-comma-separated list of <@ Simple Types> enclosed in curly
-braces.
+comma-separated list of types enclosed in curly braces.
 
     type :fourfloats = { s, s, d, d }