:= value&lt;int&gt; | value&lt;double&gt;

value&lt;T&gt; ::= T       | seq&lt;T&gt;       | zero_array&lt;T&gt;       |
&#39;structure&#39; &#39;(&#39; seq&lt;T&gt; &#39;,&#39; &quot;.Dim&quot; &#39;=&#39; seq&lt;int&gt; &#39;)&#39;       | &#39;structure&#39;
&#39;(&#39; zero_array&lt;T&gt; &#39;,&#39; &quot;.Dim&quot; &#39;=&#39; seq&lt;int&gt; &#39;)&#39;

seq&lt;int&gt; ::= int &#39;:&#39; int       | cseq&lt;int&gt;

zero_array&lt;int&gt; ::= &quot;integer&quot; &#39;(&#39; &lt;non-negative int&gt;? &