Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide Scilab >> Aide à la conversion Matlab vers Scilab > A propos des outils M2SCI

A propos des outils M2SCI

Présentation générale des outils de conversion de fichiers Matlab vers Scilab

Description

Scilab contient des outils pour convertir des fichiers Matlab vers Scilab.

A partir d'un fichier Matlab, mfile2sci modifie ce fichier pour qu'il puisse être compilé par Scilab. Puis, ce code compilé est converti en "arbre" d'instructions par macr2tree. Cet "arbre" est une imbrication de listes et de tlists Scilab et est la base de la conversion. Chaque instruction de cet "arbre" est convertie en langage Scilab et l'inférence est réalisé pour savoir ce que sont les variables. Une fois cet "arbre" converti en Scilab, le code est généré en utilisant tree2code.

Toutes les tlists utilisées pour coder cet arbre (et que nous appelons "tlists M2SCI") sont énumérées ci-dessous :

  • funcall

    tlist représentant l'appel à une fonction créée par Funcall

    operation

    tlist représentant une opération créée par Operation

    variable

    tlist représentant une variable créée par Variable

    cste

    tlist représentant une constante créée par Cste

    equal

    tlist représentant une instruction créée Equal

    ifthenelse

    tlist représentant une instruction de contrôle IF/THEN/ELSE créée dans les fonctions du "noyau" de M2SCI

    while

    tlist représentant une instruction de contrôle WHILE créée dans les fonctions du "noyau" de M2SCI

    selectcase

    tlist représentant une instruction de contrôle SELECT/CASE créée dans les fonctions du "noyau" de M2SCI

    for

    tlist représentant une instruction de contrôle FOR créée dans les fonctions du "noyau" de M2SCI

Le contenu des ces tlists est décrit dans les pages d'aide correspondantes.

Les opérations sont converties en utilisant une fonction appelée %<codeop>2sci avec codeop le code Scilab pour cette opérateur. Voir l'aide de overloading pour voir ces codes. Toutes ces fonctions sont déjà écrites et sont dans le répertoire SCI/modules/m2sci/macros/percent/.

Les appels aux fonctions sont convertis en utilisant une fonction appelée sci_<nom_de_la_fonction_Matlab>. Bon nombre de ces fonctions ont été écrites et sont dans le répertoire SCI/modules/m2sci/macros/sci_files/. Nous travillons actuellemnt à l'augmentation du nombre de fonctions Matlab converties. Néanmoins, tout le monde peut écrire ces fonctions en utilisant la pages d'aide sci_files.

L'inférence est réalisée à l'aide de tlists de type "infer" contenant les champs :

  • dims

    liste des dimensions

    type

    tlist de type "type"

    contents

    tlist de type "contents" si la variable est une Cell ou une Struct

Type est une tlist de type "type" contenant les champs :

  • vtype

    type de donnée

    property

    propriété de cette donnée

Pour plus d'informations sur l'inférence, voir la page d'aide de m2scideclare.

Voir aussi

  • mfile2sci — Fonction de conversion de M-file Matlab vers Scilab
  • translatepaths — convertit un ensemble de répertoires contenant des M-files vers Scilab
  • overloading — display, functions and operators overloading capabilities
  • sci_files — Comment écrire des fonctions de conversion
  • Funcall — Créé un arbre représentant l'appel à une fonction
  • Operation — Créé un arbre représentant une opération
  • Variable — Créé un arbre représentant une variable
  • Cste — Créé un arbre représentant une constante
  • Infer — Créé un arbre contenant les données d'inférence
  • Type — Créé un arbre contenant les données d'inférence de type
  • Equal — Créé un arbre représentant une instruction
  • m2scideclare — Donner des indices pour aider M2SCI...

Auteurs

  • V.C.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Oct 05 12:11:04 CEST 2011