SlideShare ist ein Scribd-Unternehmen logo
1 von 35
En un compilador, el análisis lineal se llama análisis lineal o exploración. Por análisis lineal entendemos la cadena de caracteres que constituye el programa fuente se lee de izquierda a derecha y se agrupan en componentes léxicos, que son secuencias de caracteres que tiene un significado colectivo. Por ejemplo, en análisis léxico los caracteres de las siguientes proposiciones de asignación
  Los espacios en blanco (delimitadores) que separan los caracteres de estos componentes léxicos normalmente se eliminan durante el análisis léxico.
Una expresión regular denota un conjunto de secuencias de símbolos  válidas que se construyen en base al alfabeto de un lenguaje. Generalmente estos conjuntos se representan como: Es una expresión regular que denota el conjunto vacío (el conjunto no contiene secuencias de símbolos).
  Una secuencia de símbolos S es una expresión  regular que denota a un conjunto que contiene a S. Operaciones  sobre Lenguajes   Es una expresión regular que denota al conjunto que contiene la secuencia vacía.
  *Son una notación para definir lenguajes *Se ha demostrado que pueden expresar la clase de los  lenguajes regulares * Permiten hacer una definición algebraica de un lenguaje * Se expresa el lenguaje de manera declarativa
  Dadas dos expresiones regulares E1, E2, el resultado de aplicar cualquiera de estas tres operaciones, da como resultado otra expresión regular: *Unión (E1 ∪ E2) = {x | x ∈ E1 ´ox ∈ E2 ´o x ∈ E1 ∩ E2}. *Concatenación E1  ・  E2 = {xy | x ∈ E1, y ∈ E2} *Clausura o Estrella de Kleene (E1* ) = ∪ i>=E1i
Construir una expresión regular es realizar operaciones sobre el alfabeto de un lenguaje. Podemos decir que el lenguaje, en su aspecto de léxico, está conformado por las operaciones    Unión de L y M . LUM = { S | S está en L ó S está en M } Concatenación de L y M. LM = { st | s está en L y t está en M}
  Cerradura Kleene. (L se repite de 0 a infinito) Cerradura Positiva. ( L se repite de 1 a infinito).
  Como se ve, las expresiones regulares son operaciones que se realizan sobre conjuntos de símbolos que pertenecen al alfabeto de un lenguaje. Estos conjuntos se describen colocando a los símbolos que pertenecen a ellos entre llaves. Por ejemplo, los caracteres que ubicamos como letras podrían conformar el conjunto {ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}
  Si los elementos del conjunto tienen un orden conocido o asociado al código ASCII se puede describir colocando el primer símbolo y el último separados por un guión (-) como {A-Z a-z} Para hacer más simple la construcción de una expresión regular, se designa bajo un nombre al conjunto con el cual se trabajará. así el conjunto letra se puede describir como L = {A-Z a-z}
  Cuando a un conjunto o a una expresión regular se le da un nombre, ésta recibe el nombre de definición regular. Así, la expresión regular para un identificador será: ID=L (L | D | G) * si las definiciones sobre las cuales está construida son: L= {A-Z a-z} D = {0123456789} G = {_}
  Por ejemplo, en Ada los identificadores están formados por letras, dígitos o guiones, pero el guión no puede ser el último caracter. La expresión regular con la cual se puede conformar el patrón para esta unidad de léxico puede ser: ID_ada = L (L | D) * (G (L | D ) + ) * U na expresión regular es un método formal para describir un patrón y puede ser empleada para construir un analizador léxico que lo reconozca en una computadora. De hecho, la expresión sufre una serie de transformaciones para llegar a ser explotada como tabla:
    Expresión Regular   se convierte en   Autómata Finito No deterministico (NFA)   se convierte en   Autómata Finito Deterministico (DFA)   que se representa como    Tabla  
  ,[object Object],[object Object],[object Object]
  Un NFA esa un modelo matemático que consiste de:  1.- Un conjunto de estados.  2.- Un conjunto de símbolos de entrada.  3.- Una función de transición que corresponde pares estado-símbolo a conjuntos de estados.  4.- Un estado So que denota como el estado inicial.  5.- Un conjunto de estados F que denotan los estados de aceptación o finales.  Un NFA no tiene restricciones para que exista mas de una transición con el mismo nombre a diferentes estados
  por lo que en una representación tabular no es posible determinar de  manera única el estado destino para un símbolo  determinado. Por ejemplo, el siguiente diagrama  representa la expresión  (a | b)* a b b  
  Un DFA es un caso especial de NFA en el que ningún estado tiene transiciones para diversos estados bajo el mismo símbolo y no se permiten transiciones épsilon. Los diagramas de transición son autómatas determinísticos. Por ejemplo, el DFA de (a | b)* a b b puede ser:
que podría ser muy aproximado al diagrama de transición que construiríamos para la expresión.
  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
  Para la implementación de la tabla de símbolos, nos hemos ayudado de la librería  STL . Hemos hecho uso del contenedor STL_HASHMAP. El acceso se realiza aplicando una función hash sobre el char * del identificador del símbolo. Para mayor legibilidad y facilidad, hemos implementado la clase c_tabla_simbolos. Realiza las operaciones que necesitamos, y se las implementa haciendo uso del citado contenedor hash.
  Debido a que necesitaremos más de una tabla en determinados momentos, y a su vez, una jerarquía entre las tablas, hemos implementado también la clase c_almacen_tablas. Dicha clase hace uso del contenedor STL_STACK.  A continuación se muestran los diagramas de las clases implementadas en notación UML.
  :
 
  El método show de la clase c_tabla_simbolos sirve para llamar a los métodos show de cada símbolo almacenado. De esa manera se realiza el volcado pedido.  En cuanto a la clase c_almacen_tablas, hemos implementado las operaciones avanzar, retroceder y enderezar. Sirven para poder movernos dentro de la pila sin perder elementos. Esto significa, que en un momento dado, podemos ejecutar avanzar sobre la pila, y la cima pasa a ser la tabla de símbolos previa.
  Hemos supuesto que esto puede ser provechoso para las operaciones en las que haya que buscar si un símbolo se encuentra en la tabla de símbolos actual o en cualquiera de las tablas previas de la jerarquía. Al utilizar internamente dos pilas, una llamada posterior a retroceder dejaría la pila en su situación original. Enderezar se utiliza para regresar la pila a su posición original desde cualquier posición.
  La clase Parse::Lex nos permite crear un analizador léxico. La estrategia seguida es mover el puntero de búsqueda dentro de la cadena a analizar utilizando conjuntamente el operador pos() y el ancla .  > cat -n tokenizer.pl 1  #!/usr/local/bin/perl 2 3  require 5.004; 4  #BEGIN {  unshift @INC, "../lib"; } 5 6  $^W = 0; 7  use Parse::Lex; 8  print STDERR "Version $Parse::ALex::VERSION" ;
  9 10  @token = ( 11  qw( 12  ADDOP  [-+] 13  LEFTP  [] 14  RIGHTP  [] 15  INTEGER  [1-9][0-9]* 16  NEWLINE   17  ), 18  qw(STRING),  [qw(" (?:[^"]+|"")* ")], 19  qw(ERROR  .*), sub {
  20  die qq!canapos;t analyze: "$_[1]"!; 21  } 22  ); 23 24  Parse::Lex->trace; 25  $lexer = Parse::Lex->new(@token); 26 27  $lexer->from(DATA);
  27  $lexer->from(DATA); 28  print &quot;Tokenization of DATA:&quot;; 29 30  TOKEN:while (1) { 31  $token = $lexer->next; 32  if (not $lexer->eoi) { 33  print &quot;Record number: &quot;, $lexer->line, &quot;&quot;; 34  print &quot;Type: &quot;, $token->name, &quot;&quot;; 35  print &quot;Content:->&quot;, $token->text, &quot;<-&quot;; 36  } else { 37  last TOKEN;
  38  } 39  } 40 41  __END__ 42  1+2-5 43  &quot;This is a multiline 44  string with an embedded &quot;&quot; in it&quot; 45  this is an invalid string with a &quot;&quot; in it&quot;
  Entrada:   function main(){ /* Otra prueba mas ! */ var a = 3 // var b = 2 /* a debería estar en la tabla de símbolos, b no !  */   var i var v = new Array (101) for (i=0; i<100; i+=5){ v[i]=i; }  
  for (i=0; i<100; i+=5){ document.write(v[i], &quot; &quot;); } document.write(&quot;&quot;); }   main(); // Fin de la prueba Salida:   Leyendo del fichero 'prueba10'
  ANA RAQUEL GARCIA FALLA YUDY MERCEDES LOSADA ROMERO
  *En que se clasifica las expresiones autónomas finitas? * Cual es la funcionalidad de las expresiones regulares?
  * El lenguaje en su aspecto léxico esta compuesto de que operaciones y de ejemplo de cada una de ellas.

Weitere ähnliche Inhalte

Was ist angesagt?

DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
BigbossH
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
angiepao1717
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
Leydi Hernandez
 

Was ist angesagt? (20)

Automatas de pila
Automatas de pilaAutomatas de pila
Automatas de pila
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
 
Autómatas de pila
Autómatas de pila Autómatas de pila
Autómatas de pila
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 

Andere mochten auch

Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
maryr_
 
Analisis lexico 2
Analisis lexico 2Analisis lexico 2
Analisis lexico 2
perlallamas
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
Germania Rodriguez
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
Areli Gómez
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
brayan_2012
 
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literarioNivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
oscar muñiz
 
Nivel Morfosintactico, literatura, analisis literario
Nivel Morfosintactico, literatura, analisis literarioNivel Morfosintactico, literatura, analisis literario
Nivel Morfosintactico, literatura, analisis literario
oscar muñiz
 
En el principio blas de otero
En el principio   blas de oteroEn el principio   blas de otero
En el principio blas de otero
Monica Ruiz
 

Andere mochten auch (20)

Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
Semantico.apun
Semantico.apunSemantico.apun
Semantico.apun
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 
Analisis lexico 2
Analisis lexico 2Analisis lexico 2
Analisis lexico 2
 
Clase15
Clase15Clase15
Clase15
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Análisis fonológico de las palabras
Análisis fonológico de las palabrasAnálisis fonológico de las palabras
Análisis fonológico de las palabras
 
Fondo y forma del poema
Fondo y forma del poemaFondo y forma del poema
Fondo y forma del poema
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintactico
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Arbol analisis sintactico
Arbol analisis sintacticoArbol analisis sintactico
Arbol analisis sintactico
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Blas de Otero
Blas de Otero  Blas de Otero
Blas de Otero
 
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literarioNivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
Nivel LéXico SemáNtico Y RetóRico, literatura, analisis literario
 
Nivel Morfosintactico, literatura, analisis literario
Nivel Morfosintactico, literatura, analisis literarioNivel Morfosintactico, literatura, analisis literario
Nivel Morfosintactico, literatura, analisis literario
 
En el principio blas de otero
En el principio   blas de oteroEn el principio   blas de otero
En el principio blas de otero
 

Ähnlich wie Analisis Lexico

Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
FARIDROJAS
 
Analisis lexico 1
Analisis lexico 1Analisis lexico 1
Analisis lexico 1
perlallamas
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
Universidad
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
jose haar
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
guest5fa3fc
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
Robert Wolf
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
mariellitaocj
 

Ähnlich wie Analisis Lexico (20)

Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Compiladores1
Compiladores1Compiladores1
Compiladores1
 
Analisis lexico 1
Analisis lexico 1Analisis lexico 1
Analisis lexico 1
 
Lenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdfLenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdf
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Compilador2
Compilador2Compilador2
Compilador2
 
Compilador Exp
Compilador ExpCompilador Exp
Compilador Exp
 
Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Lizbeth...
Lizbeth...Lizbeth...
Lizbeth...
 
Apuntes compiladores
Apuntes compiladoresApuntes compiladores
Apuntes compiladores
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
 
Lex yacc
Lex yaccLex yacc
Lex yacc
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
 

Mehr von FARIDROJAS (9)

Evauacion desempeño 1278 ppt
Evauacion desempeño 1278 pptEvauacion desempeño 1278 ppt
Evauacion desempeño 1278 ppt
 
Homenaje A Belen Falla2
Homenaje A Belen Falla2Homenaje A Belen Falla2
Homenaje A Belen Falla2
 
Conceptos BáSicos Io
Conceptos BáSicos IoConceptos BáSicos Io
Conceptos BáSicos Io
 
Ondas Maestros 2006
Ondas Maestros 2006Ondas Maestros 2006
Ondas Maestros 2006
 
Anteproyectosesionoctubre18
Anteproyectosesionoctubre18Anteproyectosesionoctubre18
Anteproyectosesionoctubre18
 
Compilador
CompiladorCompilador
Compilador
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre Jimenez
 
ANTEPROYECTO
ANTEPROYECTOANTEPROYECTO
ANTEPROYECTO
 
Validacion Y Verificacion
Validacion Y VerificacionValidacion Y Verificacion
Validacion Y Verificacion
 

Kürzlich hochgeladen

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Kürzlich hochgeladen (20)

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 

Analisis Lexico

  • 1. En un compilador, el análisis lineal se llama análisis lineal o exploración. Por análisis lineal entendemos la cadena de caracteres que constituye el programa fuente se lee de izquierda a derecha y se agrupan en componentes léxicos, que son secuencias de caracteres que tiene un significado colectivo. Por ejemplo, en análisis léxico los caracteres de las siguientes proposiciones de asignación
  • 2.   Los espacios en blanco (delimitadores) que separan los caracteres de estos componentes léxicos normalmente se eliminan durante el análisis léxico.
  • 3. Una expresión regular denota un conjunto de secuencias de símbolos válidas que se construyen en base al alfabeto de un lenguaje. Generalmente estos conjuntos se representan como: Es una expresión regular que denota el conjunto vacío (el conjunto no contiene secuencias de símbolos).
  • 4.   Una secuencia de símbolos S es una expresión regular que denota a un conjunto que contiene a S. Operaciones sobre Lenguajes Es una expresión regular que denota al conjunto que contiene la secuencia vacía.
  • 5.   *Son una notación para definir lenguajes *Se ha demostrado que pueden expresar la clase de los lenguajes regulares * Permiten hacer una definición algebraica de un lenguaje * Se expresa el lenguaje de manera declarativa
  • 6.   Dadas dos expresiones regulares E1, E2, el resultado de aplicar cualquiera de estas tres operaciones, da como resultado otra expresión regular: *Unión (E1 ∪ E2) = {x | x ∈ E1 ´ox ∈ E2 ´o x ∈ E1 ∩ E2}. *Concatenación E1 ・ E2 = {xy | x ∈ E1, y ∈ E2} *Clausura o Estrella de Kleene (E1* ) = ∪ i>=E1i
  • 7. Construir una expresión regular es realizar operaciones sobre el alfabeto de un lenguaje. Podemos decir que el lenguaje, en su aspecto de léxico, está conformado por las operaciones   Unión de L y M . LUM = { S | S está en L ó S está en M } Concatenación de L y M. LM = { st | s está en L y t está en M}
  • 8.   Cerradura Kleene. (L se repite de 0 a infinito) Cerradura Positiva. ( L se repite de 1 a infinito).
  • 9.   Como se ve, las expresiones regulares son operaciones que se realizan sobre conjuntos de símbolos que pertenecen al alfabeto de un lenguaje. Estos conjuntos se describen colocando a los símbolos que pertenecen a ellos entre llaves. Por ejemplo, los caracteres que ubicamos como letras podrían conformar el conjunto {ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}
  • 10.   Si los elementos del conjunto tienen un orden conocido o asociado al código ASCII se puede describir colocando el primer símbolo y el último separados por un guión (-) como {A-Z a-z} Para hacer más simple la construcción de una expresión regular, se designa bajo un nombre al conjunto con el cual se trabajará. así el conjunto letra se puede describir como L = {A-Z a-z}
  • 11.   Cuando a un conjunto o a una expresión regular se le da un nombre, ésta recibe el nombre de definición regular. Así, la expresión regular para un identificador será: ID=L (L | D | G) * si las definiciones sobre las cuales está construida son: L= {A-Z a-z} D = {0123456789} G = {_}
  • 12.   Por ejemplo, en Ada los identificadores están formados por letras, dígitos o guiones, pero el guión no puede ser el último caracter. La expresión regular con la cual se puede conformar el patrón para esta unidad de léxico puede ser: ID_ada = L (L | D) * (G (L | D ) + ) * U na expresión regular es un método formal para describir un patrón y puede ser empleada para construir un analizador léxico que lo reconozca en una computadora. De hecho, la expresión sufre una serie de transformaciones para llegar a ser explotada como tabla:
  • 13.     Expresión Regular   se convierte en   Autómata Finito No deterministico (NFA)   se convierte en   Autómata Finito Deterministico (DFA)   que se representa como   Tabla  
  • 14.
  • 15.   Un NFA esa un modelo matemático que consiste de: 1.- Un conjunto de estados. 2.- Un conjunto de símbolos de entrada. 3.- Una función de transición que corresponde pares estado-símbolo a conjuntos de estados. 4.- Un estado So que denota como el estado inicial. 5.- Un conjunto de estados F que denotan los estados de aceptación o finales. Un NFA no tiene restricciones para que exista mas de una transición con el mismo nombre a diferentes estados
  • 16.   por lo que en una representación tabular no es posible determinar de manera única el estado destino para un símbolo determinado. Por ejemplo, el siguiente diagrama representa la expresión (a | b)* a b b  
  • 17.   Un DFA es un caso especial de NFA en el que ningún estado tiene transiciones para diversos estados bajo el mismo símbolo y no se permiten transiciones épsilon. Los diagramas de transición son autómatas determinísticos. Por ejemplo, el DFA de (a | b)* a b b puede ser:
  • 18. que podría ser muy aproximado al diagrama de transición que construiríamos para la expresión.
  • 19.
  • 20.   Para la implementación de la tabla de símbolos, nos hemos ayudado de la librería STL . Hemos hecho uso del contenedor STL_HASHMAP. El acceso se realiza aplicando una función hash sobre el char * del identificador del símbolo. Para mayor legibilidad y facilidad, hemos implementado la clase c_tabla_simbolos. Realiza las operaciones que necesitamos, y se las implementa haciendo uso del citado contenedor hash.
  • 21.   Debido a que necesitaremos más de una tabla en determinados momentos, y a su vez, una jerarquía entre las tablas, hemos implementado también la clase c_almacen_tablas. Dicha clase hace uso del contenedor STL_STACK. A continuación se muestran los diagramas de las clases implementadas en notación UML.
  • 22.   :
  • 23.  
  • 24.   El método show de la clase c_tabla_simbolos sirve para llamar a los métodos show de cada símbolo almacenado. De esa manera se realiza el volcado pedido. En cuanto a la clase c_almacen_tablas, hemos implementado las operaciones avanzar, retroceder y enderezar. Sirven para poder movernos dentro de la pila sin perder elementos. Esto significa, que en un momento dado, podemos ejecutar avanzar sobre la pila, y la cima pasa a ser la tabla de símbolos previa.
  • 25.   Hemos supuesto que esto puede ser provechoso para las operaciones en las que haya que buscar si un símbolo se encuentra en la tabla de símbolos actual o en cualquiera de las tablas previas de la jerarquía. Al utilizar internamente dos pilas, una llamada posterior a retroceder dejaría la pila en su situación original. Enderezar se utiliza para regresar la pila a su posición original desde cualquier posición.
  • 26.   La clase Parse::Lex nos permite crear un analizador léxico. La estrategia seguida es mover el puntero de búsqueda dentro de la cadena a analizar utilizando conjuntamente el operador pos() y el ancla . > cat -n tokenizer.pl 1 #!/usr/local/bin/perl 2 3 require 5.004; 4 #BEGIN { unshift @INC, &quot;../lib&quot;; } 5 6 $^W = 0; 7 use Parse::Lex; 8 print STDERR &quot;Version $Parse::ALex::VERSION&quot; ;
  • 27.   9 10 @token = ( 11 qw( 12 ADDOP [-+] 13 LEFTP [] 14 RIGHTP [] 15 INTEGER [1-9][0-9]* 16 NEWLINE 17 ), 18 qw(STRING), [qw(&quot; (?:[^&quot;]+|&quot;&quot;)* &quot;)], 19 qw(ERROR .*), sub {
  • 28.   20 die qq!canapos;t analyze: &quot;$_[1]&quot;!; 21 } 22 ); 23 24 Parse::Lex->trace; 25 $lexer = Parse::Lex->new(@token); 26 27 $lexer->from(DATA);
  • 29.   27 $lexer->from(DATA); 28 print &quot;Tokenization of DATA:&quot;; 29 30 TOKEN:while (1) { 31 $token = $lexer->next; 32 if (not $lexer->eoi) { 33 print &quot;Record number: &quot;, $lexer->line, &quot;&quot;; 34 print &quot;Type: &quot;, $token->name, &quot;&quot;; 35 print &quot;Content:->&quot;, $token->text, &quot;<-&quot;; 36 } else { 37 last TOKEN;
  • 30.   38 } 39 } 40 41 __END__ 42 1+2-5 43 &quot;This is a multiline 44 string with an embedded &quot;&quot; in it&quot; 45 this is an invalid string with a &quot;&quot; in it&quot;
  • 31.   Entrada: function main(){ /* Otra prueba mas ! */ var a = 3 // var b = 2 /* a debería estar en la tabla de símbolos, b no ! */   var i var v = new Array (101) for (i=0; i<100; i+=5){ v[i]=i; }  
  • 32.   for (i=0; i<100; i+=5){ document.write(v[i], &quot; &quot;); } document.write(&quot;&quot;); }   main(); // Fin de la prueba Salida: Leyendo del fichero 'prueba10'
  • 33.   ANA RAQUEL GARCIA FALLA YUDY MERCEDES LOSADA ROMERO
  • 34.   *En que se clasifica las expresiones autónomas finitas? * Cual es la funcionalidad de las expresiones regulares?
  • 35.   * El lenguaje en su aspecto léxico esta compuesto de que operaciones y de ejemplo de cada una de ellas.