Jerarquía deJerarquía de
ChomskyChomsky
Roberto Daniel Pantoja TovarRoberto Daniel Pantoja Tovar
David del Ángel Rodríguez...
IntroducciónIntroducción
 En lingüística laEn lingüística la
jerarquía dejerarquía de
Chomsky es unaChomsky es una
clasif...
Expresiones regularesExpresiones regulares
 Una expresión regular, a menudo llamada tambiénUna expresión regular, a menud...
EjemplosEjemplos::
 Supongamos que se desea generar una expresión regularaSupongamos que se desea generar una expresión r...
Jerarquía de ChomskyJerarquía de Chomsky
 Clasifico las gramáticas en 4 familias.Clasifico las gramáticas en 4 familias.
...
Descripción de los tipos deDescripción de los tipos de
jerarquíasjerarquías
Tipo3: lenguajesTipo3: lenguajes
regularesregulares
 Estos tipos de lenguajes se resuelvenEstos tipos de lenguajes se res...
Tipo2: Libres oTipo2: Libres o
Independientes de contextoIndependientes de contexto
 Estos tipos de lenguajes se resuelve...
Tipo1: Sensibles oTipo1: Sensibles o
Dependientes de contextoDependientes de contexto
 Estos tipos de lenguajes se resuel...
 Ejemplo:Ejemplo:
Con éste tipo de lenguajes se hacen los parser de un compilador.Con éste tipo de lenguajes se hacen los...
Tipo0: RecursivamenteTipo0: Recursivamente
enumerableenumerable
 Estos tipos de lenguajes se resuelven medianteEstos tipo...
 Ejemplo:Ejemplo:
Con éste tipo de lenguajes se hacen los parser de un compiladorCon éste tipo de lenguajes se hacen los ...
Próxima SlideShare
Cargando en…5
×

Jerarquia de chomsky

718 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
718
En SlideShare
0
De insertados
0
Número de insertados
51
Acciones
Compartido
0
Descargas
25
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Jerarquia de chomsky

  1. 1. Jerarquía deJerarquía de ChomskyChomsky Roberto Daniel Pantoja TovarRoberto Daniel Pantoja Tovar David del Ángel RodríguezDavid del Ángel Rodríguez Karen Ramírez RodriguezKaren Ramírez Rodriguez
  2. 2. IntroducciónIntroducción  En lingüística laEn lingüística la jerarquía dejerarquía de Chomsky es unaChomsky es una clasificaciónclasificación jerárquica dejerárquica de distintos tipos dedistintos tipos de gramáticas formalesgramáticas formales que generanque generan lenguajes formales.lenguajes formales. Esta jerarquía fueEsta jerarquía fue descrita por Noamdescrita por Noam Chomsky en 1956.Chomsky en 1956.
  3. 3. Expresiones regularesExpresiones regulares  Una expresión regular, a menudo llamada tambiénUna expresión regular, a menudo llamada también patrón, es una expresión que describe unpatrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementosconjunto de cadenas sin enumerar sus elementos  Para poder realizar expresiones regularesPara poder realizar expresiones regulares debemos tomar en cuenta esto:debemos tomar en cuenta esto:  Sea S y R símbolos cualquieraSea S y R símbolos cualquiera  1. entonces R y/o S son expresiones regulares1. entonces R y/o S son expresiones regulares  2. R*S=RS es una expresión regular2. R*S=RS es una expresión regular  3. (R) es una expresión regular3. (R) es una expresión regular  4. nulo (vacío) es una expresión regular4. nulo (vacío) es una expresión regular  5. R*=a que R puede repetirse 0 muchas veces5. R*=a que R puede repetirse 0 muchas veces  6. R+=R(R*) R se repite 1 o más veces6. R+=R(R*) R se repite 1 o más veces  7. R?=R o7. R?=R o vacío quierevacío quiere decir que R puededecir que R puede venirvenir 11 vez o no venir nuncavez o no venir nunca
  4. 4. EjemplosEjemplos::  Supongamos que se desea generar una expresión regularaSupongamos que se desea generar una expresión regulara que reconozca un numero de cédulaque reconozca un numero de cédula  La solución seriaLa solución seria  Formato de no. De cedula =A1-12354544Formato de no. De cedula =A1-12354544  Expresión regular que reconoce éste tipo de informaciónExpresión regular que reconoce éste tipo de información  LD-DD*LD-DD*  DondeDonde  L representa al conjunto de todas las letras del alfabetoL representa al conjunto de todas las letras del alfabeto  D representa el conjunto de todos los decimalesD representa el conjunto de todos los decimales  Ejemplo2Ejemplo2  Supongamos que se desea generar una expresión regularSupongamos que se desea generar una expresión regular que reconozca números decimalesque reconozca números decimales  DD*.DD*DD*.DD*  Aquí decimos que puede venir un digito (D) seguido de otroAquí decimos que puede venir un digito (D) seguido de otro digito que puede venir 0 o muchas veces (D*) hágase notardigito que puede venir 0 o muchas veces (D*) hágase notar que el (.) que se encuentra no es de concatenación sino queque el (.) que se encuentra no es de concatenación sino que es el punto decimal, después de esto viene otro digito (D)es el punto decimal, después de esto viene otro digito (D) obligatorio ya que no se acepta 3. ya que no seria un númeroobligatorio ya que no se acepta 3. ya que no seria un número decimal.decimal.
  5. 5. Jerarquía de ChomskyJerarquía de Chomsky  Clasifico las gramáticas en 4 familias.Clasifico las gramáticas en 4 familias. - Las no restringidas (TipoLas no restringidas (Tipo 0)0) - Sensibles al contexto (TipoSensibles al contexto (Tipo 1)1) - Independientes del contexto (Tipo 2)Independientes del contexto (Tipo 2) - Gramáticas Regulares (TipoGramáticas Regulares (Tipo 3)3)
  6. 6. Descripción de los tipos deDescripción de los tipos de jerarquíasjerarquías
  7. 7. Tipo3: lenguajesTipo3: lenguajes regularesregulares  Estos tipos de lenguajes se resuelvenEstos tipos de lenguajes se resuelven mediante autómatas finitos.mediante autómatas finitos.  CaracterísticasCaracterísticas  Del lado derecho de cada producción debeDel lado derecho de cada producción debe empezar con un símbolo terminalempezar con un símbolo terminal  Ejemplo:Ejemplo: Con éste tipo de lenguaje se hacen los scannersCon éste tipo de lenguaje se hacen los scanners
  8. 8. Tipo2: Libres oTipo2: Libres o Independientes de contextoIndependientes de contexto  Estos tipos de lenguajes se resuelven medianteEstos tipos de lenguajes se resuelven mediante autómatas descendentesautómatas descendentes  CaracterísticasCaracterísticas  Del lado derecho de cada producción puedeDel lado derecho de cada producción puede empezar con un símbolo terminal o con un noempezar con un símbolo terminal o con un no terminalterminal  Los lenguajes regulares también se puedenLos lenguajes regulares también se pueden resolver mediante autómatas descendentesresolver mediante autómatas descendentes  Ejemplo:Ejemplo: Con éste tipo de lenguaje se programa los parser en un compiladorCon éste tipo de lenguaje se programa los parser en un compilador
  9. 9. Tipo1: Sensibles oTipo1: Sensibles o Dependientes de contextoDependientes de contexto  Estos tipos de lenguajes se resuelven medianteEstos tipos de lenguajes se resuelven mediante autómatas lineales limitadosautómatas lineales limitados  CaracterísticasCaracterísticas  Del lado derecho de cada producción puedeDel lado derecho de cada producción puede empezar con un símbolo terminal o con un noempezar con un símbolo terminal o con un no terminal y del lado izquierdo puede empezar conterminal y del lado izquierdo puede empezar con más de un símbolo no terminal.más de un símbolo no terminal.  RestricciónRestricción  El número de no terminales del lado izquierdo deEl número de no terminales del lado izquierdo de la producción debe ser menor o igual al número dela producción debe ser menor o igual al número de símbolos del lado derechosímbolos del lado derecho  NotaNota  Los lenguajes regulares y los libres de contextoLos lenguajes regulares y los libres de contexto también se pueden resolver mediante autómatastambién se pueden resolver mediante autómatas lineales limitados.lineales limitados.
  10. 10.  Ejemplo:Ejemplo: Con éste tipo de lenguajes se hacen los parser de un compilador.Con éste tipo de lenguajes se hacen los parser de un compilador. Un analizador sintáctico (en inglésUn analizador sintáctico (en inglés parserparser) es una de las partes) es una de las partes dede un compilador que transforma su entrada en un árbol deun compilador que transforma su entrada en un árbol de derivación.derivación. El análisis sintáctico convierte el texto de entrada en otrasEl análisis sintáctico convierte el texto de entrada en otras estructuras (comúnmente árboles), que son más útiles para elestructuras (comúnmente árboles), que son más útiles para el posterior análisis y capturan la jerarquía implícita de la entrada.posterior análisis y capturan la jerarquía implícita de la entrada.
  11. 11. Tipo0: RecursivamenteTipo0: Recursivamente enumerableenumerable  Estos tipos de lenguajes se resuelven medianteEstos tipos de lenguajes se resuelven mediante maquinas de Turínmaquinas de Turín  CaracterísticasCaracterísticas  Del lado derecho de cada producción puedeDel lado derecho de cada producción puede empezar con un símbolo terminal o con un noempezar con un símbolo terminal o con un no terminal y del lado izquierdo puede empezar conterminal y del lado izquierdo puede empezar con más de un símbolo no terminal.más de un símbolo no terminal.  RestricciónRestricción  No tiene ninguna restricción solamente que delNo tiene ninguna restricción solamente que del lado izquierdo debe haber por lo menos unlado izquierdo debe haber por lo menos un símbolo no terminalsímbolo no terminal  NotaNota  Todos los demás tipos de lenguajes también seTodos los demás tipos de lenguajes también se pueden resolver mediante maquinas de Turínpueden resolver mediante maquinas de Turín
  12. 12.  Ejemplo:Ejemplo: Con éste tipo de lenguajes se hacen los parser de un compiladorCon éste tipo de lenguajes se hacen los parser de un compilador

×