-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgramatica.txt
More file actions
executable file
·110 lines (55 loc) · 2.42 KB
/
gramatica.txt
File metadata and controls
executable file
·110 lines (55 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
reglas < >, mayusculas Tokens
<programa> -----> VOID MAIN (VOID){<lineascodigos>}
<lineascodigos> ----> <lineacodigo> | vacio
<lineacodigo> ---> <lineacodigo> <linea> | <linea>
<linea> ----> <invocarmetodo>;
| <crearvariable>;
| <cambiarvalor>;
| <buclecondicion>
<invocarmetodo> ---> NOMBRECAMPO(<parametrosenvio>)
<parametrosenvio> ---> <parenvio> | vacio
<parenvio> ---> <parenvio>,<penvio> | <penvio>
<penvio> ---> <valor> | NOMBRECAMPO
<valor> ----> ENTERO | DECIMAL | BOOLEANO
<crearvariable> ----> <tipodato> NOMBRECAMPO
| <tipodato> NOMBRECAMPO <asignarvalor>
<tipodato> ---> T_ENTERO | T_DECIMAL | T_BOOLEANO | T_CADENA
<asignarvalor> ----> ASIGNADOR <operasignacion>
| ASIGNADOR <valor>
| ASIGNADOR NOMBRECAMPO
<operasignacion> ---> <aritmetico>
| <invocarmetodo>
| <incredismivariable>
<aritmetico> ---> <oprcomun>
| <oprcomun> <oprcomplemento>
<oprcomun> ---> <valor> <tipoopr> <valor>
| <valor> <tipoopr> NOMBRECAMPO
| NOMBRECAMPO <tipoopr> <valor>
| NOMBRECAMPO <tipoopr> NOMBRECAMPO
<tipoopr> ---> SUMA | RESTA | MULTIPLICACION |DIVISION
<oprcomplemento> ---> <oprcomplemento> <oprcom>
| <oprcom>
<oprcom> ---> <tipoopr> <valor>
| <tipoopr> NOMBRECAMPO
<incredismivariable> ---> NOMBRECAMPO <indis>
<indis> ---> AUMENTAR | DISMINUIR
<cambiarvalor> ---> NOMBRECAMPO ASIGNADOR <cambvalor>
<cambvalor> ---> <valor> | <operasignacion> | NOMBRECAMPO
<buclecondicion> ---> <condicionif> | <buclefor>
| <buclewhile>
<condicionif> ---> <condicionsi>
| <condicionsi> <condicionno>
| <condicionsi> <condicionessino> <condicionno>
<condicionsi> ----> SI(<condicion>)[<lineascodigos>]
<condicion> ---> <valor> <condicional> <valor>
| <valor> <condicional> NOMBRECAMPO
| NOMBRECAMPO <condicional> <valor>
| NOMBRECAMPO <condicional> NOMBRECAMPO
<condicional> ---> MAYOR | MENOR |IGUAL |MAYORIGUAL |MENORIGUAL | DIFERENTE
<condicionno> ---> NO[<lineascodigos>]
<condicionessino> ----> <condicionessino> <condiciosino>
| <condiciosino>
<condiciosino> ---> SINO(<condicion>)[<lineascodigos>]
<buclefor> ---> PARA(<iniciafor>;<condicion>;<incredismivariable>)[<lineascodigos>]
<iniciafor> --> <tipodato>NOMBRECAMPO <asignarvalor>
<buclewhile> ---> MIENTRAS(<condicion>)[<lineascodigos>]