DeclaracionDePrograma | ::= |
"iniciar-programa" [ DeclaracionDeProcedimiento ";" ]... "inicia-ejecucion" ExpresionGeneral [ ";" ExpresionGeneral ]... "termina-ejecucion" "finalizar-programa" EOF |
DeclaracionDeProcedimiento | ::= |
"define-nueva-instruccion" Identificador [
"(" Identificador ")" ] "como" Expresion |
ExpresionGeneral | ::= | { Expresion | ExpresionVacia } |
Expresion | ::= |
{"apagate" | "gira-izquierda" | "avanza" | "coge-zumbador" | "deja-zumbador" | ExpresionLlamada | ExpresionSi | ExpresionMientras | ExpresionPara | "inicio" ExpresionGeneral [ ";" ExpresionGeneral ]... "fin" } |
ExpresionLlamada | ::= | Identificador [ "(" ExpresionEntera ")" ] |
ExpresionSi | ::= |
"si" Termino "entonces" Expresion ["sino" Expresion ] |
ExpresionMientras | ::= |
"mientras" Termino "hacer" Expresion |
ExpresionPara | ::= |
"repetir" ExpresionEntera "veces" Expresion |
ExpresionVacia | ::= | |
Termino | ::= | ClausulaY [ "o" ClausulaY ]... |
ClausulaY | ::= | ClausulaNo [ "y" ClausulaNo ]... |
ClausulaNo | ::= | [ "no" ] ClausulaAtomica |
ClausulaAtomica | ::= | { "si-es-cero" "(" ExpresionEntera ")" | FuncionBooleana | "(" Termino ")" } |
ExpresionEntera | ::= | { Decimal | Identificador | "precede" "(" ExpresionEntera ")" | "sucede" "(" ExpresionEntera ")" } |
Identificador | ::= | Letra [ Letra | Digito | "-" ] ... |
Decimal | ::= |
{ {"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"} [
Digito ] ... | "0" } |
Cadena | ::= | Cualquier cosa entre comillas en una única línea. |
FuncionBooleana | ::= |
{"frente-libre" | "frente-bloqueado" | "izquierda-libre" | "izquierda-bloqueada" | "derecha-libre" | "derecha-bloqueada" | "junto-a-zumbador" | "no-junto-a-zumbador" | "algun-zumbador-en-la mochila" | "ningun-zumbador-en-la mochila" | "orientado-al-norte" | "orientado-al-sur" | "orientado-al-este" | "orientado-al-oeste" | "no-orientado-al-norte" | "no-orientado-al-sur" | "no-orientado-al-este" | "no-orientado-al-oeste"} |
Digito | ::= | {"0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"} |
Letra | ::= | Una letra del alfabeto |
EOF | ::= | Marca de final de fichero. |
Definiciones del Panel Instantaneo |
||
ProgramaInstantaneo | ::= |
ExpresionInstantanea [ ";" ExpresionInstantanea ]... EOF |
ExpresionInstantanea | ::= | { DeclaracionDeMetodo | DeclaracionDeEnlace | ExpresionGeneral } |
Están soportados los dos estilos de comentario en Pascal:
Están soportados los dos estilos de comentario en Java/C++:
|
Final-de-página