stringtranslate.com

Relación de precedencia de Wirth-Weber

En informática , es necesaria una relación Wirth-Weber entre un par de símbolos para determinar si una gramática formal es una gramática de precedencia simple . En tal caso, se puede utilizar el analizador sintáctico de precedencia simple . La relación recibe su nombre de los científicos informáticos Niklaus Wirth y Helmut Weber.

El objetivo es identificar cuándo los prefijos viables tienen el pivote y deben reducirse. A significa que se encuentra el pivote , a significa que se está iniciando un pivote potencial y a significa que una relación permanece en el mismo pivote .

Definición formal

Algoritmo de cálculo de relaciones de precedencia

Definiremos tres conjuntos para un símbolo:

Head * ( X ) es X si X es un terminal, y si X no es un terminal, Head * ( X ) es el conjunto con solo los terminales que pertenecen a Head + ( X ). Este conjunto es equivalente al primer conjunto o Fi( X ) descrito en el analizador LL .
Cabeza + ( X ) y Cola + ( X ) son ∅ si X es un terminal.

El pseudocódigo para calcular relaciones es:

y se utilizan con conjuntos en lugar de elementos como fueron definidos, en este caso se debe sumar todo el producto cartesiano entre los conjuntos/elementos.

Ejemplos

Ejemplo 1

tabla de precedencia

Ejemplo 2

tabla de precedencia


Lectura adicional