Professional Documents
Culture Documents
AUTOMATAS II
UNIDAD 1.- ANALISIS SEMANTICO
PROYECTO:
LENGUAJE DE PROGRAMACION
INTEGRANTES:
BASURTO PEALOZA MIERVA
No. CONTROL: 11560463
GLVEZ ESPINOSA LUIS DAVID
No. CONTROL: 11560112
INTRODUCCION
OBJETIVO
Crear un lenguaje que sea sencillo y de fcil utilizacin, que cuente con una
sintaxis simple y que pueda ser especificada de una manera clara y entendible,
adems de una estructura abstracta para una mayor comprensin textual.
ConL (); Palabra reservada contar las letras de una cadena despus de
la palabra reservada usaremos el carcter (); la cual se establece
abriendo parntesis seguida de la entrada de la cadena de texto, dada
la entrada de la cadena cerramos parntesis y agregamos los caracteres
; para terminar la entrada y continuar ejemplo (David); .
INICIO
ConL (David);
}
}
{
5
ConL (David);
}
CORRIDA
INICIO
{
6
ConP (Hola me llamo Minerva Basurto
Pealoza);
}
Entrada valida
Inicio
{
ConL (David);
}
Entrada invalida
inicio
{{
ConL (David+<);
}};
TOKENS
LLI
LLF
PC
PI
PF
CONP
CONL
ANALIZADOR LEXICO
%option noyywrap
%option yylineno
L1[{]
L2[}]
I[I]
N[N]
C[C]
O[O]
P[P]
L[L]
PAIN[(]
PAFI[)]
PYC[;]
ca[a-zA-Z]
d[0-9]
%%
ANALIZADOR SINTACTICO
%{
extern int yylineno;
%}
%token CONP CONL LLI LLF PC PI PF
%start PROG
PROG: INICIO LLI SEN LLF
SEN EXP SEN
| EXP;
SEN: EXP1 SEN
| EXP2 SEN
| EXP 1
| EXP 2
EXP1: CONL PI CADENA PF PC
EXP2: CONP PI CADENA PF PC
%%
main()
{
yyparse();
}
yyerror(char *s)
{
printf("Error de Sintaxis en linea %d: %s\n",yylineno,s);
}