Predicados semânticos
Last updated
Last updated
Em ANTLR4 é possível utilizar informação semântica (expressa na linguagem destino e injetada na gramática), para orientar o analisador sintáctico.
Essa funcionalidade chama-se predicados semânticos: {...}?
Os predicados semânticos permitem seletivamente activar/desactivar porções das regras gramaticais durante a própria análise sintáctica
Vamos, como exemplo, desenvolver uma gramática para analisar sequências de números inteiros, mas em que o primeiro número não pertence à sequência, mas indica sim a dimensão da sequência:
Assim a lista 2 4 1 3 5 6 7 indicaria duas sequências: (4,1) (5,6,7)
Com esta gramática, a árvore sintáctica gerada para a entrada 2 4 1 3 5 6 7 é:
Agora a árvore sintáctica já corresponde ao pretendido: