Вы находитесь на странице: 1из 4

Ejercicios Adicionales Tema 1 y 2 2 de octubre de 2012

Ejercicio 1:
Queremos generar listas enumeradas en HTML. Para ello, tenemos las siguientes palabras reservadas: la pareja
TKN_OL y TKN_END_OL que indican el inicio y final de una lista y la pareja TKN_LI y TKN_END_LI
que encierran un tem. Disear una gramtica LL(1) que genere dicho lenguaje. La gramtica debe cumplir
que: i) En el fichero de datos entrada debe haber al menos una lista; ii) Pueden existir listas dentro de listas; iii)
No pueden existir listas vacas, sin tems u otras listas; iv) Detrs o delante de una lista pueden ir un tem u otra
lista y v) A un tem le puede seguir otro tem o una lista.

Las expresiones regulares que definen los componentes lxicos de nuestro lenguaje son:

TKN_OL: <OL>
TKN_END_OL: </OL>
TKN_LI: <LI>
TKN_END_LI: </LI>
TKN_ID: [a-zA-Z]+
TKN_BLANCO: [\n\t ]

Un ejemplo de las sentencias a generar es:

<OL>
<LI> este es el primer tem </LI>
<OL>
<LI> un tem de otra lista </LI>
<LI> otro tem de otra lista </LI>
</OL>
<LI> ms tems </LI>
</OL>

Ejercicio 2:
Disear una gramtica que genere sentencias de llamadas a funciones con un nmero indeterminado de
argumentos. Asumid que: i) Puede existir anidamiento en llamadas a funciones, es decir, un argumento puede
ser lo que devuelva la llamada a una funcin; ii) Pueden existir funciones sin argumentos; iii) Slo tenemos la
operacin asignacin.

Ejemplo: a = Suma(Suma(a,b), c);

Ejercicio 3:
Disea una gramtica que permita generar sentencias if_else anidadas.

Ejercicio 4:
Disea una gramtica que permita generar declaraciones en C++ de clases dentro de clases.
Ejercicios Adicionales Tema 1 y 2 2 de octubre de 2012

SOLUCION EJERCICIO 2.2 - APUNTES

typedef enum {TKN_MENOR, TKN_MENORIG, TKN_IG, TKN_MAYOR, TKN_MAYORIG, TKN_DIST, TKN_ERROR }


TokenType;

typedef enum {INICIO, MENOR, IGUAL, MAYOR, ACEPTAR } StateType;

typedef struct {
TokenType tok;
strig lex;
} TokenRecord;

TokenRecord getToken(void) {
char c;
StateType estado = INICIO;
TokenRecord token;

while (estado != ACEPTAR)


{
c = getChar();
switch (estado)
{
case INICIO:
if ( (c ==' ') || (c == 't') || (c == '\n')) ; // no hacer nada
else if (c =='<')
estado = MENOR;
else if (c == '=')
estado = IGUAL;
else if (c == '>')
estado = MAYOR;
else
Ejercicios Adicionales Tema 1 y 2 2 de octubre de 2012

{
estado = ACEPTAR;
token.tok = TKN_ERROR;
}
break;
case MENOR:
if ( c == '>')
{
estado = ACEPTAR;
token.tok = TKN_DIST;
}
else if ( c == '=')
{
estado = ACEPTAR;
token.tok = TKN_MENORIG;
}
else
{
estado = ACEPTAR;
token.tok = TKN_MENOR;
unGetChar();
}
break;
case IGUAL:
if ( c == '=')
{
estado = ACEPTAR;
token.tok = TKN_IG;
}
else
{
estado = ACEPTAR;
token.tok = TKN_ERROR;
}
break;
case MAYOR:
if ( c == '=')
{
estado = ACEPTAR;
token.tok = TKN_MAYORIG;
}
else
{
estado = ACEPTAR;
token.tok = TKN_MAYOR;
unGetChar();
}
break;
} //end_switch
} // end_while
return token;
} // end_function
Ejercicios Adicionales Tema 1 y 2 2 de octubre de 2012

Вам также может понравиться

  • Instrucciones Pla de Contingència FAMILIAS
    Instrucciones Pla de Contingència FAMILIAS
    Документ10 страниц
    Instrucciones Pla de Contingència FAMILIAS
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Evinic 3ep CL
    Evinic 3ep CL
    Документ12 страниц
    Evinic 3ep CL
    Irene
    Оценок пока нет
  • Mod 145 2015
    Mod 145 2015
    Документ2 страницы
    Mod 145 2015
    nachete60
    Оценок пока нет
  • Agenda 20 21 6horas PDF
    Agenda 20 21 6horas PDF
    Документ151 страница
    Agenda 20 21 6horas PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Vamos A Multiplicar - Helados
    Vamos A Multiplicar - Helados
    Документ12 страниц
    Vamos A Multiplicar - Helados
    Dgm Cb Gfm Dg
    100% (2)
  • Instalación de Certificado Digital en Fichero Firefox 56 o Superior
    Instalación de Certificado Digital en Fichero Firefox 56 o Superior
    Документ4 страницы
    Instalación de Certificado Digital en Fichero Firefox 56 o Superior
    Francisco Buendía Del Molino
    Оценок пока нет
  • Mi Libro de Letras PDF
    Mi Libro de Letras PDF
    Документ31 страница
    Mi Libro de Letras PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • ANEXO III Manifiesto PDF
    ANEXO III Manifiesto PDF
    Документ1 страница
    ANEXO III Manifiesto PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Febrero0304v1 PDF
    Febrero0304v1 PDF
    Документ4 страницы
    Febrero0304v1 PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Aec 520
    Aec 520
    Документ21 страница
    Aec 520
    Agustin Duarte Orozco
    Оценок пока нет
  • Aguacate Papaya 2017
    Aguacate Papaya 2017
    Документ1 страница
    Aguacate Papaya 2017
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Funciones
    Funciones
    Документ10 страниц
    Funciones
    Roberto Humerez
    Оценок пока нет
  • Febrero0304v2 PDF
    Febrero0304v2 PDF
    Документ4 страницы
    Febrero0304v2 PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Boletin Huerto 165
    Boletin Huerto 165
    Документ2 страницы
    Boletin Huerto 165
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Ex MP PDF
    Ex MP PDF
    Документ3 страницы
    Ex MP PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Tema 10: Transmisión de Datos en Redes ATM y Frame Relay
    Tema 10: Transmisión de Datos en Redes ATM y Frame Relay
    Документ37 страниц
    Tema 10: Transmisión de Datos en Redes ATM y Frame Relay
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Aic T5 1
    Aic T5 1
    Документ2 страницы
    Aic T5 1
    Dgm Cb Gfm Dg
    Оценок пока нет
  • AED Tema 06 Cuestiones PDF
    AED Tema 06 Cuestiones PDF
    Документ3 страницы
    AED Tema 06 Cuestiones PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • FFI Bandas
    FFI Bandas
    Документ1 страница
    FFI Bandas
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Lac p7
    Lac p7
    Документ2 страницы
    Lac p7
    Dgm Cb Gfm Dg
    Оценок пока нет
  • AED Tema 08 Cuestiones PDF
    AED Tema 08 Cuestiones PDF
    Документ3 страницы
    AED Tema 08 Cuestiones PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Analisis Lexico
    Analisis Lexico
    Документ25 страниц
    Analisis Lexico
    Victor M Arenas
    Оценок пока нет
  • AED Tema 05 Cuestiones PDF
    AED Tema 05 Cuestiones PDF
    Документ3 страницы
    AED Tema 05 Cuestiones PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • C 18 Usb
    C 18 Usb
    Документ83 страницы
    C 18 Usb
    Armando Antonio Perez
    Оценок пока нет
  • Exajul04 PDF
    Exajul04 PDF
    Документ2 страницы
    Exajul04 PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Exafeb 09
    Exafeb 09
    Документ1 страница
    Exafeb 09
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Exajul04 PDF
    Exajul04 PDF
    Документ2 страницы
    Exajul04 PDF
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Exafeb 10
    Exafeb 10
    Документ1 страница
    Exafeb 10
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Exafeb 08
    Exafeb 08
    Документ1 страница
    Exafeb 08
    Dgm Cb Gfm Dg
    Оценок пока нет
  • Introducción
    Introducción
    Документ3 страницы
    Introducción
    Luis Alberto Cuenta de Estudio
    Оценок пока нет
  • Ficha Reporte Tecnico
    Ficha Reporte Tecnico
    Документ1 страница
    Ficha Reporte Tecnico
    Grace Mena Cedeño
    Оценок пока нет
  • Programación
    Programación
    Документ3 страницы
    Programación
    Rebecca Giselle Ruíz Alzaga
    Оценок пока нет
  • Create, Drop y Alter
    Create, Drop y Alter
    Документ14 страниц
    Create, Drop y Alter
    Cristian David
    Оценок пока нет
  • FPIPS-102 Vision Del Negocio
    FPIPS-102 Vision Del Negocio
    Документ10 страниц
    FPIPS-102 Vision Del Negocio
    Josue Del Piero Pablo Guivin
    Оценок пока нет
  • Lab03 - Macros I
    Lab03 - Macros I
    Документ20 страниц
    Lab03 - Macros I
    Ricardo Vilca
    Оценок пока нет
  • Guía de Primeros Pasos Con CMMT-As-PN - Rev3
    Guía de Primeros Pasos Con CMMT-As-PN - Rev3
    Документ20 страниц
    Guía de Primeros Pasos Con CMMT-As-PN - Rev3
    Tomas GV
    Оценок пока нет
  • Curso Modulo 1
    Curso Modulo 1
    Документ21 страница
    Curso Modulo 1
    feñamen
    Оценок пока нет
  • Tutorial1html HOLA MUNDO
    Tutorial1html HOLA MUNDO
    Документ14 страниц
    Tutorial1html HOLA MUNDO
    Jorge Diaz
    Оценок пока нет
  • Unidad Modular 1 Ic
    Unidad Modular 1 Ic
    Документ12 страниц
    Unidad Modular 1 Ic
    lucaspatirck cruz mendoza
    Оценок пока нет
  • Manual de Implementacion Del Siam2
    Manual de Implementacion Del Siam2
    Документ36 страниц
    Manual de Implementacion Del Siam2
    Briseyda Bravo Huayta
    Оценок пока нет
  • Actividad Unidad 1.
    Actividad Unidad 1.
    Документ7 страниц
    Actividad Unidad 1.
    JORGE HERNANDEZ
    Оценок пока нет
  • Optimización de Redes
    Optimización de Redes
    Документ22 страницы
    Optimización de Redes
    Bianca Paola Castro Paniagua
    Оценок пока нет
  • Tarea - 1 Herramienta Estadísticas SPSS - 7!3!2022
    Tarea - 1 Herramienta Estadísticas SPSS - 7!3!2022
    Документ4 страницы
    Tarea - 1 Herramienta Estadísticas SPSS - 7!3!2022
    Kevin Tamayo
    Оценок пока нет
  • Animación Con Actionscript
    Animación Con Actionscript
    Документ14 страниц
    Animación Con Actionscript
    Ferney Castro
    Оценок пока нет
  • Act 1 Mod 5
    Act 1 Mod 5
    Документ3 страницы
    Act 1 Mod 5
    Frederick Garcia
    Оценок пока нет
  • Reto Técnico Ingeniero de Desarrollo PHP
    Reto Técnico Ingeniero de Desarrollo PHP
    Документ5 страниц
    Reto Técnico Ingeniero de Desarrollo PHP
    anailys rodriguez
    Оценок пока нет
  • Cómo Programar Un Microcontrolador Con PIC C
    Cómo Programar Un Microcontrolador Con PIC C
    Документ17 страниц
    Cómo Programar Un Microcontrolador Con PIC C
    daniel sebastian saenz rangel
    Оценок пока нет
  • Tema de Gridview
    Tema de Gridview
    Документ27 страниц
    Tema de Gridview
    ivanmc_libra24
    Оценок пока нет
  • ALBERTO ALVAREZ 1853272 N3 (Practica8)
    ALBERTO ALVAREZ 1853272 N3 (Practica8)
    Документ3 страницы
    ALBERTO ALVAREZ 1853272 N3 (Practica8)
    betto alvarez
    Оценок пока нет
  • 1P Investigación Actividad 1 U1 F
    1P Investigación Actividad 1 U1 F
    Документ6 страниц
    1P Investigación Actividad 1 U1 F
    carlos chi
    Оценок пока нет
  • Booklet
    Booklet
    Документ185 страниц
    Booklet
    emy
    Оценок пока нет
  • Investigación de Sistemas Operativos
    Investigación de Sistemas Operativos
    Документ8 страниц
    Investigación de Sistemas Operativos
    manuel.castillo Manuel Castillo Ignacio
    Оценок пока нет
  • DAX M03A 2101 Programacion A
    DAX M03A 2101 Programacion A
    Документ119 страниц
    DAX M03A 2101 Programacion A
    sg
    Оценок пока нет
  • Programacion de Microcontroladores
    Programacion de Microcontroladores
    Документ4 страницы
    Programacion de Microcontroladores
    Rafæl RK
    Оценок пока нет
  • Conceptos Básicos
    Conceptos Básicos
    Документ6 страниц
    Conceptos Básicos
    Miguel Orozco
    Оценок пока нет
  • Referencia de Uso API Banco Plaza - Comprobacion Pago P2P - v.3.4.1
    Referencia de Uso API Banco Plaza - Comprobacion Pago P2P - v.3.4.1
    Документ84 страницы
    Referencia de Uso API Banco Plaza - Comprobacion Pago P2P - v.3.4.1
    jese eliezer brito verdi
    Оценок пока нет
  • Tarea Prog 3 P
    Tarea Prog 3 P
    Документ5 страниц
    Tarea Prog 3 P
    Yop
    Оценок пока нет
  • Esquema de Publicaciones 202122
    Esquema de Publicaciones 202122
    Документ3 страницы
    Esquema de Publicaciones 202122
    王賽拉
    Оценок пока нет
  • Conceptos Basicos de La Programación Lógica
    Conceptos Basicos de La Programación Lógica
    Документ3 страницы
    Conceptos Basicos de La Programación Lógica
    MariaLuisa Alvarado Mancilla
    Оценок пока нет