【问题标题】:Ambuigity with reserved keyword (?)保留关键字 (?) 的歧义
【发布时间】:2016-03-29 10:02:31
【问题描述】:

我有以下带有两个保留关键字和两个类似语句的语法定义:

module Test

// parse(#Statement,"do c") succeeds
// parse(#Statement,"define c") gives an ambiguity

start syntax Statement = 
    do: "do"  Identifier+
  | define: "define" Identifier+;

layout MyLayout = [\t\n\ \r\f]*;

lexical Identifier = ([a-z0-9] !<< [a-z][a-z0-9]* !>> [a-z0-9]) \ MyKeywords;

keyword MyKeywords =  "do" | "define";

然后

parse(#Statement,"do c")

解析很好,类似情况

parse(#Statement,"define c")

产生歧义。

我做错了什么?

【问题讨论】:

    标签: ambiguity rascal


    【解决方案1】:

    抱歉各位,案件已经解决,Test模块被另一个模块干扰导致了歧义。

    【讨论】:

    • 那么最好删除整个问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    相关资源
    最近更新 更多