0
У меня есть следующее определение синтаксиса с двумя зарезервированными ключевыми словами и два аналогичных утверждениями (?):Ambuigity с зарезервированным ключевым словом
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")
дает двусмысленность.
Что делать неправильно?
лучше удалить весь вопрос тогда! – jurgenv