Modèle

Documentation Alma (français) Index | Accueil
Version: 0.29
Date: 2001-03-05
Auteur: Guillaume Desnoix
La documentation du logiciel Alma est protégé par les lois sur les droits d'auteur de la République Française. Toute reproduction (copie, mirroir, impression, ...) est interdite sans autorisation écrite de l'auteur. Sa consultation est gratuite pour tous sur le site www.memoire.com.

Principes

Nous ne pouvons exposer ici les différents concepts utilisés dans Alma. Nous donnerons plutôt quelles sont les méthodologies qui l'ont inspiré. Nous invitons le lecteur à consulter tout ouvrage traitant de:

Nous nous sommes basés avant tout sur la modélisation orientée objet. Avant d'introduire d'autres modèles, nous souhaitons veiller à ce que celui-ci soit complètement intégré. De ce fait, certaines sources ou cibles s'éloignant de ce modèle peuvent amener à des résultats pas toujours simples ou élégants.

L'objectif est d'avoir un modèle aussi complet que possible, et aisément transciptible dans les langages d'implantation usuels. Remarquons que pour l'instant, les exceptions ne sont pas intégrées au modèle.

Entités

Classe, Interface, Structure, Union sont reconnues. Attributs (et accesseurs), méthodes, constructeurs le sont aussi. Les destructeurs le seront prochainement. Les classes internes sont gérées partiellement.

Les instances ne sont pas disponibles.

Les paquetages et modules sont identifiés.

Les fonctions, procédures, variables et constantes globales sont gérées par rattachement à une classe de nom Global.

Les constantes de classe et d'interface sont reconnues.

Modificateurs

Déclarations

register, volatile, const, final, static pour les attributs. abstract, native, const, final, static pour les méthodes.

Visibilité

public, protected, private

Appels

oneway, synchronized, in, out, inout sont pris en considération. byvalue et byreference ne le sont pas encore.

Relations

Les relations ne sont pas encore vraiment gérées par Alma. Les seules reconnues sont l'héritage, l'implantation, la contenance, l'utilisation comme paramètre.

Les rôles, les associations, la dépendance, les relations ternaires, l'intégrité seront introduits dans un deuxième temps.

Instructions

Affectation

L'instruction d'affectation simple (=) est disponible. Celles résultant de la combinaison avec un opérateur (+=, -=, ...) sont gérées par l'instruction d'affectation simple par détection de la similarité. a+=1 sera restitué par a+=1 dans les cibles le permettant, et par a=a+1 dans les autres.

Boucles et répétitions

La plupart des instructions de la programmation structurée ont été introduites. Notament, sont disponibles les boucles (For), les répétitions avec test (While, Do/While).

Sauts

L'instruction de saut impératif est disponible (Goto).

Tests

L'instruction de test à une condition est disponible (If/Then/Else), ainsi que l'instruction de choix (Switch).

Gestion des exceptions

Les instructions de gestion d'exceptions sont reconnues, même si le modèle des exceptions ne l'est pas encore (Try, Catch, Finally).

Expressions

Opérateurs unaires

Sont reconnus de manière générale (+,-,!) et non individuellement.

Opérateurs binaires

Sont reconnus de manière générale (+,-,*,/,&&,||,...) et non individuellement.

Opérateurs ternaires

L'opérateur ternaire ?: est partiellement reconnu. Dans la source Java, il existe un problème de priorité.