Beruflich Dokumente
Kultur Dokumente
Gramtica
Abreviaturas:
id: identificador.
decl: declaracin.
para: parmetro.
sent: sentencia.
1. Declaracin de variables en Pascal
<decl>::= Var <listadedecl>
<listadedecl>::= <listadedecl> <unadecl> | <unadecl>
<unadecl>::= <listadeid> : <tipo>
<listadeid>::= <listadeid> <id> | <id>
<id>::= <id> <letra> | <id> <dgito> | <letra>
<tipo>::= real | string | ...
<letra>::= a | ... | z
<dgito>::= 0 | ... | 9
2. Registro
Ej:
Type
alumno=record
nombre:string;
legajo,cantMaterias:integer;
prom:real;
dni:integer;
end;
<registro>::= Type <id> = record <listadedecl> end;
Resuelto por Infinite Visions
9. Asignacion
<asignacion>::= <id> := <expresion>
<expresion>:= <expresion> <conector><termino> | <termino>
<termino>::= <termino><conector><id> | <id> | <digito>
<conector>::=<id><letra> | <id><digito> | <letra>
<letra>::= a | ... | z
<dgito>::= 0 | ... | 9
10. Puntero
<tipopuntero>::= Type <id> = ^ <id> ;
<id>::= <id> <letra> | <id> <dgito> | <letra>
<letra>::= a | ... | z
<dgito>::= 0 | ... | 9
11. Archivo
<archivo>::= Type <id> = file of <tipodedato> ;
<id>::= <id> <letra> | <id> <dgito> | <letra>
<letra>::= a | ... | z
<dgito>::= 0 | ... | 9
<tipodedato>::= <tiposimple> | <tipoestructurado>
<tiposimple>::= <tipoordinal> | <tiporeal> | <tipopuntero>
<tipoordinal>::=<tipoordinalpredefinido> | <tipoenumerado> |<tiposubrango>
<tipopredefinido>::=<tipoentero> | char | boolean
<tipoentero>::=integer | longint
<tipoenumerado>::= <id>
<tiposubrango>::=<id>
<tiporeal>::= real
<tipopuntero>::= ^ <id>
<tipoestructurado>::= <tipoaarreglo> | <tiporegistro> | <tipofichero> | <tipostring>
<tipoconjunto>
12. declaracin de Tipos
ej:
Type
lista=^nodo;
reg=record
nombre:string;
legajo,cantMaterias:integer;
prom:real;
dni:integer;
end;
nodo=record
c:reg;
psig:lista;
end;
vector=array[1..30]ofinteger;
matriz=array[1..2,1..3]ofinteger;
archivo=fileofreg;
<decl>::=Type<listadedecl>;
<listadedecl>::=<listadedecl><unadecl>|<unadecl>
<unadecl>::=<listaid>=<tipo>;
<listaid>::=<listaid>,<id>|<id>
<id>::= <id> <letra> | <id> <dgito> | <letra>
<letra>::= a | ... | z
<dgito>::=0|...|9
<tipo>::=^<id>|<record>|<array>|fileof<id>|string