Diagrama de sintaxis

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 26 de mayo de 2021; las comprobaciones requieren 6 ediciones .

Un diagrama de sintaxis  es un gráfico dirigido con un borde de entrada y un borde de salida y vértices etiquetados. El diagrama de sintaxis define el lenguaje . La cadena de etiquetas en los vértices de cualquier ruta desde el borde de entrada hasta la salida es la cadena del lenguaje especificado por el diagrama de sintaxis. Entre los bordes de entrada / salida hay bloques de dos tipos: "círculo": define el concepto básico (primario); y "rectángulo" - define un concepto secundario que está definido (es decir, una metavariable). Por tanto, podemos considerar que el diagrama sintáctico es una de las formas de la gramática generativa de los lenguajes autómatas. Los diagramas de sintaxis y los autómatas finitos están íntimamente relacionados: cualquier lenguaje de autómatas está definido por un diagrama sintáctico y viceversa, cualquier diagrama sintáctico puede usarse para construir un autómata finito (generalmente no determinista) que reconoce el mismo lenguaje que define el diagrama.

Habiendo construido un autómata finito de reconocimiento apropiado a partir del diagrama de sintaxis, uno puede implementar este autómata ya sea en hardware o en software.

Así, los diagramas sintácticos pueden servir no solo para generar, sino también para reconocer lenguajes de autómatas.

Unidades sintácticas

El diagrama sintáctico le permite representar gráficamente la estructura de una unidad sintáctica. [una]

En los metalenguajes que describen la sintaxis de un lenguaje de programación se utilizan los siguientes conceptos básicos:

Una metavariable denota una construcción de lenguaje definida por la sintaxis. Para registrar metavariables se utilizan principalmente secuencias de palabras en un lenguaje natural (ruso, inglés, etc.) y palabras auxiliares. El carácter de subrayado (_) se utiliza para separar palabras. En los diagramas de sintaxis, las metavariables se encierran entre paréntesis angulares (<>). Una metavariable en un borde de gráfico etiquetado significa que este fragmento de diagrama debe detallarse sustituyendo un diagrama de sintaxis con un nombre correspondiente a esta metavariable.

Ejemplos de escritura de metavariables:

<Para_Operador> <Conjunto_de_tipos> <base_scalar_type>

Meta constantes: denota un lexema de lenguaje de programación. En un programa, una metaconstante se corresponde a sí misma. En los diagramas de sintaxis, las metaconstantes se escriben "tal cual".

Ejemplos de meta constantes:

Para Empezar establecer

Un metacarácter es un carácter especial que se utiliza para describir la sintaxis de un idioma. Solo hay dos metacaracteres en los diagramas de sintaxis:

o El metacarácter “::=” se utiliza para separar el nombre del diagrama de sintaxis.

o Metacarácter “<>” – utilizado para designar metavariables

El diagrama de sintaxis es un gráfico dirigido con bordes etiquetados. Los bordes se etiquetan mediante metaconstantes y metavariables.

Ejemplos

Representación en forma de grafos dirigidos de las principales estructuras:

1. Elección (Alternativa).

Entrada similar en RBNF:

<Letra>|<Guión bajo>.

2. Una parte opcional de la construcción (Se repite 1 o 0 veces).

Entrada similar en RBNF:

[";"].

3. Repetición del diseño

Entrada similar en RBNF:

<Rango>{","<Rango>}.

Véase también

Notas

  1. Glukhova, LA Fundamentos de algoritmización y programación: un tutorial. En 2 horas.- BSUIR, 2006.- 195 p.
  2. N1ghtF1re/The-syntax-diagram-  editor . http://brakhmen.info . GitHub. Consultado el 21 de mayo de 2018. Archivado desde el original el 14 de diciembre de 2020.

Literatura

  • Karpov Yu. G. Teoría de los autómatas. - San Petersburgo: Peter, 2002. S. 224. ISBN 5-318-00537-3