Ocaml解析器“未终止操作”错误

时间:2018-02-09 20:55:50

标签: parsing ocaml ocamllex ocamlyacc

我是OCaml的新手,我正在尝试使用解析器生成器 - ocamllex,ocamlyacc为特定语言创建解析器。当我尝试编译 parser.mly 文件时,我收到以下错误:

错误(标记为=):

File "parser.mly", line 94: unterminated action
| id = IDENTIFIER { identifier id }
;

以下是parser.mly文件的摘录:

%{
  open Ast

  let identifier name = {
    Identifier.name = name;
  }
%}

%token <int> INT
%token <string> IDENTIFIER

%start monitor
%type <Ast.Expression.t> monitor

%%

ident:
  | id = IDENTIFIER { identifier id }
;

1 个答案:

答案 0 :(得分:2)

Ocamlyacc不支持为此类规则的部分命名。您需要使用$1等,或者切换到支持此功能的Menhir。

相关问题