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?

Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
Isaí Beto Matz Mijes
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
Xavi Flores
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Liliana Pacheco
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
josebunbury
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
rehoscript
 
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
 

Was ist angesagt? (20)

Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
Diseño de Algoritmos
Diseño de AlgoritmosDiseño de Algoritmos
Diseño de Algoritmos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sql
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
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
 

Andere mochten auch

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

Andere mochten auch (20)

Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
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
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
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
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
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
 

Ä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
 
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
 
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
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 

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

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
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í
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
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)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
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
 
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
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.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
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
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.
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
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
 
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
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
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
 
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
 
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
 
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
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .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.