From c30df925ef48d079aeab7df47e6ae6fc0a4dd3d6 Mon Sep 17 00:00:00 2001 From: Alessandro Coglio Date: Fri, 4 Mar 2022 19:42:42 -0800 Subject: [PATCH] [ABNF] Adapt ABNF to removal of unsized arrays. This "merges" the two previous slightly different notions of array type dimensions and array expression dimension(s) into one notion of array dimensions, in which the dimensions have to be natural numbers. (Previously, array type dimensions were allowed to be unspecified (via underscores), while array expression dimensions had to be specified.) --- docs/grammar/abnf-grammar.txt | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) 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