Difference between revisions of "ONELAB scripting syntax"
From ONELAB
(→Principe général) |
(→Syntaxe détaillée) |
||
Line 4: | Line 4: | ||
The interfacing principle is based on the preprocessor principle. | The interfacing principle is based on the preprocessor principle. | ||
− | === | + | === Scripting Syntax === |
− | * | + | * Clients declaration |
:;OL.client client_def; <client_def; ...> | :;OL.client client_def; <client_def; ...> | ||
::où '''client_def''' est une des commandes suivantes: | ::où '''client_def''' est une des commandes suivantes: | ||
Line 24: | Line 24: | ||
:::définit si le client est appelé ou non lors de l'exécution (valeur par défaut:1) | :::définit si le client est appelé ou non lors de l'exécution (valeur par défaut:1) | ||
− | * | + | * Parameter declaration |
:;OL.parameter param_def; <param_def; ...> | :;OL.parameter param_def; <param_def; ...> | ||
::où '''param_def''' est une des commandes suivantes: | ::où '''param_def''' est une des commandes suivantes: | ||
Line 40: | Line 40: | ||
:'''OL.endif''' | :'''OL.endif''' | ||
− | * | + | * File inclusion |
:;OL.include(''file'') | :;OL.include(''file'') | ||
− | :: | + | ::insert here the result of the preprocessing of the file ''file'' |
− | * | + | * Value substitution |
− | :;OL. | + | :;OL.get(''name'') |
− | :: | + | ::insert here the value from the server of the parameter "name". This command may appear several time in the same line. |
=== Exemple === | === Exemple === |
Revision as of 11:57, 17 September 2012
General principle
ONELAB can be used to interface virtually any solver or data treatment code and build with them metamodel relatively high complexities. The interfacing principle is based on the preprocessor principle.
Scripting Syntax
- Clients declaration
- OL.client client_def; <client_def; ...>
- où client_def est une des commandes suivantes:
- name.register(interfaced|encapsulated);
- enregistre un client de type interfacé ou encapsulé" (obligatoire)
- name.Path(path)
- définit le path système de l'exécutable (interactif)
- name/InputFiles.Set(file,...)
- définit la liste des fichiers d'entrée (obligatoire)
- name/OutputFiles.Set(file,...)
- définit la liste des fichiers de sortie (facultatif)
- name.PreLineOptions(options)
- définit des options en ligne de commande à placer avant la liste des fichiers d'entrée (facultatif)
- name.LineOptions('options)
- définit des options en ligne de commande à placer après la liste des fichiers d'entrée (facultatif)
- name.Active(0|1)
- définit si le client est appelé ou non lors de l'exécution (valeur par défaut:1)
- Parameter declaration
- OL.parameter param_def; <param_def; ...>
- où param_def est une des commandes suivantes:
- name.number(Value,Path,Range,ShortHelp)
- définit un paramètre numérique Path/name, lui attribue la valeur Value et le range Range.
- La donnée Range est soit a:b:c (p.ex. 1:10:1) où a est la valeur minimale, b la valeur maximale et c le step; soit a:b#n où n est le nombre de steps.
- name.string(Value,Path,ShortHelp)
- définit un paramètre de type string
- Branchements conditionnels
- OL.iftrue(param)
- lignes de codes transférées si le paramètre "param est différent de 0 ou ""
- OL.else
- lignes de codes transférées si le paramètre "param est égal à 0 ""
- OL.endif
- File inclusion
- OL.include(file)
- insert here the result of the preprocessing of the file file
- Value substitution
- OL.get(name)
- insert here the value from the server of the parameter "name". This command may appear several time in the same line.
Exemple
Fichier d'entrée pour GmshERROR in secure-include.php: /onelab_files/elmerfem/CRYO/cryo.geo does not look like a URL, and doesn't exist as a file.
Direct link to file `elmerfem/CRYO/cryo.geo'
ERROR in secure-include.php: /onelab_files/elmerfem/CRYO/cryo.ol does not look like a URL, and doesn't exist as a file.
Direct link to file `elmerfem/CRYO/cryo.ol'
ERROR in secure-include.php: /onelab_files/elmerfem/CRYO/cryo.sif.ol does not look like a URL, and doesn't exist as a file.
Direct link to file `elmerfem/CRYO/cryo.sif.ol'