Я хочу игнорировать пробелы и новые строки с моей грамматикой, чтобы они отсутствовали в выходе PEG.js. Кроме того, литерал внутри скобок должен быть возвращен в новый массив.
Грамматика
start
= 'a'? sep+ ('cat'/'dog') sep* '(' sep* stmt_list sep* ')'
stmt_list
= exp: [a-zA-Z]+ { return new Array(exp.join('')) }
sep
= [' '\t\r\n]
Тестовый пример
a dog( Harry )
Выход
[
"a",
[
" "
],
"dog",
[],
"(",
[
" "
],
[
"Harry"
],
[
" "
],
")"
]
Вывод, который я хочу
[
"a",
"dog",
[
"Harry"
]
]