|
1 |
| -# vocaLang |
| 1 | +# VocaLang |
| 2 | + |
| 3 | +Introducción |
| 4 | +El lenguaje que elegimos esta formado solo por vocales, números y caracteres de puntuación. Las |
| 5 | +palabras que forman parte de este lenguaje surgen de tomar solo las vocales de las palabras normales y |
| 6 | +separarlas con guiones bajos “_”. |
| 7 | + |
| 8 | +El lenguaje está compuesto por las siguientes características: |
| 9 | +• Tipos de dato: {u_e_o, a_a_a} |
| 10 | +• Identificadores de longitud máxima de 10 caracteres. |
| 11 | +• Los identificadores arrancan con una letra. |
| 12 | +• Dos sentencias con convención de fin, apretura y cierre. |
| 13 | +1) e_e_i [algo; cantidad]. |
| 14 | +2) o_a_e [algo]. |
| 15 | +• Palabras reservadas: {a_a_a, u_e_o, o_a_e, e_e_i, i_i_i_o, i_a}. |
| 16 | +• Alfabeto = {a, e, i, o, u, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, _, [, ], ., =, ;}. |
| 17 | + |
| 18 | +Diseño de categorías léxicas en BNF: |
| 19 | +<identificador> ::= <letra><resto> |
| 20 | +<constante> ::= <digito><constante> | <digito> |
| 21 | +<cadena> ::= <vocal><demas> |
| 22 | +<operador> ::= = |
| 23 | +<caracterPuntuacion> ::= . | [ | ] | ; |
| 24 | +<palabraReservada> ::= a_a_a | e_e_i | u_e_o | o_a_e | i_i_i_o | i_a |
| 25 | +<resto>::= <letra><resto> | <digito><resto> | <digito> | <letra> |
| 26 | +<demas>::= <letra><demas> | <letra> |
| 27 | +<letra>::= <vocal> | _ |
| 28 | +<vocal> ::= a | e | i | o | u | |
| 29 | +<digito> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 30 | +<simbolo>::= <letra> | <digito> |
| 31 | + |
| 32 | +Diseño de categorías sintácticas en BNF: |
| 33 | +<programa> ::= i_i_i_o [ <listaSentencias> ] i_a |
| 34 | +<listaSentencias> ::= <sentencia> { <sentencia> } |
| 35 | +<sentencia> ::= <e_e_i> | <o_a_e> | <expresion> |
| 36 | +<e_e_i> ::= e_e_i <apertura> <cadena> ; <constante> <cierre> <fin> |
| 37 | +<o_a_e> ::= o_a_e <apertura> <cadena> <cierre> <fin> |
| 38 | +<expresion> ::= <u_e_o> | <a_a_a> |
| 39 | +<u_e_o> ::= u_e_o <identificador> = <constante> <fin> |
| 40 | +<a_a_a> ::= a_a_a <identificador> = <cadena> <fin> |
| 41 | +<apertura> ::= [ |
| 42 | +<cierre> ::= ] |
| 43 | +<fin> ::= . |
0 commit comments