[FENÊTRE] Éditeur MacrocodeTout savoir sur l'éditeur de macrocode.

La fenêtre 'Éditeur Macrocode'

Important:

Ce programme ne peut être utilisé qu'à partir du chapitre 3 du mode histoire du jeu.

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.

macrocode_description
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 BXXXX 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éclaration bloc://.

  • 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
macrocode_init
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.

macrocode_load
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'.

macrocode_navigateBloc
Un retour sonore est joué à chaque changement de ligne
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.

    macrocode_open_keyboard
    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é.

    macrocode_open_clic
    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.

Attention:

Si aucune simulation n'est effectuée, les modifications sur les lignes de code du bloc sont perdues en cas de retour au mode 'Sélection du bloc-code'.

  • En appuyant sur la flèche directionnelle gauche du clavier.

    macrocode_close_keyboard
  • En cliquant sur le bouton 'Retour' situé en haut à gauche de la fenêtre.

    macrocode_close_clic
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.

macrocode_navigateLine
La fenêtre défile automatiquement jusqu'à la ligne de code suivante
É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 être constant, static ou dynamic. 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.

macrocode_rule_fragment_global
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 type INITIALIZATION le suffixe de la méthode est start donnant donc la sous-méthode fragmentstart.

  • Bloc: AUTOMATOR
    Si la sous-méthode se trouve dans un bloc de type AUTOMATOR le suffixe de la méthode est auto donnant donc la sous-méthode fragmentauto.

  • Bloc: USER_AFFECT
    Si la sous-méthode se trouve dans un bloc de type USER_AFFECT le suffixe de la méthode est avatar donnant donc la sous-méthode fragmentavatar.

  • Bloc: TERMINATE
    Si la sous-méthode se trouve dans un bloc de type TERMINATE le suffixe de la méthode est ends donnant donc la sous-méthode fragmentends.

macrocode_rule_fragment_exception
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.

macrocode_rule_matrix_global
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.

macrocode_rule_matrix_exception
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.

macrocode_rule_systemic_global
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 alors load donnant donc systemicload.

  • Méthode: unload
    Si la sous-méthode se trouve dans une méthode nommé unload, son suffuxe est alors unloaddonnant donc systemicunload.

macrocode_rule_systemic_exception
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.

macrocode_rule_recomp_global
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.

macrocode_rule_recomp_exception
macrocode_editLine
La mention 'Édition en Cours' est affiché en haut à gauche de la fenêtre lors de l'édition d'une ligne de code
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
    
    macrocode_sim_commande
  • En appuyant sur la flèche directionnelle droite du clavier.

    macrocode_sim_keyboard
  • En cliquant sur le bouton 'Simulation' situé en haut à gauche de la fenêtre.

    macrocode_sim_clic
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'.

macrocode_recap
Le programme simule chaque ligne de code une par une
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
macrocode_compile
La prévisualisation de la fenêtre 'Compilateur Macrocode' change selon le programme compilé
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 .

Note:

Le bandeau 'Sync. Prête' indique qu'il est possible de graver le code de la disquette sur un CD vierge à l'aide du lecteur CD avec la commande cd.sync.macro.

mcode.exe
macrocode_exe