第6步:單項加與單項減
expr = mul ("+" mul | "-" mul)*
mul = unary ("*" unary | "/" unary)*
unary = ("+" | "-")? term
term = num | "(" expr ")"Last updated
expr = mul ("+" mul | "-" mul)*
mul = unary ("*" unary | "/" unary)*
unary = ("+" | "-")? term
term = num | "(" expr ")"Last updated
Node *unary() {
if (consume('+'))
return term();
if (consume('-'))
return new_node(ND_SUB, new_node_num(0), term());
return term();
}