Ocamlyacc で他の場合に実装する方法を誰でも簡単に説明できますか。語彙アナライザー (ocamllex) からトークン、つまり IF、THEN、ELSE を定義しました。if ステートメントでは、トークンを定義しました。整数の場合は、GREATERTHAN、LESSERTHAN、EQUALTO です。多くのチュートリアルを検索しましたが、役に立ちませんでした!
アップデート:
結果を解釈し、if-else ステートメントで指定された式の値を返したいと考えています。
ルールを定義する必要があります:
ifthenelse :
| IF condition THEN statement ELSE statement { IfThenElse($1,$2,$3) }
condition :
| INT EQUALTO INT { Cond(EqualTo,$1,$3) }
| INT LESSERTHAN INT { Cond(LesserThan,$1,$3) }
| INT GREATERTHAN INT { Cond(GeaterThan,$1,$3) }
lex ファイルで int の正規表現を定義することを忘れないでください