clase compilador del lenguaje micro
Informalmente, Fischer lo define de esta manera:
- El único tipo de dato es entero.
- Todos los identificadores son declarados implícitamente ycon
una longitud máxima de 32 caracteres.
- Los identificadores deben comenzar con una letra y están
compuestos de letras y dígitos.
- Las constantes son secuencias de dígitos.
- Hay dos tipos desentencias:
Asignación
ID := Expresión;
Expresión es infija y se construye con identificadores,
constantes y los operadores + y –; los paréntesis están
permitidos.
Entrada/Salida
leer (lista de IDs);escribir (lista de Expresiones);
- Cada sentencia termina con un "punto y coma" (;). El cuerpo de
un programa está delimitado por inicio y fin.
- inicio, fin, leer y escribir son palabras reservadas ydeben
escribirse en minúscula.
En el Programa Fuente
Nombre del Token
B inicio
fin
leer
escribir
:=
(
)
,
;
+
-
INICIO
FIN
LEER
ESCRIBIR
ASIGNACIÓN
PARENIZQUIERDO
PARENDERECHO
COMA
PUNTOYCOMA
SUMARESTA
Para acceder al video
Gramática Léxica
#define NUMEST 15
#define NUMCOLS 13
#define TAMLEX 32+1
#define TAMNOM 20+1
FILE * in;
typedef enum {
INICIO, FIN, LEER,ESCRIBIR, ID, CONSTANTE, PARENIZQUIERDO,
PARENDERECHO, PUNTOYCOMA, COMA, ASIGNACION, SUMA, RESTA, FDT,
ERRORLEXICO } TOKEN;
TOKEN scanner()
{
int tabla[NUMEST][NUMCOLS] =
*/ 0 1 2 3 4 5 6 7 8 9 10 1112 */
*/ l
d + - ( ) , ; : = EOF SP O*/
0
{ { 1, 3, 5, 6, 7, 8, 9, 10, 11, 14, 13, 0, 14 },
1
{ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
2 ID
{ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14...
Regístrate para leer el documento completo.