Documentation

sci_files - Comment écrire des fonctions de conversion

Description

Pour convertir les appels à des fonctions Matlab, mfile2sci utilise une fonctions appelée sci_<nom_de_la_fonction_Matlab> . Toutes ces fonctions sont définies dans des sci_files dans le répertoire SCI/macros/m2sci/sci_files/. La palette de sci_files fournie dans Scilab ne permet pas encore de convertir les appels à toutes les fonctions Matlab. Cependant, un utilisateur Scilab peut ajouter des sci_files (pour des fonctions Matlab ou pour ses propres fonctions) en utilisant les conseils suivants.

Dans M2SCI, un appel à une fonction est considéré comme un "arbre" (c'est aussi le cas des instructions du fichier à convertir), représenté dans Scilab par une tlist avec les champs suivants :

  • name : nom de la fonction Matlab
  • lhsnb : nombre de paramètres de sortie de la fonction Matlab
  • lhs : liste des paramètres de sortie de la fonction Matlab
  • rhs : liste des paramètres d'entrée de la fonction Matlab
  • Une sci_function a un paramètre d'entrée tree qui est aussi la sortie de cette fonction. Une sci_function doit convertir cet arbre pour qu'il soit compatible avec Scilab en changeant name, lhsnb, lhs et/ou rhs. L'autre rôle de cette fonction est de gérer l'inférence. L'arbre d'entrée contient des données d'inférence dans ses rhs qui devront être mises à jour avec ce que l'on peut inférer pour les lhs de cette fonction.

    Plusieurs fonctions ont été écrites pour aider à la rédaction de fonctions de conversion :

  • Funcall : créé un arbre qui représente l'appel à une fonction
  • Operation : créé un arbre qui représente une opération
  • Variable : créé un arbre qui représente une variable
  • Cste : créé un arbre qui représente une constante
  • Infer : créé un arbre qui représente les données d'inférence
  • Type : créé un arbre qui représente le type pour l'inférence
  • Equal : créé un arbre qui représente une instruction
  • Pour plus d'informations sur la fçon d'écrire ces fichiers, consulter le répertoire SCI/macros/m2sci/sci_files/ qui donne de nombreux exemples, des plus simples (e.g. sci_abs.sci) aux plus compliqués (e.g. sci_zeros.sci).

    See Also

    m2scideclare ,   Funcall ,   Operation ,   Variable ,   Cste ,   Infer ,   Type ,   Equal ,  

    Authors

    V.C.