我们正在使用Rascal开发新版本的JavaScript语法。根据语言规范(版本6)和现有的JavaScript语法,以下是表达式的有效形式:
syntax Expression = ...
| new: "new" Expression
| call: Expression Args
syntax Args = ...
但是,当我们尝试解析“ new Date()。getTime()”之类的表达式时,会出现歧义错误。我们尝试使用“ left”和“>”运算符的组合来修复它,例如
| left "new" Expression
> Expression Args
,但我们无法解决此问题。我认为这可能很容易解决,但是花了几个小时之后,我们找不到解决方案。
答案 0 :(得分:1)
我已尝试在此处完成您的示例,并且该操作不会引发INSERT INTO Demo2 (UPC, DAIRY_CLM, KOSHER_CLM, FAT, CALORIES)
SELECT min(CASE WHEN ATTR_NAME = 'UPC' THEN VALUE END) ,
min(CASE WHEN ATTR_NAME = 'DAIRY_CLM' THEN VALUE END),
min(CASE WHEN ATTR_NAME = 'KOSHER_CLM' THEN VALUE END),
min(CASE WHEN ATTR_NAME = 'FAT' THEN VALUE END),
min(CASE WHEN ATTR_NAME = 'CALORIES' THEN VALUE END)
FROM Demo1
group by DIM_KEY;
异常。
Ambiguity()