@@ -14,48 +14,48 @@ AnalizadorSintactico::~AnalizadorSintactico()
14
14
}
15
15
16
16
void AnalizadorSintactico::declarar () {
17
- mapa[" repetir" ]=Token (44 ," Estructura de control" );
18
- mapa[" mientras" ]=Token (45 ," Estructura de control" );
19
- mapa[" si" ]=Token (41 ," Estructura de control" );
20
- mapa[" sino" ]=Token (42 ," Estructura de control" );
21
- mapa[" trastrueco" ]=Token (43 ," Estructura de control" );
17
+ mapa[" repetir" ]=Token (44 ," Estructura de control" , " repetir " );
18
+ mapa[" mientras" ]=Token (45 ," Estructura de control" , " mientras " );
19
+ mapa[" si" ]=Token (41 ," Estructura de control" , " si " );
20
+ mapa[" sino" ]=Token (42 ," Estructura de control" , " sino " );
21
+ mapa[" trastrueco" ]=Token (43 ," Estructura de control" , " transtrueco " );
22
22
23
- mapa[" true " ]=Token (32 ," Verdadero" );
24
- mapa[" false " ]=Token (33 ," Falso" );
23
+ mapa[" verdadero " ]=Token (32 ," Verdadero" , " verdadero " );
24
+ mapa[" falso " ]=Token (33 ," Falso" , " falso " );
25
25
26
- mapa[" entero" ]=Token (20 ," Identificador " );
27
- mapa[" boleano" ]=Token (22 ," Identificador " );
28
- mapa[" flotante" ]=Token (21 ," Identificador " );
29
- mapa[" cadena" ]=Token (23 ," Identificador " );
26
+ mapa[" entero" ]=Token (20 ," Tipo de dato " , " entero " );
27
+ mapa[" boleano" ]=Token (22 ," Tipo de dato " , " boleano " );
28
+ mapa[" flotante" ]=Token (21 ," Tipo de dato " , " flotante " );
29
+ mapa[" cadena" ]=Token (23 ," Tipo de dato " , " cadena " );
30
30
31
- mapa[" imprimir" ]=Token (1 ," Identificador" );
32
- mapa[" leer" ]=Token (2 ," Identificador" );
31
+ mapa[" imprimir" ]=Token (1 ," Identificador" , " imprimir " );
32
+ mapa[" leer" ]=Token (2 ," Identificador" , " leer " );
33
33
34
- mapa[" +" ]=Token (7 ," Operador Aritmetico" );
35
- mapa[" -" ]=Token (7 ," Operador Aritmetico" );
36
- mapa[" *" ]=Token (7 ," Operador Aritmetico" );
37
- mapa[" /" ]=Token (7 ," Operador Aritmetico" );
38
- mapa[" =" ]=Token (6 ," Operador Logico" );
39
- mapa[" <" ]=Token (6 ," Operador Logico" );
40
- mapa[" >" ]=Token (6 ," Operador Logico" );
41
- mapa[" !" ]=Token (6 ," Operador Logico" );
42
- mapa[" &" ]=Token (7 ," Operador Aritmetico" );
43
- mapa[" |" ]=Token (7 ," Operador Aritmetico" );
44
- mapa[" ^" ]=Token (7 ," Operador Aritmetico" );
45
- mapa[" &&" ]=Token (6 ," Operador Logico" );
46
- mapa[" ||" ]=Token (6 ," Operador Logico" );
47
- mapa[" ==" ]=Token (8 ," Operador Relacional" );
48
- mapa[" >=" ]=Token (8 ," Operador Relacional" );
49
- mapa[" <=" ]=Token (8 ," Operador Relacional" );
50
- mapa[" !=" ]=Token (8 ," Operador Relacional" );
51
- mapa[" :" ]=Token (8 ," Operador Relacional" );
34
+ mapa[" +" ]=Token (7 ," Operador Aritmetico" , " + " );
35
+ mapa[" -" ]=Token (7 ," Operador Aritmetico" , " - " );
36
+ mapa[" *" ]=Token (7 ," Operador Aritmetico" , " * " );
37
+ mapa[" /" ]=Token (7 ," Operador Aritmetico" , " / " );
38
+ mapa[" =" ]=Token (6 ," Operador Logico" , " = " );
39
+ mapa[" <" ]=Token (6 ," Operador Logico" , " < " );
40
+ mapa[" >" ]=Token (6 ," Operador Logico" , " > " );
41
+ mapa[" !" ]=Token (6 ," Operador Logico" , " ! " );
42
+ mapa[" &" ]=Token (7 ," Operador Aritmetico" , " & " );
43
+ mapa[" |" ]=Token (7 ," Operador Aritmetico" , " | " );
44
+ mapa[" ^" ]=Token (7 ," Operador Aritmetico" , " ^ " );
45
+ mapa[" &&" ]=Token (6 ," Operador Logico" , " && " );
46
+ mapa[" ||" ]=Token (6 ," Operador Logico" , " || " );
47
+ mapa[" ==" ]=Token (8 ," Operador Relacional" , " == " );
48
+ mapa[" >=" ]=Token (8 ," Operador Relacional" , " >= " );
49
+ mapa[" <=" ]=Token (8 ," Operador Relacional" , " <= );
50
+ mapa[" !=" ]=Token(8," Operador Relacional" , " != " );
51
+ mapa[" :" ]=Token(8," Operador Relacional" , " : " );
52
52
53
- mapa[" ;" ]=Token (5 ," Agrupación" );
53
+ mapa[" ;" ]=Token(5," Agrupación" , " ; " );
54
54
55
- mapa[" (" ] = Token (5 ," Agrupacion" );
56
- mapa[" )" ] = Token (5 ," Agrupacion" );
57
- mapa[" {" ] = Token (5 ," Agrupacion" );
58
- mapa[" }" ] = Token (5 ," Agrupacion" );
55
+ mapa[" (" ] = Token(5," Agrupacion" . " ( " );
56
+ mapa[" )" ] = Token(5," Agrupacion" , " ) " );
57
+ mapa[" {" ] = Token(5," Agrupacion" , " { " );
58
+ mapa[" }" ] = Token(5," Agrupacion" , " } " );
59
59
}
60
60
61
61
void AnalizadorSintactico::AnalizadorLexico(){
@@ -68,11 +68,10 @@ void AnalizadorSintactico::AnalizadorLexico(){
68
68
{
69
69
if (s[0]=='" ' )
70
70
{
71
- for (int i=1 ;i<s.length ();i++){
72
- if (s.at (i)!=' "' ){
73
- pal = pal+s.at (i);
74
- }
75
- }
71
+ bool wii=true;
72
+ for(int i=1;i<s.length()-1;i++)
73
+ if (s[i]==' " ') wii=false;
74
+ if (s[s.size()-1]!='" ' ) wii=false;
76
75
cout<< pal << " - "<< "String"<<endl;
77
76
78
77
}
@@ -90,7 +89,7 @@ void AnalizadorSintactico::AnalizadorLexico(){
90
89
for (int i=1 ;i<s.length ();i++)
91
90
if (!((s[i]>=' 0' && s[i]<=' 9' ) || s[i]!=' .' )) wii=false ;
92
91
for (int i=0 ;i<s.length ();i++)
93
- if (s. at (i) ==' .' ) err++;
92
+ if (s[i] ==' .' ) err++;
94
93
if (wii)
95
94
{
96
95
if (err==0 ){
0 commit comments