다음 EBNF 문법 (PL/0에 대한 위키 백과에서 찾을 수 있음)이 주어지면 "ODD"키워드가 앞에 오는 표현식은 무엇입니까? 작은 프로젝트로 간단한 언어를 구현하고 싶습니다만, 이것이 의미하는 바를 이해하지 못하는 것 같습니다. 언어의 컴파일러를 올바르게 작성할 수 있도록 이상한 표현이 무엇인지 해석 할 수있는 사람이 있습니까?PL/0에서 "홀수"표현
I가odd
가 다음 식의 값이 홀수 또는 짝수 (정수) 값으로 계산 여부를 결정하는 기능과 유사 판단
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 ")".