Ошибка при использовании негодяйской грамматики Java15
Я попытался проанализировать некоторый код Java, используя грамматику Java15 Rascal. Однако он не принимает объявление локальной переменной параметризованных типов. Более подробно:
- это не признает
List<String> files = ...
- это признает
final List<String> files = ...
- это признает
List<String, String> files = ...
Мне кажется, что проблема связана с некоторой двусмысленностью, связанной с LocalVarDecStatements и выражениями, включающими "<" и ">". Тем не менее, я не мог понять, как решить проблему.
1 ответ
Я не из тех, кто говорит "работает на меня", но это делает:-)
rascal>import lang::java::\syntax::Java15;
ok
rascal>import ParseTree;
ok
rascal>parse(#LocalVarDec, "List\<String\> files = null")
LocalVarDec: (LocalVarDec) `List<String> files = null`
Не могли бы вы привести пример или упрощенный пример, в котором есть ошибка?