Есть ли альтернатива MKS Yacc, которая поддерживает “синтаксис предпочтения выбора” или что-то очень похожее?[закрыто]

StackOverflow https://stackoverflow.com/questions/475787

  •  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, так что, возможно, если все остальное не сработает, вы можете позвонить им и спросить, какого черта они имели в виду под этими предпочтениями выбора.;-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top