Are the grammars of modern programming languages context-free or context-sensitive?
问题 Are the C++, C# or Java languages context-free or context-sensitive? 回答1: C++ is neither context-free nor context-sensitive, since the template system is Turing-complete and determining whether a piece of C++ code is legal C++ is undecidably hard. For example, I could define a template class that simulates a TM on a string and then creates a constant with value 1 if the machine accepts and 0 if it does not. If I did that, then the following code would be legal iff the TM halted on the given