La fenêtre 'Éditeur Macrocode'
Description de l'éditeur de macrocode
La création d'un programme se fait lors de session de codage. L'éditeur permet ensuite de corriger le code créé afin de finaliser le programme. Ce programme peut ensuite être gravé sur un CD afin de l'installer sur les différentes interfaces.

Blocs de code
Chaque programme est divisé en plusieurs blocs gérant chacun une fonction spécifique du programme. Ces différents blocs sont déclarés de la façon suivante bloc://
suivi du nom du bloc. Le nombre de blocs de code varie d'un programme à l'autre. Le nombre d'occurrences de blocs est indiqué numériquement tout en haut du code du programme et visuellement avec les cercles affichés en haut à droite de la fenêtre.
Structuration des blocs de code
Les blocs de code d'un programme sont définis lors de la phase de structuration du programme. Chaque programme doit obligatoirement commencer par un bloc INITIALIZATION
et se finir par un bloc TERMINATE
. Le reste de la structure peut être trouvé à l'aide d'un livre propre à chaque programme et du livre servant à la programmation en macrocode: 'Langage Fortron'. Le premier livre indique les identifiant des autres blocs composant le programme tandis que le second contient une liste de chaque bloc de code existant avec leur identifiant respectif. La configuration de la structure d'un programme se fait à l'aide du lecteur du disquette et de la fenêtre 'Hyperblocks Structure'.
Noms des blocs de codes
Chaque bloc de code est nommé selon la fonction qu'il gère. Les blocs ne contenant aucun code sont nommés par défaut vide
.
Liste des blocs de code
Le livre 'Langage Fortron' contient la liste de l'ensemble des blocs de code existant. Chaque bloc est associé à un identifiant unique de la forme BXXX
où X
est un chiffre.
B001 - B014
- B001:
INITIALIZATION
- B002:
MAIN_CODE
- B003:
TERMINATE
- B004:
USER_AFFECT
- B005:
DETECTION_THREAD
- B006:
OPTICAL_FRAG
- B007:
PROCESS_KILLER
- B008:
CUSTOM_INPUT
- B009:
PATTERN_RECO
- B010:
QUANTUM_SIM
- B011:
AUTOMATOR
- B012:
EVO_OPTIM
- BO13:
SIM_MODELING
- B014:
TOWER_ANALYSIS
B525 - B538
- B525:
COMPUTE_NEUROMORPH
- B526:
DATA_PART
- B527:
CHAOS_DYNAMICS
- B528:
SYSTEM_CALC
- B529:
INERTIAL_DEFRAG
- B530:
PARALLELIMS
- B531:
STATE_TRANSFER
- B532:
QUANTUM_DECOHERENCE
- B533:
NORMALIZATION
- B534:
SUPERDENCE_CODING
- B535:
ENVIRONMENT_AFFECT
- B536:
SUPERVISED_LEARN
- B537:
SWARM_BEHAVIOR
- B538:
SUPERLISTER
B815 - B828
- B815:
PRAGMATA
- B816:
BAYESIAN_INF
- B817:
DATA_AGGREGATION
- B818:
COMBINAT_OPTIM
- B819:
SPECTRAL_CLUSTER
- B820:
PROBAB_GRAPH
- B821:
FOURIER_TRANSF
- B822:
NONLINEAR_DIMENSION
- B823:
SYSTEM_CORE
- B824:
MARKOV_CHAIN
- B825:
TOPOLOGICAL_DATA
- B826:
MARTINGALE_PROCESS
- B827:
HAWKES_PROCESS
- B828:
GRAPH_SOLVER
Mode: sélection de bloc-code
Le nom du bloc est affiché à droite de sa déclarationbloc://
.Mode: observation ou sélection de ligne
Lors de l'édition du code d'un bloc, le nom du code édité est affiché en haut à gauche de l'éditeur de macrocode.
Statut des blocs de code
L'éditeur indique pour chaque bloc des informations concernant l'état du code se trouvant à l'intérieur.
Bloc valide
Si un bloc ne contient pas d'erreur dans son code, c'est-à-dire, si une simulation du bloc a été réussie, l'éditeur surligne le nom du bloc en bleu. Ouvrir le code d'un bloc valide l'ouvre en mode 'observation', c'est-à-dire que le code peut seulement être visualisé.Bloc contenant des erreurs
Si un bloc contient des erreurs, l'éditeur surligne le nom du bloc en rouge. Ouvrir un bloc contenant des erreurs l'ouvre en mode: 'sélection de ligne', permettant d'éditer les lignes de code contenant des erreurs.Bloc vide
Si le bloc ne contient aucun code, l'éditeur surligne le nom du bloc en orange lorsqu'il est sélectionné. Le bloc est alors verrouillé et ne peut pas être ouvert.
Erreurs du bloc
Une fois un bloc ouvert, l'éditeur affiche 2 compteurs en haut à gauche de la fenêtre indiquant l'état du code contenu dans le bloc.
Edit(s)
Le premier compteur indique le nombre de ligne devant encore être édité avant de pouvoir lancer une simulation du bloc de code.Issue(s)
Le second compteur indique le nombre de ligne de code comportant une erreur détecté lors de la dernière simulation du bloc de code.
Lignes de code
Chaque bloc de code est composé de centaines de lignes de code écrites par Jérémie lors de la création du programme. Une fois un bloc ouvert, il est possible de parcourir librement le code contenu à l'intérieur en le faisant défiler avec la molette de la souris. Parmi toutes ces lignes, seules celles devant être édités peuvent être sélectionné.
Statut des lignes de code
Selon leur statut, l'éditeur affiche les lignes de code de différentes couleurs.
Ligne en attente d'édition
Une ligne de code demandant à être éditée est surlignée en rouge.Ligne édité
Une ligne de code déjà éditée, mais non simulée est surlignée en bleu.Ligne non modifiable
Les lignes de code non-modifiables ne sont pas sélectionnables.
Manipulation de l'éditeur de macrocode
Ouverture
Ouvre l'éditeur de macrocode.
mcode

Chargement de code dans l'éditeur
Charger une disquette contenant du code 'Prêt à éditer' à l'aide lecteur de disquette charge automatiquement son code dans l'éditeur de macrocode. La fenêtre s'ouvre automatiquement au chargement du code. Consultez le tutoriel 'Charger une disquette sur une interface' pour en apprendre plus sur cette procédure.

Navigation entre les blocs de code
Les flèches directionnelles vers le haut ↑ et vers le bas ↓ du clavier permettent de naviguer entres les différents blocs de code en mode 'Sélection de bloc-code'.

Ouverture d'un bloc de code
Une fois le sélecteur sur un bloc de code ouvrable, il est possible d'ouvrir le bloc afin de consulter le code à l'intérieur de plusieurs façons.
En appuyant sur la touche Entrée ou la flèche directionnelle vers la droite → du clavier.
Le nom du bloc de code ouvert est affiché en haut à droite de la fenêtre En cliquant sur le bloc de code sélectionné.
La ligne est surlignée en blanc au survol de la souris
Fermeture d'un bloc de code
Si le code d'un bloc est ouvert, il est possible de revenir au mode 'Sélection de bloc-code' de plusieurs façons.
En appuyant sur la flèche directionnelle gauche ← du clavier.
En cliquant sur le bouton 'Retour' situé en haut à gauche de la fenêtre.
Navigation entres les lignes de code
Dans un bloc de code ouvert en mode 'Sélection de ligne', les flèches directionnelles vers le haut ↑ et vers le bas ↓ du clavier permettent de naviguer entres les différentes lignes de code nécessitant une correction.

Édition d'une ligne de code
Si une ligne est sélectionnée, appuyez sur la touche Entrée du clavier afin d'activer l'édition de la ligne de code. La ligne alors dupliquée en deux. La ligne supérieure contient le contenu original de la ligne tandis que la ligne inférieure contient vos modifications. Une fois la ligne éditée, appuyez de nouveau sur la touche Entrée pour enregistrer vos modifications.
Règles d'édition de code
L'ensemble des règles d'édition de code sont contenues le livre 'Langage Fortron'. Ce livre contient également une liste de l'ensemble des blocs de code et de leur identifiant respectif.
Structure du code
Structure du code
Le code d'un programme est divisé en plusieurs blocs de code contenant eux même différentes méthodes, sous-méthodes et paramètres. Chaque bloc de code commence par une instruction start
et se finisse par une instruction end
.
Méthode
Les méthodes correspondent aux fonctions primaires du bloc de code. Elles sont indentées à la racine du document. Les méthodes sont toutes nommées de la façon suivante:typeMéthode_nomMéthode
où le type de la méthode peut êtreconstant
,static
oudynamic
. Les méthodes se finissent toutes par l'instruction-end nomMéthode
. Enfin, chaque méthode contient différentes sous-méthodes.Sous-méthode
Les sous-méthodes sont indentés d'un niveau par rapport à la racine du document. Ce sont ces méthodes qui peuvent avoir besoin d'être éditées en cas d'erreur dans le code. Les sous-méthodes peuvent contenir des paramètres.Paramètre
Certaines sous-méthodes ont besoin de paramètres pour être configurées. Ces paramètres sont indentés de deux niveaux par rapport à la racine du document.
Sous-méthode: fragment
Règle générale
La sous-méthode fragment
doit en général avoir le suffixe data
donnant donc: fragmentdata
.

Exception à la règle
Le suffixe de la méthode peut varier selon le type de bloc dans lequel la sous-méthode est utilisée.
Bloc:
INITIALIZATION
Si la sous-méthode se trouve dans un bloc de typeINITIALIZATION
le suffixe de la méthode eststart
donnant donc la sous-méthodefragmentstart
.Bloc:
AUTOMATOR
Si la sous-méthode se trouve dans un bloc de typeAUTOMATOR
le suffixe de la méthode estauto
donnant donc la sous-méthodefragmentauto
.Bloc:
USER_AFFECT
Si la sous-méthode se trouve dans un bloc de typeUSER_AFFECT
le suffixe de la méthode estavatar
donnant donc la sous-méthodefragmentavatar
.Bloc:
TERMINATE
Si la sous-méthode se trouve dans un bloc de typeTERMINATE
le suffixe de la méthode estends
donnant donc la sous-méthodefragmentends
.

Sous-méthode: matrix
Règle générale
La sous-méthode matrix
doit en général avoir le nombre 66
comme suffixe donnant donc la sous-méthode: matrix66
.

Exception à règle
Si la sous-méthode matrix
se trouve dans une méthode nommé reset
, son suffixe est alors infinite
donnant donc la sous-méthode matrixinfinite
.

Sous-méthode: systemic
Règle générale
La sous-méthode systemic
doit en général avoir le suffixe global
donnant donc systemicglobal
.

Exception à règle
Le suffixe utilisé peut varier selon le nom de la méthode dans laquelle se trouve la méthode systemic
.
Méthode:
load
Si la sous-méthode se trouve dans une méthode nomméload
, son suffixe est alorsload
donnant doncsystemicload
.Méthode:
unload
Si la sous-méthode se trouve dans une méthode nomméunload
, son suffuxe est alorsunload
donnant doncsystemicunload
.

Sous-méthode: recomp
Règle générale
La sous-méthode recomp
doit en général avoir le suffixe floor
donnant donc recompfloor
.

Exception à la règle
Si la sous-méthode recomp
se trouve dans une méthode de type static
son suffixe est alors ceil
donnant donc recompceil
.


Simulation d'un bloc de code
Une fois toutes les lignes de code d'un bloc éditées, le bandeau 'Simulation Prête' apparaît en bas de la fenêtre. Il est alors possible de lancer la simulation de chaque ligne de code éditée dans le bloc pour vérifier si les différentes lignes de code ont été correctement éditées.
En entrant la commande suivante.
mcode.sim
En appuyant sur la flèche directionnelle droite → du clavier.
En cliquant sur le bouton 'Simulation' situé en haut à gauche de la fenêtre.
Récapitulatif de simulation
Une fois une simulation du code effectuée, le macrocode affiche un récapitulatif de la simulation en indiquant quelles éditions a été réussie et quelles éditions a été raté. Appuyez sur la touche Entrée pour valider la simulation. Si toutes les lignes de code ont été correctement corrigées, le programme ferme le bloc de code sinon le code est de nouveau affiché en mode 'Sélection du bloc-code'.

Compilation du code
Si tout le code de chaque bloc a été simulé une fois correctement, le bandeau 'Compilation Prête' est affiché en bas de la fenêtre. Il est alors possible de compiler l'ensemble du code du programme. Une fois le code compilé, la fenêtre 'Compilateur Macrocode' s'ouvre afin d'afficher un aperçu visuel du programme.
mcode.compile

Création d'un programme
Une fois le code compilé, la création du programme peut être lancée. Si la compilation du programme échoue, la fenêtre 'Compilateur Macrocode' affiche le symbole . À l'inverse, si la compilation du programme réussit la fenêtre affiche le symbole .
mcode.exe
