解析器使用哪些产品来解析给定的字符串?

时间:2017-12-02 22:13:30

标签: compiler-construction

悬挂if-else声明。给出的语法是

stmt - > matched_stmt | unmatched_stmt

matched_stmt - >如果expre则匹配match_stmt否匹配_stmt |其他

unmatched_stm - >如果expre然后stmt |如果expre则匹配match_stmt否则unmatched_stmt

如何解析这个python if else语句

x=int(input("Enter the value of x "))
if x<=10:
    print("in 10")
    if x<=5:
        print("in 5")
else:
    print("greater than 10")

1 个答案:

答案 0 :(得分:1)

Python的语法没有表现出悬挂的其他歧义,因为if语句的主体和可选的else子句的存在都是由缩进精确分隔的。避免此问题的另一种方法是坚持if语句被关键字终止,例如fi

无论如何,Dragon book语法不适用于Python。