diff --git a/docs/grammar/README.md b/docs/grammar/README.md index 26032ade6b..063df6180e 100644 --- a/docs/grammar/README.md +++ b/docs/grammar/README.md @@ -1013,34 +1013,24 @@ An array type consists of an element type and an indication of dimensions. There is either a single dimension, or a tuple of one or more dimensions. -Each dimension is natural. +Each dimension is a natural. ```abnf -array-type = "[" type ";" array-type-dimensions "]" +array-type = "[" type ";" array-dimensions "]" ``` -Go to: _[array-type-dimensions](#user-content-array-type-dimensions), [type](#user-content-type)_; +Go to: _[array-dimensions](#user-content-array-dimensions), [type](#user-content-type)_; - + ```abnf -array-type-dimension = natural / "_" +array-dimensions = natural / "(" natural *( "," natural ) ")" ``` Go to: _[natural](#user-content-natural)_; - -```abnf -array-type-dimensions = array-type-dimension - / "(" array-type-dimension - *( "," array-type-dimension ) [","] ")" -``` - -Go to: _[array-type-dimension](#user-content-array-type-dimension)_; - - The keyword `Self` denotes the enclosing circuit type. It is only allowed inside a circuit type declaration. @@ -1214,19 +1204,10 @@ Go to: _[expression](#user-content-expression)_; ```abnf -array-repeat-construction = "[" expression ";" array-expression-dimensions "]" +array-repeat-construction = "[" expression ";" array-dimensions "]" ``` -Go to: _[array-expression-dimensions](#user-content-array-expression-dimensions), [expression](#user-content-expression)_; - - - -```abnf -array-expression-dimensions = natural - / "(" natural *( "," natural ) ")" -``` - -Go to: _[natural](#user-content-natural)_; +Go to: _[array-dimensions](#user-content-array-dimensions), [expression](#user-content-expression)_; diff --git a/docs/grammar/abnf-grammar.txt b/docs/grammar/abnf-grammar.txt index 0e75b5ef3d..057c4cb5d9 100644 --- a/docs/grammar/abnf-grammar.txt +++ b/docs/grammar/abnf-grammar.txt @@ -650,15 +650,11 @@ tuple-type = "(" [ type 1*( "," type ) ] ")" ; and an indication of dimensions. ; There is either a single dimension, ; or a tuple of one or more dimensions. -; Each dimension is natural. +; Each dimension is a natural. -array-type = "[" type ";" array-type-dimensions "]" +array-type = "[" type ";" array-dimensions "]" -array-type-dimension = natural / "_" - -array-type-dimensions = array-type-dimension - / "(" array-type-dimension - *( "," array-type-dimension ) [","] ")" +array-dimensions = natural / "(" natural *( "," natural ) ")" ; The keyword `Self` denotes the enclosing circuit type. ; It is only allowed inside a circuit type declaration. @@ -756,10 +752,7 @@ array-inline-construction = "[" array-inline-element = expression / "..." expression -array-repeat-construction = "[" expression ";" array-expression-dimensions "]" - -array-expression-dimensions = natural - / "(" natural *( "," natural ) ")" +array-repeat-construction = "[" expression ";" array-dimensions "]" array-construction = array-inline-construction / array-repeat-construction