1

Ocamlyacc で他の場合に実装する方法を誰でも簡単に説明できますか。語彙アナライザー (ocamllex) からトークン、つまり IF、THEN、ELSE を定義しました。if ステートメントでは、トークンを定義しました。整数の場合は、GREATERTHAN、LESSERTHAN、EQUALTO です。多くのチュートリアルを検索しましたが、役に立ちませんでした!

アップデート:

結果を解釈し、if-else ステートメントで指定された式の値を返したいと考えています。

4

2 に答える 2

3

ルールを定義する必要があります:

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 の正規表現を定義することを忘れないでください

于 2013-07-07T22:53:27.620 に答える