Я использую генератор синтаксического анализатора pegjs для проекта, и у меня возникают трудности с созданием грамматики, которая должна соответствовать всем словам, вплоть до набора слов, которые не должны совпадать. в качестве примера в строке «дверь желтая» я хочу иметь возможность сопоставлять все слова до тех пор, пока не будет, скажите синтаксическому анализатору pegjs, чтобы он начал синтаксический анализ со слова «есть». Набор слов, который я хочу, чтобы синтаксический анализатор сломал, это «есть», «имеет» и «из».
Текущее грамматическое правило выглядит следующим образом:
subject "sub" =
s:[a-zA-Z ]+ { return s.join("").trim()}
Как я могу создать предварительный просмотр, который не позволит синтаксическому анализатору включить мою коллекцию слов?
(!of|is|has)