我正在写一种新的计算机语言,但似乎无法使if语句正常工作。当我运行代码时,它在编写if语句的行上给我yacc语法错误,我无法理解是什么错误。这是我实现if语句的方式:
def p_stmt_if(p):
'stmt : IF exp LBRACE multiplestmt RBRACE'
p[0] = ('if', p[2], p[4])
exp和multiplestmnt已经定义,并且在我尝试实现do while循环时可以正常工作,该循环也供参考:
def p_element_do(p):
'stmt : DO multiplestmt while'
p[0] = ('DOWHILE', p[2],p[3])
def p_while(p):
'while : WHILE LPAREN exp RPAREN'
p[0] = p[3]