ocaml解析器和词法分析器

时间:2013-02-15 03:49:38

标签: parsing ocaml lexer parser-generator

嗨我有3个文件nano.ml,它是一个类型,还有一个paser和lexer文件。我不知道如何编写解析器的规则,我尝试编写规则,但它给了我erro说不接受参数。
当我尝试编译它给我这个

:File "nanoParse.mly", line 31: $1 refers to terminal `LET', which has no argument
Compiling (to byte code) OCAML module nanoLex.ml
ocamlc -dtypes -c nanoLex.ml -o nanoLex.cmo
File "nanoLex.mll", line 10, characters 32-37:
Error: The constructor LET expects 1 argument(s),
but is here applied to 0 argument(s)

并且程序假设做这样的事情:

1 个答案:

答案 0 :(得分:1)

我怀疑你想要{Let($2, $3, $5)}而不是{Let($1, $2, $3)}。但是,这需要查看很多代码。你可能想从一个小例子开始,然后从那里开始工作。