Есть ли альтернатива MKS Yacc, которая поддерживает “синтаксис предпочтения выбора” или что-то очень похожее?[закрыто]
-
19-08-2019 - |
Вопрос
MKS Yacc поддерживает обозначение, которое называется на их веб-сайте "синтаксис предпочтения выбора".Это не проиллюстрировано, но оно состоит из маркера в квадратных скобках, необязательно с кареткой, и указывает, что конкретный маркер должен следовать остальным правилам или не должен следовать им:
non_terminal: TOKEN1 non_terminal2 TOKEN2 [TOKEN3]
non_terminal: TOKEN1 non_terminal2 TOKEN2 [^TOKEN3]
(Мне не ясно, может ли элемент, заключенный в квадратные скобки, быть нетерминальным.Код, который я видел с использованием обозначения, всегда использует токен или пару разделенных пробелом токенов, и никогда не является нетерминальным.)
Кто-нибудь знает об альтернативной системе, совместимой с Yacc (предпочтительно с открытым исходным кодом), которая обеспечивает ту же поддержку (обозначения могут отличаться - функциональность не может), работающей на машинах Unix или Linux, предпочтительно доступной в исходном формате?
(MKS Yacc также обеспечивает некоторую гибкость при обработке ошибок и корректировке поведения при ошибках.Один из способов, которым это можно использовать, - рассматривать ключевые слова как идентификаторы, когда они встречаются в позиции, которая не имеет смысла, когда они рассматриваются как ключевые слова.Я смог переделать это в byacc
- Berkeley Yacc - но я не потратил достаточно времени на разработку того, как обращаться с "предпочтениями выбора".)
Смотрите также: Использовал ли кто-нибудь механизм "предпочтения выбора", предоставляемый MKS Yacc?
Решение
Просто для полноты картины, поскольку я связал это в ответе с вашей другой версией, похоже, что есть продукт от Размышление вызванный УРА, который похож на yacc и поддерживает синтаксис селектора.Они находятся в Kitchner и, по-видимому, тесно связаны с MKS, но, судя по веб-сайту, они также отвечают за документацию MKS, так что, возможно, если все остальное не сработает, вы можете позвонить им и спросить, какого черта они имели в виду под этими предпочтениями выбора.;-)