Académique Documents
Professionnel Documents
Culture Documents
ANALIZADOR LEXICO
DEFINICIONES PREVIAS
1. TOKEN
Un token o
tambin
caracteres que
tiene
llamado componente
un
significado
lxico es
coherente
en
una cadena
de
cierto lenguaje
de
programacin. Ejemplos de tokens podran ser palabras clave (if, else, while,
int, ...), identificadores, nmeros, signos, o un operador de varios caracteres,
(por ejemplo, :=).
Son los elementos ms bsicos sobre los cuales se desarrolla toda traduccin de
un programa, surgen en la primera fase, llamada anlisis lxico, sin embargo se
siguen utilizando en las siguientes fases (anlisis sintctico y anlisis semntico)
antes de perderse en la fase de sntesis.
Cada token es una secuencia de caracteres que representa una unidad de
informacin en el programa fuente.
2. LEXEMA
Representan cadenas de caracteres en el programa fuente que se pueden tratar
juntos como una unidad lxica. Un lexema es una secuencia de caracteres en el
programa fuente con la que concuerda el patrn para un componente lxico.
3. PATRON
Regla que describe el conjunto de lexemas que pueden representar a un
determinado componente lxico en los programas fuente. En otras palabras, es
la descripcin del componente lxico mediante una regla.
4. ANALIZADOR LEXICO
Un analizador
es
la
salida
compuesta
de tokens (componentes
1
lxicos)
smbolos.
analizador
lxico
opera
bajo
peticin
del
analizador
sintctico
Categora
Lexema
Patron
Lxica
Entero,
real,
12,
34.3,
etc
231212
Identificador
I, a, rea, a1,
Caracteres +, -, * , /
Operador
suma
Asignacion
+, -, *, /
La palabra While
While
:=, =
while
Numero
Variable
Operadores
relacionales
Operadores
de
asignacin
Operadores
Operadores aditivos
Operadores unarios
Parntesis
de
apertura
Parntesis de cierre
Corchete de inicio
Corchete de cierre
Punto y coma
EXPRESION REGULAR
[0-9]+
[a-zA-Z], [a-zA-Z0-9]
<, >, >=, <=
TOKEN
numero
variable
oprel
=, +=, -=, *= , /= ,
%=
/,%, *
- , ++ , -&& , !
(
asign
)
[
]
;
rpar
lcor
rcor
puntco
opmul
opuna
oplog
lpar
c) FILTRA COMENTARIOS.
Los comentarios que se colocan en el programa fuente en cualquier
lenguaje de programacion tales como:
// comentario de una sola linea de codigo
/* ... */ comentario de un bloque entero de sentencias
3
Operator: Operador
Identifiers: Identificadores
Numbers: Numeros
e) GENERA
ERRORES
EN
CASO
DE
QUE
LA
ENTRADA
NO