SlideShare una empresa de Scribd logo
Benjamín Joaquín Martínez Compiladores 2021B
2.10
Vuelva a escribir el pseudocódigo para la implementación del DFA para comentarios en C (sección
2.3.3) utilizando el carácter de entrada como prueba en case externo y el estado como prueba del
case interno. Compare su pseudocódigo con el del texto. ¿En qué circunstancias preferiría usted
utilizar esta organización para implementación de código de un DFA?
estado:= 1; {inicio]
while estado = 1,2,3 o 4 do
case estado of
1: case carácter de entrada of
“/” : avanza en la entrada;
estado:=2;
else estado:= … {error u otro};
end case;
2: case carácter de entrada of
“*”: avanza en la entrada;
estado:=3;
else estado := . . . {error u otro};
end case;
3: case carácter de entrada of
“*”: avanza en la entrada;
estado := 4;
else advance the input { y permanecer en el estado 3};
end case;
4: case carácter de entrada of
“/” avanza en la entrada;
estado := 5;
“*”: avanza en la entrada; { y permanecer en el estado 4 }
else avanza en la entrada;
estado := 3;
end case;
end case;
end while;
if estado = 5 then aceptar else error;
estado:= 1; {inicio]
while estado != 5 do
case carácter de entrada of
“/”: case estado of
1 : avanza en la entrada;
estado:=2;
2 : estado := . . . {error u otro};
3 : advance the input { y permanecer en el estado 3};
4 : avanza en la entrada;
estado := 5;
end case;
“*”: case estado of
1 : estado := . . . {error u otro};
2 : avanza en la entrada;
estado:=3;
3 : avanza en la entrada;
estado := 4;
4 : avanza en la entrada; { y permanecer en el estado 4 }
end case;
default: case estado of
1 : estado := . . . {error u otro};
2 : estado := . . . {error u otro};
3 : advance the input { y permanecer en el estado 3};
4 : avanza en la entrada;
estado := 3;
end case;
end case;
end while;
if estado = 5 then aceptar;
Preferiría usar esta organización donde específicos caracteres de entrada no me llevaran al
inmediato estado siguiente, o donde existiera un carácter de escape que me mueva de un estado
cualquiera al estado aceptable.
Benjamín Joaquín Martínez Compiladores 2021B
2.12 a) utilice la construcción de Thompson para convertir la expresión regular (a|b) * a (a|b|Ɛ)
en un NFA.
1
2
3
4
a
b
Ɛ
Ɛ
Ɛ
(a|b)*
5 6
7
8
9
a
a
b
Ɛ
a (a|b|Ɛ)
r
s
Ɛ
r
…
s
…
L(rs) = L(r) L(s)
Ɛ
1
2
3
4
a
b
Ɛ
Ɛ
Ɛ
5 6
7
8
9
a
a
b
Ɛ
Benjamín Joaquín Martínez Compiladores 2021B
b) Convierta el NFA del inciso a en un DFA utilizando la construcción de subconjuntos.
2.9
Dibuje un DFA que acepte las cuatro palabras reservadas case, char, const y continue del lenguaje
C
c
a
s e
h a r
o
n
s
s
t
t
i n u e
1,2,
4,5
1,2,4,5
,6,7,9
1,3,
4,5 1,3,4,
5,8
1,2,4,
5,6,9
1
a
b
b b
a
a
b
a
a
a
Benjamín Joaquín Martínez Compiladores 2021B
2.4
En la definición de las expresiones regulares describimos la precedencia de las operaciones pero
no su asociatividad. Por ejemplo, no especificamos si a|b|c significaba (a|b)|c o a|(b|c), y lo
mismo para la concatenación ¿A que debio esto?
Puede deberse a que esto equivaldría a la unión, es decir a|b|c y (a|b)|c tendría el mismo
diagrama de transición, y la concatenación al ser la unión de dos expresiones no existe un orden o
precedencias más que el que dicte quien lo haga, por lo que en la expresión regular no existe un
símbolo para esta más que unir las expresiones en una.

Más contenido relacionado

La actualidad más candente

Tổng hợp kiến thức toán 6.pdf
Tổng hợp kiến thức toán 6.pdfTổng hợp kiến thức toán 6.pdf
Tổng hợp kiến thức toán 6.pdf
Trung tâm Gia sư VietEdu
 
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại SốMột số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Bồi dưỡng Toán lớp 6
 
Taller valor numerico mat 8
Taller valor numerico  mat 8Taller valor numerico  mat 8
Taller valor numerico mat 8
Ramiro Muñoz
 
Apostila de matrizes determinantes e sistemas 2008
Apostila de matrizes determinantes e sistemas 2008Apostila de matrizes determinantes e sistemas 2008
Apostila de matrizes determinantes e sistemas 2008
Jussileno Souza
 
Mdc e mmc de polinônios
Mdc e mmc de polinôniosMdc e mmc de polinônios
Mdc e mmc de polinôniosJuarez Silva
 
Lista de exercícios - 8° ANO - unidade ii
Lista de exercícios - 8° ANO - unidade iiLista de exercícios - 8° ANO - unidade ii
Lista de exercícios - 8° ANO - unidade ii
Rodrigo Borges
 
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm sốPhương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
Linh Nguyễn
 
ALGEBRA Palmer UNI.pdf
ALGEBRA Palmer UNI.pdfALGEBRA Palmer UNI.pdf
ALGEBRA Palmer UNI.pdf
marianlui
 
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFEVẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
VOBAOTOAN
 
Khoảng cách trong hàm số - phần 2
Khoảng cách trong hàm số - phần 2Khoảng cách trong hàm số - phần 2
Khoảng cách trong hàm số - phần 2
diemthic3
 
Chuyên đề 4 bất đẳng thức và bất phương trình
Chuyên đề 4 bất đẳng thức và bất phương trìnhChuyên đề 4 bất đẳng thức và bất phương trình
Chuyên đề 4 bất đẳng thức và bất phương trình
phamchidac
 
Đồ thị hàm số - toán lớp 9
Đồ thị hàm số - toán lớp 9Đồ thị hàm số - toán lớp 9
Đồ thị hàm số - toán lớp 9
Hồng Quang
 
Apostila matematica fundamental
Apostila matematica fundamentalApostila matematica fundamental
Apostila matematica fundamental
Maryana Moreira
 
Dãy số và giới hạn
Dãy số và giới hạnDãy số và giới hạn
Dãy số và giới hạn
Chàng Trai Cô Đơn
 
Lista de Exercícios 1 – Números Inteiros
Lista de Exercícios 1 – Números InteirosLista de Exercícios 1 – Números Inteiros
Lista de Exercícios 1 – Números Inteiros
Everton Moraes
 
Trabalho sobre frações para os 6ºs anos
Trabalho sobre frações para os 6ºs anosTrabalho sobre frações para os 6ºs anos
Trabalho sobre frações para os 6ºs anos
P Valter De Almeida Gomes
 
Divisao de-numeros-naturais
Divisao de-numeros-naturaisDivisao de-numeros-naturais
Divisao de-numeros-naturais
Estado de Santa Catrina
 

La actualidad más candente (20)

Tổng hợp kiến thức toán 6.pdf
Tổng hợp kiến thức toán 6.pdfTổng hợp kiến thức toán 6.pdf
Tổng hợp kiến thức toán 6.pdf
 
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại SốMột số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
 
Taller valor numerico mat 8
Taller valor numerico  mat 8Taller valor numerico  mat 8
Taller valor numerico mat 8
 
Hoán vị lặp tổ hợp
Hoán vị lặp tổ hợpHoán vị lặp tổ hợp
Hoán vị lặp tổ hợp
 
Lista de exercícios polinômio reduzido - ii unidade
Lista de exercícios   polinômio reduzido - ii unidadeLista de exercícios   polinômio reduzido - ii unidade
Lista de exercícios polinômio reduzido - ii unidade
 
Apostila de matrizes determinantes e sistemas 2008
Apostila de matrizes determinantes e sistemas 2008Apostila de matrizes determinantes e sistemas 2008
Apostila de matrizes determinantes e sistemas 2008
 
Mdc e mmc de polinônios
Mdc e mmc de polinôniosMdc e mmc de polinônios
Mdc e mmc de polinônios
 
Bất đẳng thức pham+van+thuan
Bất đẳng thức pham+van+thuanBất đẳng thức pham+van+thuan
Bất đẳng thức pham+van+thuan
 
Lista de exercícios - 8° ANO - unidade ii
Lista de exercícios - 8° ANO - unidade iiLista de exercícios - 8° ANO - unidade ii
Lista de exercícios - 8° ANO - unidade ii
 
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm sốPhương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
Phương pháp tìm giá trị lớn nhất và giá trị nhỏ nhất của hàm số
 
ALGEBRA Palmer UNI.pdf
ALGEBRA Palmer UNI.pdfALGEBRA Palmer UNI.pdf
ALGEBRA Palmer UNI.pdf
 
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFEVẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
VẼ MẶT BẰNG ĐÀI CỌC TRONG SAFE
 
Khoảng cách trong hàm số - phần 2
Khoảng cách trong hàm số - phần 2Khoảng cách trong hàm số - phần 2
Khoảng cách trong hàm số - phần 2
 
Chuyên đề 4 bất đẳng thức và bất phương trình
Chuyên đề 4 bất đẳng thức và bất phương trìnhChuyên đề 4 bất đẳng thức và bất phương trình
Chuyên đề 4 bất đẳng thức và bất phương trình
 
Đồ thị hàm số - toán lớp 9
Đồ thị hàm số - toán lớp 9Đồ thị hàm số - toán lớp 9
Đồ thị hàm số - toán lớp 9
 
Apostila matematica fundamental
Apostila matematica fundamentalApostila matematica fundamental
Apostila matematica fundamental
 
Dãy số và giới hạn
Dãy số và giới hạnDãy số và giới hạn
Dãy số và giới hạn
 
Lista de Exercícios 1 – Números Inteiros
Lista de Exercícios 1 – Números InteirosLista de Exercícios 1 – Números Inteiros
Lista de Exercícios 1 – Números Inteiros
 
Trabalho sobre frações para os 6ºs anos
Trabalho sobre frações para os 6ºs anosTrabalho sobre frações para os 6ºs anos
Trabalho sobre frações para os 6ºs anos
 
Divisao de-numeros-naturais
Divisao de-numeros-naturaisDivisao de-numeros-naturais
Divisao de-numeros-naturais
 

Más de Benjamín Joaquín Martínez

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
Benjamín Joaquín Martínez
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
Benjamín Joaquín Martínez
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
Benjamín Joaquín Martínez
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
Benjamín Joaquín Martínez
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
Benjamín Joaquín Martínez
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
Benjamín Joaquín Martínez
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
Benjamín Joaquín Martínez
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
Benjamín Joaquín Martínez
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
Benjamín Joaquín Martínez
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
Benjamín Joaquín Martínez
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
Benjamín Joaquín Martínez
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
Benjamín Joaquín Martínez
 
Bd distribuidas
Bd distribuidasBd distribuidas
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
Benjamín Joaquín Martínez
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
Benjamín Joaquín Martínez
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
Benjamín Joaquín Martínez
 
Fragmentación
FragmentaciónFragmentación
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
Benjamín Joaquín Martínez
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
Benjamín Joaquín Martínez
 
Bases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneasBases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneas
Benjamín Joaquín Martínez
 

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 
Bases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneasBases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneas
 

Último

Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
Yisel56
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 

Último (7)

Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 

133467_COMPILADORES2

  • 1. Benjamín Joaquín Martínez Compiladores 2021B 2.10 Vuelva a escribir el pseudocódigo para la implementación del DFA para comentarios en C (sección 2.3.3) utilizando el carácter de entrada como prueba en case externo y el estado como prueba del case interno. Compare su pseudocódigo con el del texto. ¿En qué circunstancias preferiría usted utilizar esta organización para implementación de código de un DFA? estado:= 1; {inicio] while estado = 1,2,3 o 4 do case estado of 1: case carácter de entrada of “/” : avanza en la entrada; estado:=2; else estado:= … {error u otro}; end case; 2: case carácter de entrada of “*”: avanza en la entrada; estado:=3; else estado := . . . {error u otro}; end case; 3: case carácter de entrada of “*”: avanza en la entrada; estado := 4; else advance the input { y permanecer en el estado 3}; end case; 4: case carácter de entrada of “/” avanza en la entrada; estado := 5; “*”: avanza en la entrada; { y permanecer en el estado 4 } else avanza en la entrada; estado := 3; end case; end case; end while; if estado = 5 then aceptar else error; estado:= 1; {inicio] while estado != 5 do case carácter de entrada of “/”: case estado of 1 : avanza en la entrada; estado:=2; 2 : estado := . . . {error u otro}; 3 : advance the input { y permanecer en el estado 3}; 4 : avanza en la entrada; estado := 5; end case; “*”: case estado of 1 : estado := . . . {error u otro}; 2 : avanza en la entrada; estado:=3; 3 : avanza en la entrada; estado := 4; 4 : avanza en la entrada; { y permanecer en el estado 4 } end case; default: case estado of 1 : estado := . . . {error u otro}; 2 : estado := . . . {error u otro}; 3 : advance the input { y permanecer en el estado 3}; 4 : avanza en la entrada; estado := 3; end case; end case; end while; if estado = 5 then aceptar; Preferiría usar esta organización donde específicos caracteres de entrada no me llevaran al inmediato estado siguiente, o donde existiera un carácter de escape que me mueva de un estado cualquiera al estado aceptable.
  • 2. Benjamín Joaquín Martínez Compiladores 2021B 2.12 a) utilice la construcción de Thompson para convertir la expresión regular (a|b) * a (a|b|Ɛ) en un NFA. 1 2 3 4 a b Ɛ Ɛ Ɛ (a|b)* 5 6 7 8 9 a a b Ɛ a (a|b|Ɛ) r s Ɛ r … s … L(rs) = L(r) L(s) Ɛ 1 2 3 4 a b Ɛ Ɛ Ɛ 5 6 7 8 9 a a b Ɛ
  • 3. Benjamín Joaquín Martínez Compiladores 2021B b) Convierta el NFA del inciso a en un DFA utilizando la construcción de subconjuntos. 2.9 Dibuje un DFA que acepte las cuatro palabras reservadas case, char, const y continue del lenguaje C c a s e h a r o n s s t t i n u e 1,2, 4,5 1,2,4,5 ,6,7,9 1,3, 4,5 1,3,4, 5,8 1,2,4, 5,6,9 1 a b b b a a b a a a
  • 4. Benjamín Joaquín Martínez Compiladores 2021B 2.4 En la definición de las expresiones regulares describimos la precedencia de las operaciones pero no su asociatividad. Por ejemplo, no especificamos si a|b|c significaba (a|b)|c o a|(b|c), y lo mismo para la concatenación ¿A que debio esto? Puede deberse a que esto equivaldría a la unión, es decir a|b|c y (a|b)|c tendría el mismo diagrama de transición, y la concatenación al ser la unión de dos expresiones no existe un orden o precedencias más que el que dicte quien lo haga, por lo que en la expresión regular no existe un símbolo para esta más que unir las expresiones en una.