A student wrote two context-free grammars G1 and G2 for generating a single C-like array declaration. The dimension of the array is at least one. For example,
int a[10] [3];
The grammars use D as the start symbol, and use six terminal symbols int ; id [ ] num.
Grammar G1D→int L;L→id [EE→num ]E→num ] [EGrammar G2D→int L;L→id EE→E [num]E→[num]
Which of the grammars correctly generate the declaration mentioned above?