Is the language of rectangular matrices in MATLAB-style syntax context free? Consider the language $L$ of rectangular matrices written down as a comma separated list of integers where each list represents a row of the matrix and rows are separated by a semicolon. There may be an
arbitrary number of rows, but each row must contain the same number of integers.

For example: $[3, 5, 6; 8, 9, 10; 7, 3, 6] \in L$ and
$[3, 5, 6; 7, 8, 10, 12; 7] \notin L$, because each row contains a different number of integers and so the matrix is not rectangular.

Is this language context-free? I have a very strong hunch that it isn't, given that not even the language $A^{n}B^{n}C^{n}$ is context free, but I don't have much experience with proofs using the pumping lemma for context-free languages and I'm hoping there is a simpler way to prove that $L$ is not context free.
Delete all numbers from your language $L$, and replace $,$ with $a$ and $;$ as $b$.  Then intersect it with the regular language $a^*ba^*ba^*$.  You obtain a new language $L' = \{a^n b a^n b a^n : n \in \mathbb{N}\}$.  If $L$ is context-free, then $L'$ will be context-free too, as it has been obtained by applying a homomorphism and then intersecting with a regular language, both of which preserve context-freeness.  However, $L'$ is a standard example of a non-context-free language, so $L$ must be non-context-free as well.