Practically, for a language that can eventually be compiled/transformed into system level instructions, is it necessary that it be a context free grammar?
ex: Are all programming/scripting languages context free grammars? Java is based on CFGs, but is it actually the case that all programming languages are based on CFGs?
It does not seem mandatory, but there are gaps in my understanding.
Some context for the question: I was looking at Java language specification, which also provides the grammar rules. This made me think about this question.