我有有條件的構造結接下來的三個例子IF在語言倍頻如何創建一個文法IF條件
1)
if(condition)
body
end
2)
if(condition)
body
else
body-alternative
end
3)
if(condition)
body
elseif(condition)
body
else
body-alternative
end
在第三例可能有許多elseif's你想要
我必須爲這些If創建一個語法。到目前爲止,我的下一個規則
<IF> := if <CONDITION> <BODY> <S>
<S> := end | else <BODY> end | <ELSEIF>
<ELSEIF> := elseif <CONDITION> <BODY> <ELSEIF> | else <BODY> end
但我不知道如何創建非終端條件的規則,任何想法?
謝謝@rici,最後一個問題,如果有(E-(B %4 * 3> 2))它會是一個有效的if語句(不僅在八度,但在其他語言)? – user3105533 2014-11-03 01:58:33
@ user3105533:它在語法上是正確的,但在某些語言中它會出現類型錯誤。我不知道八度是否會接受它,但它會拒絕它在運行時,如果它拒絕它。 – rici 2014-11-03 02:18:39