次のEBNF文法(PL/0のwikipediaにあります)を前提とすると、「ODD」キーワードの前にある式は何ですか?私は小さなプロジェクトとして単純な言語を実装したいと思いますが、これが何を意味するのか分かりません。私は言語のコンパイラを正しく書くことができるように、奇妙な表現が何であるかを理解する前に、誰かがこれを理解していますか?PL/0の「奇数」式
program = block "." .
block = [ "const" ident "=" number {"," ident "=" number} ";"]
[ "var" ident {"," ident} ";"]
{ "procedure" ident ";" block ";" } statement .
statement = [ ident ":=" expression | "call" ident |
"begin" statement {";" statement } "end" |
"if" condition "then" statement |
"while" condition "do" statement ].
condition = "odd" expression |
expression ("="|"#"|"<"|"<="|">"|">=") expression .
expression = [ "+"|"-"] term { ("+"|"-") term}.
term = factor {("*"|"/") factor}.
factor = ident | number | "(" expression ")".