Documente Academic
Documente Profesional
Documente Cultură
Anlisis Lxico
Oscar Bonilla
obonilla@galileo.edu
Universidad Galileo
Qu es un analizador lxico?
Source Program Text Tokens
Ejemplos de Tokens:
operadores = + - > ( { := ==
<>
keywords if while for int double
literales numricos 43 6.035 -3.6e10 0x13f3a
literales de carcter 'a' '~' '\''
strings literales "6.983" "compiladores" "\"\""
Ejemplos de no-tokens
espacios en blanco espacio(' ') tab('\t') eol('\n')
comentarios /* este no es un token */
Otro Ejemplo:
a b c
abc
a b c
abc
(a|) (a|
)
a b c
abc
(a|) (a|
)
ab* a
(b*)
a b c
abc
(a|) (a|
)
ab* a
(b*)
ab | c (a b) |
c
Ms abreviaturas
[abcd] ( a | b | c | d)
[b -g] [bcd
M?
M+ M M*
En resumen
a un caracter ordinario.
El string vaco.
Otra forma de escribir el string vac
M|N Alternacin, elegir M o N.
MN Concatenacin, M seguida de N
MN Otra forma de escribir concatenacin.
M* Repeticin (cero o ms veces).
M+ Repeticin (una o ms veces)
M? Opcional, cero o una ocurrencia de
[a -zA -Z] Alternacin de un conjunto de caracteres.
. Un punto sustituye cualquier caract
excepto nueva lnea.
"a.+*" Strings entre comillas no son interp
Algunos ejemplos