39;.*=&#39; | &#39;/*=&#39;

string_literal ::= &#39;&quot;&#39; char* &#39;&quot;&#39;

truncation ::= &#39;T&#39; &#39;[&#39; ?expression &#39;,&#39; ?expression &#39;]&#39;

lhs ::= identifier (&#39;[&#39; indexes &#39;]&#39;)*

nested_statement
::=
  | &#39;if&#39; &#39;(&#39; expression &#39;)&#39; statement
    (&#39;else&#39; &#39;if&#39; &#39;(&#39; expression &#39;)&#39; statement)*
    ?(&#39;else&#39; statement)
  | &#39;while&#39; &#39;(&#39; expression &#39;)&#39; statement
  | &#39;for&#39; &#