(Translated by https://www.hiragana.jp/)
Gramática regular - Wikipedia, la enciclopedia libre Ir al contenido

Gramática regular

De Wikipedia, la enciclopedia libre

En informática una gramática regular es una gramática formal (N, Σしぐま, P, S) que puede ser clasificada como regular izquierda o regular derecha. Las gramáticas regulares sólo pueden generar a los lenguajes regulares de manera similar a los autómatas finitos y las expresiones regulares.

Dos gramáticas regulares que generan el mismo lenguaje regular se denominan equivalentes. Toda gramática regular es una gramática libre de contexto.

Una gramática regular derecha es aquella cuyas reglas de producción P son de la siguiente forma:

  1. Aa, donde A es un símbolo no-terminal en N y a uno terminal en Σしぐま
  2. AaB, donde A y B pertenecen a N y a pertenece a Σしぐま
  3. Aεいぷしろん, donde A pertenece a N.

Análogamente, en una gramática regular izquierda, las reglas son de la siguiente forma:

  1. Aa, donde A es un símbolo no-terminal en N y a uno terminal en Σしぐま
  2. ABa, donde A y B pertenecen a N y a pertenece a Σしぐま
  3. Aεいぷしろん, donde A pertenece a N.


Una definición equivalente evita la regla 1 (Aa) ya que es sustituible por:

AaL
Lεいぷしろん

en el caso de las gramáticas regulares derechas y por:

ALa
Lεいぷしろん

en el caso de las izquierdas.

Algunos autores alternativamente no permiten el uso de la regla 3 suponiendo que la cadena vacía no pertenece al lenguaje.

Un ejemplo de una gramática regular G con N = {S, A}, Σしぐま = {a, b, c}, P se define mediante las siguientes reglas:

S → aS
S → bA
A → εいぷしろん
A → cA

donde S es el símbolo inicial. Esta gramática describe el mismo lenguaje expresado mediante la expresión regular a*bc*.

Dada una gramática regular izquierda es posible convertirla, mediante un algoritmo en una derecha y viceversa.


Véase también[editar]