Comentarios:
(***********************
* comentario de programa
************************)
(========================
* comentario de sección
=========================)
(*-- comentario de orden --*)
(* comentario al margen *)
Constantes:
CONST Nombre= valor;
Variables:
VAR Nombre : Tipo;
Secuencia:
Secuencia ::= sentencia;
Tipos:
TYPE declaracion = Tipo;
Tipos Enumerados:
TYPE nombre_Tipo = Indentificadores;
Tipos Subrango:
TYPE rango_Tipo = Tipo [Valor inicial .. valor final];
Tipos conjunto:
TYPE tipo_Conjunto = SET OF Tiporeferencial;
Funciones:
PROCEDURE Nombre (Argumento:Tipo;... ); Tipo_Resultado
BEGIN
Sentencias;
END Nombre;
Procedimientos:
PROCEDURE Nombre (Argumento:Tipo;... );
BEGIN
Sentencias;
END Nombre;
Paso de argumentos:
PROCEDURE Nombre (Argumento:Tipo;... );
BEGIN
Sentencias;
END Nombre;
PROCEDURE Nombre (Argumento:Tipo;... );
BEGIN
Sentencias;
END Nombre;
Estructura de un programa completo:
MODULE nombre_programa;
FROM lista_importaciones;
CONST lista_constantes;
TYPE lista_tipos;
VAR lista_variables;
PROCEDURE nombre_proce;
BEGIN
sentencias;
END nombre_proced;
BEGIN
sentencias;
END nombre_programa.
Vectores:
TipoVector = ARRAY Tipo_Indice OF Tipo_Elemento
Matrices:
TipoMatriz = ARRAY Tipo_Indice1, TipoIndice2,... OF
Tipo_Elemento
Vector Abierto:
PROCEDURE ejemplo (X: ARRAY OF Tipovector)
Registros:
RECORD
nombre : TIPO;
(Puede ir las variantes que sean);
nombre : TIPO;
END;
Punteros:
TYPE Tipo_Puntero = POINTER TO Tipo_de_Variable;
Variables Dinámicas:
ALLOCATE (puntero,tamaño);
DEALLOCATE (puntero,tamaño);
Sentencia IF:
IF condicion THEN
sentencia1
ELSE
sentencia2
END;
Sentencia WHILE:
WHILE condicion DO
sentencia
END;
Sentencia FOR:
FOR valor inicial TO valor final [BY +1]
DO
sentencia
END;
Sentencia RETURN:
RETURN expresion;
Sentencia REPEAT:
REPEAT
sentencias
UNTIL
condicion
Sentencia LOOP y EXIT:
LOOP
sentencias
EXIT
END;
Sentencia CASE:
CASE valor OF
valor1: accion1|
valor2: accion2|
valor3: accion3|
ELSE
accion por defecto
END;
Sentencia WITH:
WITH registro DO
secuencia_de_sentencias;
END;
Módulo de Definición:
DEFINITION MODULE Nombre;
...lista de importaciones...
...definiciones...
END Nombre.
Módulo de Implementación:
IMPLEMENTATION MODULE Nombre;
...lista de importaciones...
...definiciones...
BEGIN
...sentencias de inicializacion
END Nombre.