Yes, thinking about it that alone is not sufficient. Still, I'd
claim that most languages are not context free.
CPP (Pre-processor) aside, C is not context free due to typedef making identifiers ambiguous. Also if-then-else?
Since C++ templates are turing-complete, the grammar is probably unrestricted.
Python is not context free due to
if ...:
stmt1
if ...:
stmt2
stmt3
stmt3 and stmt1 have to share the same level of indentation to form a valid Python program, but they might contain arbitrary indentation within brackets.
CPP (Pre-processor) aside, C is not context free due to typedef making identifiers ambiguous. Also if-then-else? Since C++ templates are turing-complete, the grammar is probably unrestricted.
Python is not context free due to
stmt3 and stmt1 have to share the same level of indentation to form a valid Python program, but they might contain arbitrary indentation within brackets.