【问题标题】:Does precedence matter in ocaml parser?ocaml解析器中的优先级重要吗?
【发布时间】:2021-12-25 23:17:22
【问题描述】:

例如,如果我正在编写一个类似 parser.mly 的文件,而我为表达式编写了这个文件

expr:
    expr PLUS   expr { Binop($1, Add,   $3)   }
  | expr DIVIDE expr { Binop($1, Divide,   $3)   }

会不会和这个一样

expr:
    expr DIVIDE   expr { Binop($1, Divide,   $3)   }
  | expr PLUS expr { Binop($1, Add,   $3)   }

我想我想问的是,垂直列出的顺序是否对确定解析优先级很重要?

【问题讨论】:

    标签: compiler-construction ocaml ocamlyacc


    【解决方案1】:

    ocamlyacc 和 menhir 都要求您使用 %left%right%nonassoc 声明明确声明优先级。产生的顺序无关紧要。

    【讨论】:

      猜你喜欢
      • 2014-12-01
      • 2018-06-13
      • 1970-01-01
      • 2018-04-12
      • 2020-08-04
      • 1970-01-01
      • 2014-09-25
      • 2015-07-09
      • 1970-01-01
      相关资源
      最近更新 更多