、、、、などの一連の式X[3]
を解析したいと思います。X[-3]
XY[-2]
X[4]Y[2]
myparser.mly
では、index
( の内部にあります[]
) は次のように定義されています。
index:
| INTEGER { $1 }
| MINUS INTEGER { 0 - $2 }
tokenなどはINTEGER
、MINUS
通常どおり lexer で定義されます。
例を解析しようとしましたが、失敗しました。ただし、コメント| MINUS INTEGER { 0 - $2 }
するとうまくいきます。したがって、問題は確かにそれに関連しています。デバッグするには、より多くの情報を取得したい、つまり、 と見なされるものを知りたいですMINUS INTEGER
。印刷を追加しようとしました:
index:
| INTEGER { $1 }
| MINUS INTEGER { Printf.printf "%n" $2; 0 - $2 }
ただし、解析中には何も出力されません。
情報を出力したりデバッグしたりする方法を教えてもらえますか?