Привет, я новичок в JISON
и застрял в следующем коде:
Для синтаксического анализа команды:
project -a -n <projectname>
Мой код выглядит следующим образом:
"project" {return 'PROJECTCOMMAND';}
"-n" {return 'NAMEOPTION';}
("--add"|"-a") {return 'ADDOPTION';}
[-a-zA-Z0-9@\.]+ {return 'TEXT';}
line :
PROJECTCOMMAND ADDOPTION NAMEOPTION TEXT
{
//Prject command with project name as argument
var res = new Object();
res.value = "addProject name";
res.name = $4;
return res;
}
Это отлично работает, если команда выглядит следующим образом:
project -a -n samplePro
Но выдает ошибку, если команда:
project -a -n project
Ошибка: ожидание TEXT и получение PROJECTCOMMAND.
То же самое происходит, если имя проекта в команде — project1, project2, myproject и т. д.. Можно ли это как-то исправить?
Заранее спасибо