Я использую для парсинга Pest.rs. Мне нужно проанализировать идентификаторы, но отклонить их, если они оказались зарезервированным ключевым словом. Например, bat
- допустимое имя идентификатора, а this
- нет, поскольку оно имеет значение c. Моя упрощенная грамматика выглядит так:
keyword = {"this" | "function"}
identifier = {ASCII+}
valid_identifier = { !keyword ~ identifier }
Это работает, но также отклоняет имена идентификаторов, такие как thisBat
. Поэтому в основном он проверяет, не является ли этот префикс keyword
, но я хочу проверить полное identifier
.