Reading the Go language specs, I read in the intro:

"The grammar is compact and regular, allowing for easy analysis by automatic tools such as integrated development environments."

Is the word "regular" here a technical term, or should it be interpreted just as a vague English word?


It's a technical term, but not the technical term you are thinking of.

In this case, "regular" means composed of few rules with with few corner cases.

The term for a grammar that describes a regular language is usually left-linear or right-linear, "regular grammar" in this sense is rather uncommon. A compact notation for describing regular languages are regular expressions.

Go's grammar is not in CH-3, i.e. not regular in that sense of the word, but it has a lot less corner cases than, say, Java, C#, C++ or C, so it is a lot more regular (in the other sense) than those.


"Regular" is a technical term for grammars, but I strongly doubt it is used with that meaning here as a regular grammar can describe only regular languages, which may also be described by regular expressions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.