The doc/go_spec.html file in master, as of this filing (6fcc2d8), states that:
The grammar is compact and regular, allowing for easy analysis by automatic tools such as integrated development environments.
When speaking about grammars, regular has a very particular meaning. It describes a regular language. The go language grammar does not fall in this category.
https://en.wikipedia.org/wiki/Regular_grammar
It would be better to specify the subclass of context-free languages that the go grammar adheres to. I don't know which one it is, but it could be LALR(1), LL(1), etc. This will tell the programmer which tools can be used to generate a parser for go.
@griesemer
For reference, this was already raised in #1798.
I think the comment made in #1798 still stands - this is not a statement about the language category. Leaving open for a bit just to see if an equally attractive alternative phrasing emerges. Perhaps: "The grammar is compact and has a regular structure, ..." which is really what we're trying to express.
Ah sorry I didn't find #1798 in my search.
But while we are here ... maybe "unambiguous" is what you want. I don't know if that is actually true, as unambiguous also has a very specific meaning, but I think it is closer to what you are trying to say. Unambiguous can still be a pain to parse, as many tokens of lookahead can be required.
You could also say "compact, simple grammar that is easily parsed by common parsing systems and techniques."
Use of the word "regular" when talking about the grammar really seems out of place to me. Yes I can figure out what you mean, but Go has amazing reach and it is quite possible there are a whole lot of programmers out there who will run with that expression, without knowing that they should add "not in a formal languages sense."
"compact and simple to parse".
Change https://golang.org/cl/211277 mentions this issue: spec: reword claim about the grammar being regular
Most helpful comment
"compact and simple to parse".