If you create two versions of the file, one with the Java code for actually executing the commands, and one without(with just the grammar), then you have an executable specification of the language, which is great for testing, a boon for documentation,
and a big Timesaver if you ever decide to port it.