由于我之前的问题没有得到答复,我现在重新提一个简短的问题:我需要帮助编写Python中if语句的解析器。以下是我的语言中if语句的示例:
IF 2 > 1 THEN
OUT "Hello World!" // Print Statement
ENDIF
我已经解析了像这样的条件,并且它们返回 true 或 false:
elif toks[i] + " " + toks[i+1][0:3] + " " + toks[i+2] + " " + toks[i+3][0:3] + " " + toks[i+4] == "IF NUM EQEQ NUM THEN":
if toks[i+1][4:] == toks[i+3][4:]:
print("TRUE, " + toks[i+1][4:] + " is equal to " + toks[i+3][4:])
return true
i += 5
else:
print("FALSE, " + toks[i+1][4:] + " is not equal to " + toks[i+3][4:])
return false
顺便说一下,这是为了平等而做的。不过我正在考虑改变这个,创建一个条件函数,然后在IF解析器中使用它。我遇到的唯一问题是如何跳过迭代器值并到达ENDIF语句... 有人能指导我如何在Python中编写if语句解析器吗,但不包括条件?