Bien, maintenant que vous avez quelques éléments de réponses sur l'histoire Gambas et le but de sa création, je vais vous expliquer sa manière de fonctionner. Vous allez voir que son développement est sérieux et très bien pensé, le tout pour garder ses objectifs :

  • simple et clair
  • un langage de qualité



En faite, sous le nom Gambas se cache bien des choses ... :-D . Gambas désigne :

  • un langage de programmation
  • un environnement de développement intégré
  • et toutes les parties technique qui gravitent autour (compilateur, interpréteur, archiveur ...)







Commencons par le commencent (de gauche vers la droite) :

Project : Un projet est un ensemble de fichiers stockés dans un répertoire. Un projet peut contenir des fichiers sources (des formulaires, des classes et des modules) ou n'importe quels autres fichiers de données de n'importe quels types. La configuration du projet est enregistrée dans un fichier nommé ".project" .

Compiler : Le compilateur est un programme nommé "gbc" . Il transforme vos formulaires, classes et modules de votre projet dans un fichier binaire compilé qui peut être compris par l'interpréteur.

Archiver : L'archiveur est un programme nommé "gba". Il transforme votre projet, les fichiers compilés inclus, en un seul fichier exécutable.

Bien maintenant, nous allons entrés dans la partie la plus importante, l'interpréteur. Comme vous pouvez le voir sur le shéma, il y a beaucoup de chose à l'intérieur et pour éviter de vous emcombrer l'esprit, je vous passe les détails:

Interpreter : L'interpréteur est un programme nommé "gbx" . Il exécute le fichier compilé (le byte-code).

A l'intérieur de l'interpréteur, vous avez :

  • Class loader : Le chargeur de classe charge dans l'interpréteur tout les fichiers qui ont étés précédemment compilés.
  • Component loader : Le chargeur de composants charge les librairies partagés qui permettent ainsi d'avoir accés à "l'interface composant"
  • Execution Unit : L'unité d'exécution est le coeur de l'interpréteur. Il envoie et exécute chaque instructions de byte-code générées par le compilateur.



Ha c'est surprenant n'est-ce pas ! :-D

Je pense que je vais éviter de vous en dire trop, vous risquez de fuir ^^ .