SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónd3m3nt3
 
TEORÍA DE LA INFORMACIÓN
TEORÍA DE LA INFORMACIÓNTEORÍA DE LA INFORMACIÓN
TEORÍA DE LA INFORMACIÓNEDWINCARHUACHI
 
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ácticoangiepao1717
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasRaul
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Act.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloAct.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloDafne Alcantar
 
Lenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionLenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionIsrael Castillo Cruz
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 

Tendances (20)

Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Procesamiento segmentado - INFORME
Procesamiento segmentado - INFORMEProcesamiento segmentado - INFORME
Procesamiento segmentado - INFORME
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
TEORÍA DE LA INFORMACIÓN
TEORÍA DE LA INFORMACIÓNTEORÍA DE LA INFORMACIÓN
TEORÍA DE LA INFORMACIÓN
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
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
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Act.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloAct.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrollo
 
Diapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacionDiapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacion
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionLenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcion
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 

En vedette

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_
 
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, automataJacqui Venegas
 
Analisis lexico 2
Analisis lexico 2Analisis lexico 2
Analisis lexico 2perlallamas
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2Germania Rodriguez
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semanticoAreli Gómez
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Fondo y forma del poema
Fondo y forma del poemaFondo y forma del poema
Fondo y forma del poemaCristo Quesito
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoGermania Rodriguez
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 

En vedette (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
 
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
 
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
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
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
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Fondo y forma del poema
Fondo y forma del poemaFondo y forma del poema
Fondo y forma del poema
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
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
 

Similaire à Analisis Lexico

Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxicoFARIDROJAS
 
Analisis lexico 1
Analisis lexico 1Analisis lexico 1
Analisis lexico 1perlallamas
 
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.pdfKEILLIEDAILYNSICAJAC
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabrielEnrique Morales
 
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 2Universidad
 
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 Compiladoresjose 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 Compiladoresguest5fa3fc
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdfJeffreyagnz
 
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 gioRobert Wolf
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares finmariellitaocj
 

Similaire à 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
 

Plus de FARIDROJAS

Evauacion desempeño 1278 ppt
Evauacion desempeño 1278 pptEvauacion desempeño 1278 ppt
Evauacion desempeño 1278 pptFARIDROJAS
 
Homenaje A Belen Falla2
Homenaje A Belen Falla2Homenaje A Belen Falla2
Homenaje A Belen Falla2FARIDROJAS
 
Conceptos BáSicos Io
Conceptos BáSicos IoConceptos BáSicos Io
Conceptos BáSicos IoFARIDROJAS
 
Ondas Maestros 2006
Ondas Maestros 2006Ondas Maestros 2006
Ondas Maestros 2006FARIDROJAS
 
Anteproyectosesionoctubre18
Anteproyectosesionoctubre18Anteproyectosesionoctubre18
Anteproyectosesionoctubre18FARIDROJAS
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre JimenezFARIDROJAS
 
Validacion Y Verificacion
Validacion Y VerificacionValidacion Y Verificacion
Validacion Y VerificacionFARIDROJAS
 

Plus de 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
 

Dernier

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
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
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
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ónLourdes Feria
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 

Dernier (20)

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
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...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
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
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 

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.