Fermer cette fenetre

Merci de télécharger les logos officiels de l'ILL ici

 

Pour utiliser sur le webPour imprimer en haute résolutionLogo blanc pour fonds foncés

Télécharger PNG

Télécharger AI

Télécharger logo blanc PNG

Télécharger JPG

Télécharger logo blanc AI

IDL2Matlab

The Computing for Science (CS) group supports ILL scientists, students and visitors in a number of activities including data analysis, instrument simulation and sample simulation.

Back to ILL Homepage
English French Deutsch 

All Software

IDL to Matlab/Scilab translator (IDL2Matlab)

Version 1.6 (2013-05-01)

Purpose: Automatic translation from an IDL program into Matlab and Scilab code

--------------------------------------------------------------------------------

IDL <www.ResearchSystems.com> and Matlab <http://www.mathworks.com/> are two major numerical languages for scientists. Additionally, Scilab <http://www-rocq.inria.fr/scilab/> is a free Matlab-like software, which integrates a high compatibility (syntax, functions, graphics, user interfaces).
Many IDL programs have been developed in large facilities studying astrophysics, geology,medicine, particle and nuclear physics.
On the other hand, Matlab is widely used in smaller laboratories (universities, national scientific agencies, ...). In order to extend the portability of such IDL programs, we are developing an automatic translator from IDL to Matlab and Scilab.

 

This translator works as follow:

1. analyze and formalize the IDL grammar
2. use lex/yacc to parse the original IDL source code to translate
3. generate a translated equivalent program, using Matlab grammar (and all variable types)
4. use a hash table for library functions.
This library is quite big, and covers the most useful IDL/Matlab functions, particularly mathematical functions, basic plotting functions, widgets/uicontrols

 

Availability
This project is hosted at SourceForge.net. Download it at <http://sourceforge.net/projects/idl2matlab>. The code is available as well as a Linux/Debian package here for e.g. Ubuntu/Mint. A web service is also available at <http://barns.ill.fr/idl2matlab.html>.


IDL2Matlab works on all systems (Unix/Linux/Windows). It is built upon lex/yacc and programmed in C. Compilation of the translator does not require lex/yacc.
The usage of the translator is done through the command line. Installation is done through the usual './configure; make; make install' procedure on Unix/Linux systems. On Windows systems, create an 'idl2matlab' directory

Bugs:

GCC >= 4 installs a stack protector which leads to a buffer overflow error. Add the '-fno-stack-protector' and remove the optimization '-O2' to the CFLAGS variable in the Makefile.


Current status of the project:
The project was started October 2001. It became operational on Autumn 2002.
The translator works already very well. For instance the whole LAMP  program from ILL could be translated.
Limitations: object translation, and most complex plotting routines are not supported.


Developers:
Coordinators: Didier Richardrichard(at)ill.eu and Emmanuel Farhi
Team 1: BENZAGHIOUA Adbeslam, GARDON Lucien, SYLVESTRE Nadege, AZZI MAURIER Karim
Team 2: BOURTEMBOURG Reynald, CORTINA Stephane, SZCZUCZAK Nadege


The translation also performs an IDL syntax check, and reports possible warnings and errors into a Log.

 

 

 

IDL 2 Matlab documents (in French)