Existe uma alternativa para MKS Yacc que suportes “preferência seleção sintaxe” ou algo muito semelhante? [fechadas]
-
19-08-2019 - |
Pergunta
MKS Yacc suporta uma notação que seu web site chama de " preferência seleção sintaxe ". Não é ilustrada, mas consiste em um símbolo entre colchetes, opcionalmente com um acento circunflexo, e indica que um sinal particular é obrigado a seguir, ou a obrigação de não seguir, o resto das regras:
non_terminal: TOKEN1 non_terminal2 TOKEN2 [TOKEN3]
non_terminal: TOKEN1 non_terminal2 TOKEN2 [^TOKEN3]
(eu não sou claro se o item entre colchetes pode ser um não-terminal. O código que eu vi usando a notação usa sempre um símbolo ou um par de espaço separado fichas, e nunca um não-terminal).
Alguém tem conhecimento de um sistema Yacc-compatível alternativa (de preferência open source) que fornece o mesmo suporte (notação podem diferir - funcionalidade não pode)?, Rodando em máquinas Unix ou Linux, de preferência disponível em formato fonte
(MKS Yacc também fornece alguma flexibilidade em lidar com os erros e ajustar o comportamento de erro. Uma maneira em que que pode ser usado é a palavras-chave tratar como identificadores quando eles são encontrados em uma posição que não faz sentido quando são tratados como palavras-chave . Eu era capaz de adaptar isso em byacc
- Berkeley Yacc - mas eu não passei tempo suficiente trabalhar para fora como lidar com 'preferências de seleção')
Veja também: Alguém já usou a "seleção preferência mecanismo" fornecido pelo MKS Yacc?
Solução
Apenas para completar, desde que vinculada isso na resposta à sua outra versão, não parece ser um produto de Thinkage chamado YAY , que é yacc-like e suporta a sintaxe selector. Eles estão em Kitchner e, aparentemente, intimamente associada com MKS, mas a partir do site que eles também parecem ser responsáveis ??pela documentação do MKS, talvez por isso, se tudo o mais falhar, você pode chamá-los como perguntar o que diabos eles queriam dizer com essas preferências de seleção. ; -)