Вы находитесь на странице: 1из 5

SEP SNESTM TNM

INSTITUTO TECNOLÓGICO DE TOLUCA

Lenguaje sencillo

P R E S E N T A:
Marco Antonio Ortiz Morales
Zepeda Martínez José Luis
Emmanuel

No. De Control:
13280307
1328
1328

Lenguajes y Autómatas 2
Cano Rojas Roberto

Metepec, Estado de México, 5 de febrero del 2019


Objetivo:

Desarrollar un compilador que sirva para apoyar a los estudiantes en las materias de programación.

Tabla de tokens:

Palabras Carácter Operador


Token Token Token Token Clases
Reservadas Especial Aritmético
1 pack 26 { + 98 String
2 static 27 } - 99 Double
56
3 void 28 [ * 100 Character
4 class 29 ] % 101 Boolean
5 for 30 ( Operador Lógico 102 Float
6 while 31 ) & 103 Integer
72
7 do 32 ' | Token AUTOMATA
8 if 33 ; 73 ! 56 DIAGONAL
9 else 34 : Operador Relacional 128 COMENTARIO N-LINEAS
10 return 35 . 129 COMENTARIO LINEA
11 new 36 $ != 130 VARIABLES
12 null 37 , < 131 COMILLAS
81
13 true 38 # > 132 CADENA
14 false Tipo de Dato <= 133 NUMEROS
15 this 45 int >= 134 ASIGNACION =
16 switch 46 float Modificador de acceso 81 OPERADOR RELACIONAL ==
17 case 47 double 93 public 56 OPERADOR ARITMETICO RESTA
18 break 48 char 94 private 56 OPERADOR ARITMETICO SUMA
19 sout 49 boolean 95 protected
20 read 57 ++ --
Tabla predictiva:

Gramática:

1 <programa> pack variable ; class variable { <crea_variable><asig_constructor><asigna_metodos>}


2 <crea_variable> <crea_variable'><crea_variable>
3 <crea_variable> Ө
4 <crea_variable'> <tipo_clase> variable<crea_tclase> ;
5 <crea_variable'> <tipo_dato> variable <crea_tdato> ;
6 <crea_tclase> Ө
8 <crea_tdato> Ө
9 <crea_tdato> = <exp>
10 <exp> (<exp>)<exp'>
11 <exp> num <exp'>
12 <exp> variable <exp'>
14 <exp> <exp2>
16 <exp'> OA <exp>
17 <exp'> Ө
21 <exp2> true
22 <exp2> false
23 <ing_parametros> <exp><ing_parametros'>
24 <ing_parametros> Ө
25 <ing_parametros'> , <ing_parametros>
26 <ing_parametros'> Ө
27 <para_var> <tipo_dato> variable
28 <para_var> <tipo_clase> variable
29 <asig_constructor> public variable(<parametros>){ <crea_variable><sentencias>}
30 <parametros> <para_var><parametros'>
31 <parametros> Ө
32 <parametros'> , <parametros>
33 <parametros'> Ө
34 <asigna_metodos> <met_inicio>
35 <asigna_metodos> Ө
36 <met_inicio> <tipo_acceso><sta><met_ret> <asigna_metodos>
37 <met_ret> <tipo_clase> variable (<parametros> ){<crea_variable><sentencias> return <exp>;}
38 <met_ret> <tipo_dato>variable(<parametros>){<crea_variable><sentencias> return <exp>;}
39 <met_ret> void variable(<parametros>){<crea_variable><sentencias>}
40 <sta> static
41 <sta> Ө
42 <sentencias> <sent_while><sentencias>
43 <sentencias> <sent_dowhile> <sentencias>
44 <sentencias> <sent_for> <sentencias>
45 <sentencias> <sent_if> <sentencias>
46 <sentencias> <sent_sout> <sentencias>
47 <sentencias> <sent_read> <sentencias>
48 <sentencias> 129<sentencias>
49 <sentencias> 128<sentencias>
50 <sentencias> variable = <exp> ; <sentencias>
51 <sentencias> Ө
52 <condicion> (<con_exp> OR <con_exp>) <condicion'>
54 <condicion'> OL <condicion>
55 <condicion'> Ө
56 <con_exp> num <con_exp'>
57 <con_exp> variable <con_exp'>
58 <con_exp'> OA <con_exp>
59 <con_exp'> Ө
61 <sent_dowhile> do{ <sentencias> } while (<condicion>);
62 <sent_for> for (variable = <exp>; <condicion> ; <exp> 57){ <sentencias> }
63 <sent_if> if (<condicion>) {<sentencias>} <els>
64 <els> else { <sentencias> }
65 <els> Ө
66 <sent_read> read(variable);
67 <sent_sout> sout(<imp>);
68 <imp> <exp><imp'>
69 <imp'> ,<imp>
70 <imp'> Ө
71 <tipo_acceso> public
72 <tipo_acceso> private
73 <tipo_acceso> protected
74 <tipo_dato> int
75 <tipo_dato> float
76 <tipo_dato> double
77 <tipo_dato> char
78 <tipo_dato> boolean
79 <tipo_clase> String
80 <tipo_clase> Double
81 <tipo_clase> Character
82 <tipo_clase> Boolean
83 <tipo_clase> Float
84 <tipo_clase> Integer

Вам также может понравиться