0
我在EBNF中爲語言運算子語言的語法&邏輯表達式,變量賦值和打印。EBNF:缺少兩條生產規則的用途
start ::= (print | assign)*
print ::= print expr ;
assign ::= ID = expr ;
expr ::= andExpr (|| andExpr)*
andExpr ::= relExpr (&& relExpr)*
relExpr ::= addExpr (== addExpr | != addExpr | <= addExpr | >= addExpr | < addExpr | > addExpr)?
addExpr ::= mulExpr (+ mulExpr | - mulExpr)*
mulExpr ::= unExpr (* hunExpri |/hunExpr)*
unExpr ::= + unExpr | - unExpr | ! unExpr | primary
primary ::= (expr) | ID | NUM | true | false
不幸的是我無法弄清楚這兩個規則:
unExpr :: = + unExpr
unExpr :: = - unExpr
實際上做,或者我爲什麼要需要他們,因爲我似乎能夠得到這個語言的每一個短語而不用它們。任何想法?
非常感謝:-)
當然......我沒有預料到。謝謝,你非常有用:-) – slovo