If parsing is "complicated", then there's another solution. Don't play the game. Change the rules. Play a different game.<p>My understanding (and, since this is the Interwebs I will quickly be corrected if I'm wrong) is that Python is easy to parse; a lot of the battles about adding features to the language involve keeping the grammar simple.<p>And yet Python is eminently useful, despite being simple to parse.<p>I'm reminded of how we didn't understand how to specify a simple grammar in the "good old days". E.g. take ancient FORTRAN.<p>The for-loop in FORTRAN is actually called do. And you specify the end of the loop by numerical statement label (found in columns 1 thru 5). Thus:<p><pre><code> DO 10 I = 1, 7
some stuff here, loop done for I = 1,2,3,4,5,6,7
10 final line of loop
</code></pre>
But spaces aren't significant. So if you write the following statement<p><pre><code> DO 10 I = (1, 7)
</code></pre>
You get something totally different. You set the value of the complex variable DO10I to (1,7). Bheech. Who wants to parse that? (And yet, there were very capable FORTRAN compilers back in the 1960s!)