Q:

Is ambiguity in Programming Language always bad?

Suppose we have a token and our language allows the compiler to build two different derivation trees. However, it can happen that there exists two semantic ways to interpret our token. So ambiguity is not a problem in this case.
Am I correct?

A:

There are computer languages with ambiguous grammars. They decide how to compile ambiguous code by applying rules outside the grammar (there’s no law saying that a language has to be defined by a grammar only). The problem is if your language is ambiguous - if you have code and cannot tell how it should be compiled, that’s quite useless. 

