Python解释器是如何解决“悬挂else”二义性问题的?
Python 编译器(解释器)中如何解决悬挂else二义性问题
C语言中可由分析树解决(else与最近的一个if配对),而Python中是按缩进来解决配对的。
请求大牛解释一下Python解释器是如何做到这一点的。
例 1)
if x == 0:
a = 100
if b == 100
a = 200
else:
c = 1000
例 2)
if x == 0:
a = 100
if b == 100
a = 200
else:
c = 1000
这两个例子完全不同,一般的编译原理书中,只叙述了类似C语言的情况