implementación personalizada de la lengua - el modo de interpretación (II)

18.2 reglas de la gramática y el árbol de sintaxis abstracta

       patrón intérprete describe cómo definir un simple gramática de la lengua, la forma de representar una frase en la lengua, y cómo interpretar estas frases. Antes de la estructura y el modo de análisis de interpretación formal, vamos a aprender cómo representar a las reglas gramaticales del lenguaje, y cómo construir un árbol de sintaxis abstracta.

       Además la mencionada / intérprete restador, cada uno de la expresión de entrada, por ejemplo, " 1 + 2 + 3--4 + 1 ", contiene los tres unidades lingüísticas, puede usar las siguientes reglas de gramática para definir:

expresión :: = Valor | operación

:: = operación expresión '+' expresión | la expresión '-' expresión

valor :: = un número entero // un valor entero

       Las reglas gramaticales que comprende tres estados, la composición de la primera forma de realización representada por la expresión, en el que el valor y la operación se definen en las posteriores dos unidades lingüísticas, cada cadena de instrucción como se define operación y valor denominan unidades de construir o idioma Idioma , el símbolo " :: = " medios "se define como" significa que el lado izquierdo de la unidad de idioma se describe y define por el extremo derecho de la expresión de la unidad de idioma correspondiente y la expresión no terminal. Como esta regla operación expresión no terminador, sus elementos constitutivos pueden todavía ser una expresión, se pueden descomponer aún más, y el valor es la expresión terminador, sus elementos constitutivos son la unidad básica de la lengua ya no puede ser descompuesto.

       Algunos símbolos pueden ser utilizados en la definición de las reglas de la gramática que se utilizan para significar cosas diferentes, tales como el uso de " | " representa o, utilizando el " { " y " } " representa la combinación, utilizando el " * " indica que un 0 o más veces y similares, en el que la frecuencia de uso el símbolo más alto es "o" relación " | ", tales como reglas de la gramática " BOOLVALUE :: = 0 | 1 " indica el terminador de la expresión BOOLVALUE de valor puede ser 0 o 1 .

       Además de un lenguaje utilizado para definir las reglas de la gramática, el modo de interpretación puede también lograrse mediante un llamado árbol de sintaxis abstracta (sintaxis abstracta Árbol, AST) se representa gráficamente la configuración intuitivamente idioma, cada uno correspondiente a un árbol de sintaxis abstracta ejemplos de una lengua, como suma / resta en la cuenta de lenguaje de expresión " 1 + 2 + 3--4 + 1 ", como se muestra por 18-2 para representar árbol de sintaxis abstracta se muestra:

La Fig. 18-2  esquemática AST

       En el árbol de sintaxis abstracta puede ser terminado por la expresión de valor y una expresión no terminales operación que consiste en una oración compleja, las reglas gramaticales idioma para cada instancia se pueden representar como un árbol de sintaxis abstracta , es decir, cada uno puede ser una declaración específica Fig similares 18-2 árbol de sintaxis abstracta se muestra para representar, terminadores de expresión instancia de clase en las figuras como un nodo de hoja del árbol, no el final, como una instancia de clase de la expresión en los nodos que no son hojas, pueden terminador ejemplos de expresión y de la clase que comprenden terminal y no terminal símbolo subexpresión como un ejemplo de sus nodos hijos . árbol de sintaxis abstracta se describe cómo hacer un complejo de oraciones, a través del análisis del árbol de sintaxis abstracta, el terminador puede ser identificado lenguaje basado en clases y no terminal.

Publicado 25 artículos originales · ganado elogios 1 · visitas 774

Supongo que te gusta

Origin blog.csdn.net/qq_42770949/article/details/104914669
Recomendado
Clasificación