L’énoncé create each alloue les tableaux pour les attributs de l’entité permanente spécifiée. Tous ces tableaux sont initialisés à zéro.
avec N = valeur ou expression entière (dimensionnement de l’entité). Si (N) est omis, on doit obligatoirement affecter une valeur non nulle à l’attribut prédéfini N".Nom_Entité_Permanente" avant le create each.
Exemples :
create each Canal(8);
create each Ligne(16*i+4);
create all Joueur(4);
read N.Noeud;
create each Noeud

Simscript III/Dictionnaire des instructions/CREATE OBJECT

L’énoncé create est également utilisé pour créer un objet déclaré par une variable de référence. De plus, tous les attributs de l’objet sont initialisés à zéro.
où "Obj"1, … "Obj"n " "est une liste d’objets déclarés par des variables de référence.
Exemples :
define Chevrolet as Véhicule reference variable;
define Voiture, maVoiture as Véhicule reference variables;
define Buick, Ferrari_280 as Voiture_Essence reference variables;
create Chevrolet, maVoiture;
create Buick, Ferrari_280;
after creating a Véhicule, call Construire
before destroying a Véhicule, call Détruire
define Carte as 1-dim Cartes reference array;
reserve Carte(*) as Nb_Cartes ;
for i = 1 to dim.f(Carte(*)),
 create Carte(i);

Simscript III/Dictionnaire des instructions/CYCLE

Cet énoncé placé à l’intérieur d’un bloc do ... loop permet un transfert immédiat à l’énoncé loop (passage à l’itération suivante).
Exemple :
for ...
do
 if ...
 cycle ---------->
 else |
loop; <---------

Simscript III/Dictionnaire des instructions/DEFINE ... ARRAYS

L’énoncé define ... arrays permet de définir le type et la dimension des tableaux globaux (dans le preamble) ou locaux (dans une routine).
Tous les tableaux sont automatiquement initialisés à zéro (ou champ nul pour les types text et alpha). Une variable locale peut être déclarée saved ou recursive. La première fois qu’un sous-programme est appelé, les variables locales saved ou recursive ont lavaleur zéro. Une variable locale recursive (qui est la valeur implicite) a la valeur zéro à chaque appel du sous-programme. Une variable locale saved conserve la valeur qu’elle avait lors du dernier appel au sous-programme.
preamble
preamble
 begin class Classe
 the class has an attribut_Classe
 define attribut_Classe as an integer variable;
 end ‘‘ class Classe
 define GLshort to mean Signed integer2
end ‘‘ preamble
main
 define va as an Alpha variable; ‘‘ Un octet, un entier non-signé de 8 bits pour 
 ‘‘ stocker un caractère ASCII
 define vi2 as an Integer2 variable; ‘‘ Un entier non-signé de 16 bits (0 à 65535)
 define vsi2 as a Signed integer2 variable; ‘‘ Un entier signé de 16 bits (-32768 à +32767)
 define vi as an Integer variable; ‘‘ Un entier signé d'au moins 32 bits
 define vr as a Real variable; ‘‘ Un nombre point-flottant de 32 bits
 define vd as a Double variable; ‘‘ Un nombre point-flottant de 64 bits
 define vp as a pointer variable; ‘‘ Une adresse de 32 bits
 define vs as a subprogram variable; ‘‘ Une adresse d'un sous-programme de 32 bits
 define vt as a text variable; ‘‘ Une adresse d'une chaîne de caractères
 define vc as a Classe reference variable; ‘‘ Une variable de référence à une classe :
 ‘‘ adresse d'un objet
 let va = "a"; ‘‘ Un octet, un entier non-signé de 8 bits pour 
 ‘‘ stocker un caractère ASCII
 let vi2 = 65535; ‘‘ Un entier non-signé de 16 bits (0 à 65535)
 let vsi2 = -32768; ‘‘ Un entier signé de 16 bits (-32768 à +32767)
 let vi = inf.c; ‘‘ Un entier signé d'au moins 32 bits
 let vr = 1234567.0; ‘‘ Un nombre point-flottant de 32 bits
 let vd = rinf.c; ‘‘ Un nombre point-flottant de 64 bits
 let vp = 3456; ‘‘ Une adresse de 32 bits
 let vs = 'subprogram'; ‘‘ Une adresse d'un sous-programme de 32 bits
 let vt = "Une chaîne de texte"; ‘‘ Une adresse d'une chaîne de caractères
 create vc; ‘‘ Création d'un objet : instance d'une classe
 write va, vi2, vsi2, vi, vr, vd, vp, vs, vt, vc 
 as B 10, "va = " , A 1, /,
 B 10, "vi2 = " , I *, /, 
 B 10, "vsi2 = " , I *, /,
 B 10, "vi = " , I 10, /,
 B 10, "vr = " , D ( 10, 2), /, 
 B 10, "vd = " , E ( 10, 2), /,
 B 10, "vp = " , C 8, /, 
 B 10, "vs = " , C 8, /,
 B 10, "vd = " , T *, /,
 B 10, "vc = " , C 8, /;
 read as / using 5;
end ‘‘ main
routine subprogram
 define i = 5 as a constant;
end ‘‘ subprogram

Simscript III/Dictionnaire des instructions/DEFINE ... CONSTANTS

L’énoncé define ... constants permet de définir des constantes nommées ou des constantes énumérées. Ces constantes peuvent être importées d’un sous-système, ce qui n’est pas le cas des constantes définies avec l’énoncé define ... to mean. Si aucune "Valeur "n’est spécifiée, la valeur affectée est la valeur de la constante précédente + 1, s’il s’agit de la première constante, la valeur affectée est 1." "La "Valeur" peut-être un entier signé, une chaîne de caractères, ou une constante sous-programme.

Exemple :
define False = 0, True as constants
define _Inactif = 0, _Actif = 1, _Suspendu = 2, _Interrompu = 3 as constants

Simscript III/Dictionnaire des instructions/DEFINE ... FUNCTION

Cet énoncé, placé dans le preamble, définit les sous-programmes de type function, en précisant le type du résultat fourni et le nombre d’arguments d’entrée. Elle est obligatoire.
Exemples :
define IsEnabled as a nonsimscript GLboolean function with 1 GLenum argument
define Factorielle as an integer function with 1 integer argument
define Lancer_Dé_F as an integer method ‘‘ méthode fonction
define toShort as an integer function with 1 1-dim alpha argument
define toHexa as an integer function with 4 alpha arguments
define mt19937_MP_grnd as a real fortran function with 0 argument;

Simscript III/Dictionnaire des instructions/DEFINE ... METHOD

Cet énoncé, placé dans le preamble, définit les sous-programmes de type method, et process method et permet d’avoir un contrôle sur le nombre de paramètres entre le call ou le schedule et la méthode ou la méthode processus. Lorsque la méthode retourne une valeur comme une fonction, le mode de cette méthode doit être spécifié. Cet énoncé n’est pas obligatoire lorsqu’il s’agit d’une méthode routine ou d’une méthode processus, mais est obligatoire lorsqu’il s’agit d’une méthode fonction.
Exemple :
begin class Vehicle
 every Véhicule
 has a Construire method,
 a Détruire method,
 an Initialiser method,
 an Obtenir_Pneus_Plats method,
 an Imprimer method,
 a lireManufacturier method,
 a Voyager process method
 after creating a Vehicle, call Construire
 before destroying a Vehicle, call Détruire
 define Construire as a method with 0 argument;
 define Détruire as a method with 0 argument;
 define lireManufacturier as a text method with 0 argument;
 define Initialiser as a method given a text argument, ‘‘ nom du manufacturier
 a double argument, ‘‘ vitesse maximale
 and a real argument ‘‘ pression initiale des pneus
 define Obtenir_Pneus_Plats as an integer method given a real argument ‘‘ pression minimale
 define Voyager as a process method given 2 double arguments‘‘distance en km ‘‘ vitesse moyenne en km/h
 yielding 1 double argument ‘‘ durée du voyage en heures
 the class has a Imprimer_Compteur method
 define Imprimer_Compteur as a method with 0 argument
end ‘‘ Véhicule

Simscript III/Dictionnaire des instructions/DEFINE ... REFERENCE