У меня есть следующий файл ES6, который я пытаюсь проанализировать:
// comment1
function sum(x, y) {
return x + y;
}
// comment2
var value = 22;
Парсинг не работает для файлов, которые начинаются с комментариев, пробелов, новых строк.Это работает для комментариев во всех частях кода.Я получаю следующую ошибку:
[parsing file:] /test/function.js... found an error at line 3, column 0
Начальная строка для грамматики:
start syntax CompilationUnit = Statement* statements LAYOUT?;
Мое определение LAYOUT следующее:
lexical LAYOUT
= Whitespace
| Comment
;
layout LAYOUTLIST
= LAYOUT*
!>> [\t\ \n]
!>> "/*"
!>> "//" ;
У меня естьпопытался добавить LAYOUT?
и LAYOUT*
в начало синтаксической инструкции start, но я получил:
[parsing file:] /test/function.js|std:///ParseTree.rsc|(13348,964,<407,0>,<442,87>): Ambiguity(|unknown:///|(0,84,<1,0>,<10,0>),"CompilationUnit","//comment 1\n\nfunction sum(x, y) {\n return x + y;\n}\n\n//akakakakak\n\nvar caio = 22;\n")
at *** somewhere ***(|std:///ParseTree.rsc|(13348,964,<407,0>,<442,87>))
at parse(|std:///ParseTree.rsc|(14305,5,<442,80>,<442,85>))
at $root$(|prompt:///|(0,45,<1,0>,<1,45>))
Есть предложения?Спасибо