Análisis Léxico

Páginas: 9 (2026 palabras) Publicado: 30 de septiembre de 2015
LENGUAJES Y
TRADUCTORES
Análisis léxico

Profesor:Carlos A. Ruiz De La Cruz Melo
Correo: zorroculto69@hotmail.com

LEXICO
Definición
 El léxico de un lenguaje natural o de
programación esta constituido por todas las
palabras y símbolos que lo componen.
 En un lenguaje de programación el léxico
lo constituyen todos los elementos
individuales del lenguaje

TERMINOLOGIA
UNIDAD LÉXICA
Categoríasen que se clasifican las
cadenas de
caracteres válidos en un
lenguaje.
Las unidades léxicas son:
1.
2.
3.
4.
5.

Palabras reservadas
Identificadores
Literales
Comentarios
Operadores

TERMINOLOGIA
 PALABRAS RESERVADAS
Son las palabras definidas por el fabricante del
lenguaje
PALABRAS
RESERVADAS

PALABRAS
RESERVADAS

const

include

int

iostream.h

class

conio.h

public

main

void

getch

ifgoto

#include "iostream.h"
#include "conio.h“
const int n=23;
class ALUMNO{
int codigo;
public:
void leer(){}
void mostrar(){
cout<<"\n termino";
}
};
int main(){
int ab=0;
XX:
ab++;
if(ab<5) goto XX;
ALUMNO a;
a.mostrar();
getch();
}

TERMINOLOGIA
 IDENTIFICADORES






Nombres de variables ( codigo, ab)
Nombres de constantes (n)
Nombres de etiquetas (XX)
Nombres de funciones (leer,mostrar)
Nombres de tipos estructurados(ALUMNO)

#include "iostream.h"
#include "conio.h“
const int n=23;
class ALUMNO{
int codigo;
public:
void leer(){}
void mostrar(){
cout<<"\n termino";
}
};
int main(){
int ab=0;
XX:
ab++;
if(ab<5) goto XX;
ALUMNO a;
a.mostrar();
getch();
}

TERMINOLOGIA
 LITERALES NUMÉRICAS





Constantes enteras (345)
Constantes reales (12.45)
Constantes carácter (A)Constantes cadena (UNMSM)

 COMENTARIOS (TODO SALIO BIEN)

#include "iostream.h"
#include "conio.h“
const int valor=12.45;
class OPERACION{
int codigo;
public:
void mostrar(char cadena[]){
cout<<"\n "< }
};
int main(){
OPERACION op;
op.mostrar("UNMSM");
char letra='A';
int suma=345;
cout<<"\n letra="< cout<<"\n suma="< // TODO SALIO BIEN
getch();
}

TERMINOLOGIA
 OPERADORES





Operadores aritméticos (+, *, /, -)
Operadores relacionales(<, >,…)
Operadores logicos (&&, ||, )
Operadorer de asignacion(=)
Operador delimitador(;)

#include
#include
class opera{
int x, y;
public:
opera() {x=0;y=0;}
opera(int i, int j) {x=i;y=j;}
void obten(int &i, int &j)
{i=x; j=y;}
opera operator++();
};
opera opera::operator++(){
x++;
y++;
}
int main(){
operaobjeto(10,7);
int x,y;
++objeto;
objeto.obten(x,y);
cout<< "x="< const float n=5.4;
class NUMERO{
int n;
public:
void ver(){ }
};
int main(){ }

LEXEMA
El valor actual de un conjunto de
caracteres que satisfacen un patrón:
LEXEMA

LEXEMA

LEXEMA

LEXEMA

#

n

int

{

include

=

public

}

iostream.h

5.4

void

main



;

ver

const

class

(

float

NUMERO

) TERMINOLOGIA
TOKEN

PROGRAMA
FUENTE

 El token tiene asociado un patrón;
 El valor asociado a una categoría o
unidad léxica. Se representa por
una
constante,
generalmente
numérica
 El token es el valor que se enviara
al analizador sintáctico y con el
cual este construirá las frases

ANALIZADOR
LEXICO
Solicita
token

envia
token

ANALIZADOR
SINTACTICO

TERMINOLOGIA
TOKEN
Palabras reservadas
if

main

forwhile else

float int

goto

10

11

12

13

28

30

14

29

operadores

*

+

/

50

51 52

-

<

++

--

[

53

54

88

89

90

Otras unidades léxicas

Token

Identificadores

1000

literales numéricas

2000

literales de carácter

3000

literales de cadena

4000

Constantes

1010

Variables

1020

Estructuradas 1030
:

Reales

2010

Enteras

2020

HERRAMIENTAS PARA
DESCRIBIR EL LEXICO

...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Análisis léxico
  • Análisis léxico
  • Analisis Lexico
  • Analisis lexico
  • Analisis Lexico
  • Análisis Léxico en Java
  • El analisis estructural del lexico
  • Analisis Léxico De Un Poema

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS