Nearley.js - есть ли способ написать правило для определения предложения, число которого разделено "," или "-"
Я использую nearley.js для анализа предложения, введенного пользователем. У меня есть правило, предназначенное для предложения с числом, разделенным "," и другое правило, что число разделено "-".
Но правило, на которое нацелено ",", возьмет на себя правило, на которое нацелено "-".
Код моей грамматики
MAIN -> RANGESELECTION
| ACCUMULATIONSELECTION
BUCKET -> [a-zA-Z0-9-]:+ {% function(data) {
return {
value: data.join('').replace(/,/g,"")
};
} %}
ACCUMULATIONSELECTION -> "select " BUCKET:+ "," {%
function(data){
return {type: 'rangeSelection', body: data}
} %}
RANGESELECTION -> "select " (BUCKET "-" BUCKET) {%
function(data){
return {type: 'rangeSelection', body: [data[0],data[2]]}
} %}
Результат, который я хотел бы получить, когда пользователь вводит выбор 111-222, возвращает объект, который говорит, что это выбор диапазона и 2 значения (минимум максимум). И когда он выбирает a1,a2,a3,a4,a5, возвращаемое значение - это объект, говорящий, что это выбор накопления и все введенные значения.
Спасибо за помощь