summaryrefslogtreecommitdiff
path: root/modules/functions
diff options
context:
space:
mode:
Diffstat (limited to 'modules/functions')
-rwxr-xr-xmodules/functions/.libs/libscifunctions-algo.abin0 -> 77074 bytes
l---------modules/functions/.libs/libscifunctions-algo.la1
l---------modules/functions/.libs/libscifunctions.la1
-rwxr-xr-xmodules/functions/.libs/libscifunctions.lai41
l---------modules/functions/.libs/libscifunctions.so1
l---------modules/functions/.libs/libscifunctions.so.51
-rwxr-xr-xmodules/functions/.libs/libscifunctions.so.5.5.2bin0 -> 127592 bytes
-rwxr-xr-xmodules/functions/Makefile1517
-rwxr-xr-xmodules/functions/Makefile.am72
-rwxr-xr-xmodules/functions/Makefile.in1517
-rwxr-xr-xmodules/functions/etc/functions.quit10
-rwxr-xr-xmodules/functions/etc/functions.start14
-rwxr-xr-xmodules/functions/examples/demo.sce32
-rwxr-xr-xmodules/functions/examples/f.sci13
-rwxr-xr-xmodules/functions/examples/g.sci12
-rwxr-xr-xmodules/functions/examples/readme.txt8
-rwxr-xr-xmodules/functions/functions.iss54
-rwxr-xr-xmodules/functions/help/en_US/addchapter.sce11
-rwxr-xr-xmodules/functions/help/en_US/argn.xml57
-rwxr-xr-xmodules/functions/help/en_US/built_in/CHAPTER2
-rwxr-xr-xmodules/functions/help/en_US/built_in/clearfun.xml66
-rwxr-xr-xmodules/functions/help/en_US/built_in/external.xml86
-rwxr-xr-xmodules/functions/help/en_US/built_in/funptr.xml77
-rwxr-xr-xmodules/functions/help/en_US/built_in/intppty.xml97
-rwxr-xr-xmodules/functions/help/en_US/built_in/newfun.xml85
-rwxr-xr-xmodules/functions/help/en_US/built_in/readgateway.xml66
-rwxr-xr-xmodules/functions/help/en_US/built_in/what.xml19
-rwxr-xr-xmodules/functions/help/en_US/bytecode.xml94
-rwxr-xr-xmodules/functions/help/en_US/bytecodewalk.xml65
-rwxr-xr-xmodules/functions/help/en_US/code2str.xml80
-rwxr-xr-xmodules/functions/help/en_US/comp.xml78
-rwxr-xr-xmodules/functions/help/en_US/deff.xml118
-rwxr-xr-xmodules/functions/help/en_US/edit.xml91
-rwxr-xr-xmodules/functions/help/en_US/exec.xml186
-rwxr-xr-xmodules/functions/help/en_US/execstr.xml145
-rwxr-xr-xmodules/functions/help/en_US/fun2string.xml80
-rwxr-xr-xmodules/functions/help/en_US/funcprot.xml78
-rwxr-xr-xmodules/functions/help/en_US/function.xml140
-rwxr-xr-xmodules/functions/help/en_US/functions.xml183
-rwxr-xr-xmodules/functions/help/en_US/getd.xml69
-rwxr-xr-xmodules/functions/help/en_US/head_comments.xml75
-rwxr-xr-xmodules/functions/help/en_US/libraries/CHAPTER2
-rwxr-xr-xmodules/functions/help/en_US/libraries/genlib.xml127
-rwxr-xr-xmodules/functions/help/en_US/libraries/get_function_path.xml65
-rwxr-xr-xmodules/functions/help/en_US/libraries/lib.xml134
-rwxr-xr-xmodules/functions/help/en_US/libraries/librarieslist.xml50
-rwxr-xr-xmodules/functions/help/en_US/libraries/library.xml86
-rwxr-xr-xmodules/functions/help/en_US/libraries/libraryinfo.xml61
-rwxr-xr-xmodules/functions/help/en_US/libraries/whereis.xml35
-rwxr-xr-xmodules/functions/help/en_US/listfunctions.xml120
-rwxr-xr-xmodules/functions/help/en_US/macr2lst.xml217
-rwxr-xr-xmodules/functions/help/en_US/macr2tree.xml52
-rwxr-xr-xmodules/functions/help/en_US/macro.xml63
-rwxr-xr-xmodules/functions/help/en_US/macrovar.xml83
-rwxr-xr-xmodules/functions/help/en_US/mode.xml138
-rwxr-xr-xmodules/functions/help/en_US/overloading.xml618
-rwxr-xr-xmodules/functions/help/en_US/profiling/add_profiling.xml85
-rwxr-xr-xmodules/functions/help/en_US/profiling/plotprofile.xml123
-rwxr-xr-xmodules/functions/help/en_US/profiling/profile.xml148
-rwxr-xr-xmodules/functions/help/en_US/profiling/remove_profiling.xml83
-rwxr-xr-xmodules/functions/help/en_US/profiling/reset_profiling.xml88
-rwxr-xr-xmodules/functions/help/en_US/profiling/showprofile.xml126
-rwxr-xr-xmodules/functions/help/en_US/recompilefunction.xml89
-rwxr-xr-xmodules/functions/help/en_US/sciargs.xml37
-rwxr-xr-xmodules/functions/help/en_US/str2code.xml79
-rwxr-xr-xmodules/functions/help/en_US/tree2code.xml86
-rwxr-xr-xmodules/functions/help/en_US/varargin.xml111
-rwxr-xr-xmodules/functions/help/en_US/varargout.xml90
-rwxr-xr-xmodules/functions/help/fr_FR/addchapter.sce11
-rwxr-xr-xmodules/functions/help/fr_FR/argn.xml55
-rwxr-xr-xmodules/functions/help/fr_FR/built_in/CHAPTER2
-rwxr-xr-xmodules/functions/help/fr_FR/built_in/external.xml84
-rwxr-xr-xmodules/functions/help/fr_FR/built_in/what.xml20
-rwxr-xr-xmodules/functions/help/fr_FR/bytecode.xml94
-rwxr-xr-xmodules/functions/help/fr_FR/bytecodewalk.xml65
-rwxr-xr-xmodules/functions/help/fr_FR/comp.xml75
-rwxr-xr-xmodules/functions/help/fr_FR/exec.xml191
-rwxr-xr-xmodules/functions/help/fr_FR/execstr.xml154
-rwxr-xr-xmodules/functions/help/fr_FR/function.xml135
-rwxr-xr-xmodules/functions/help/fr_FR/functions.xml184
-rwxr-xr-xmodules/functions/help/fr_FR/getd.xml69
-rwxr-xr-xmodules/functions/help/fr_FR/libraries/CHAPTER2
-rwxr-xr-xmodules/functions/help/fr_FR/libraries/whereis.xml35
-rwxr-xr-xmodules/functions/help/fr_FR/macr2tree.xml52
-rwxr-xr-xmodules/functions/help/fr_FR/macrovar.xml83
-rwxr-xr-xmodules/functions/help/fr_FR/mode.xml142
-rwxr-xr-xmodules/functions/help/fr_FR/profiling/add_profiling.xml85
-rwxr-xr-xmodules/functions/help/fr_FR/profiling/profile.xml148
-rwxr-xr-xmodules/functions/help/fr_FR/profiling/remove_profiling.xml84
-rwxr-xr-xmodules/functions/help/fr_FR/profiling/reset_profiling.xml89
-rwxr-xr-xmodules/functions/help/fr_FR/sciargs.xml29
-rwxr-xr-xmodules/functions/help/ja_JP/addchapter.sce11
-rwxr-xr-xmodules/functions/help/ja_JP/argn.xml101
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/CHAPTER2
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/clearfun.xml106
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/external.xml196
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/funptr.xml143
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/intppty.xml199
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/newfun.xml166
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/readgateway.xml127
-rwxr-xr-xmodules/functions/help/ja_JP/built_in/what.xml36
-rwxr-xr-xmodules/functions/help/ja_JP/bytecode.xml180
-rwxr-xr-xmodules/functions/help/ja_JP/bytecodewalk.xml134
-rwxr-xr-xmodules/functions/help/ja_JP/code2str.xml151
-rwxr-xr-xmodules/functions/help/ja_JP/comp.xml169
-rwxr-xr-xmodules/functions/help/ja_JP/deff.xml229
-rwxr-xr-xmodules/functions/help/ja_JP/edit.xml177
-rwxr-xr-xmodules/functions/help/ja_JP/exec.xml361
-rwxr-xr-xmodules/functions/help/ja_JP/execstr.xml263
-rwxr-xr-xmodules/functions/help/ja_JP/fun2string.xml147
-rwxr-xr-xmodules/functions/help/ja_JP/funcprot.xml168
-rwxr-xr-xmodules/functions/help/ja_JP/function.xml277
-rwxr-xr-xmodules/functions/help/ja_JP/functions.xml369
-rwxr-xr-xmodules/functions/help/ja_JP/getd.xml126
-rwxr-xr-xmodules/functions/help/ja_JP/head_comments.xml148
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/CHAPTER2
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/genlib.xml272
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/get_function_path.xml120
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/lib.xml233
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/librarieslist.xml102
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/library.xml94
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/libraryinfo.xml124
-rwxr-xr-xmodules/functions/help/ja_JP/libraries/whereis.xml67
-rwxr-xr-xmodules/functions/help/ja_JP/listfunctions.xml242
-rwxr-xr-xmodules/functions/help/ja_JP/macr2lst.xml425
-rwxr-xr-xmodules/functions/help/ja_JP/macr2tree.xml100
-rwxr-xr-xmodules/functions/help/ja_JP/macro.xml122
-rwxr-xr-xmodules/functions/help/ja_JP/macrovar.xml161
-rwxr-xr-xmodules/functions/help/ja_JP/mode.xml255
-rwxr-xr-xmodules/functions/help/ja_JP/overloading.xml1208
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/add_profiling.xml152
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/plotprofile.xml228
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/profile.xml286
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/remove_profiling.xml141
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/reset_profiling.xml150
-rwxr-xr-xmodules/functions/help/ja_JP/profiling/showprofile.xml230
-rwxr-xr-xmodules/functions/help/ja_JP/recompilefunction.xml176
-rwxr-xr-xmodules/functions/help/ja_JP/sciargs.xml72
-rwxr-xr-xmodules/functions/help/ja_JP/str2code.xml149
-rwxr-xr-xmodules/functions/help/ja_JP/tree2code.xml156
-rwxr-xr-xmodules/functions/help/ja_JP/varargin.xml109
-rwxr-xr-xmodules/functions/help/ja_JP/varargout.xml90
-rwxr-xr-xmodules/functions/help/pt_BR/addchapter.sce11
-rwxr-xr-xmodules/functions/help/pt_BR/argn.xml34
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/CHAPTER2
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/clearfun.xml32
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/external.xml84
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/funptr.xml82
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/intppty.xml94
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/newfun.xml33
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/readgateway.xml41
-rwxr-xr-xmodules/functions/help/pt_BR/built_in/what.xml28
-rwxr-xr-xmodules/functions/help/pt_BR/bytecode.xml91
-rwxr-xr-xmodules/functions/help/pt_BR/bytecodewalk.xml57
-rwxr-xr-xmodules/functions/help/pt_BR/comp.xml76
-rwxr-xr-xmodules/functions/help/pt_BR/deff.xml121
-rwxr-xr-xmodules/functions/help/pt_BR/edit.xml59
-rwxr-xr-xmodules/functions/help/pt_BR/exec.xml193
-rwxr-xr-xmodules/functions/help/pt_BR/execstr.xml150
-rwxr-xr-xmodules/functions/help/pt_BR/fun2string.xml79
-rwxr-xr-xmodules/functions/help/pt_BR/funcprot.xml74
-rwxr-xr-xmodules/functions/help/pt_BR/function.xml151
-rwxr-xr-xmodules/functions/help/pt_BR/functions.xml174
-rwxr-xr-xmodules/functions/help/pt_BR/getd.xml65
-rwxr-xr-xmodules/functions/help/pt_BR/head_comments.xml76
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/CHAPTER2
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/genlib.xml136
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/get_function_path.xml68
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/lib.xml117
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/librarieslist.xml43
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/library.xml85
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/libraryinfo.xml65
-rwxr-xr-xmodules/functions/help/pt_BR/libraries/whereis.xml26
-rwxr-xr-xmodules/functions/help/pt_BR/listfunctions.xml119
-rwxr-xr-xmodules/functions/help/pt_BR/macr2lst.xml216
-rwxr-xr-xmodules/functions/help/pt_BR/macr2tree.xml52
-rwxr-xr-xmodules/functions/help/pt_BR/macro.xml60
-rwxr-xr-xmodules/functions/help/pt_BR/macrovar.xml88
-rwxr-xr-xmodules/functions/help/pt_BR/mode.xml78
-rwxr-xr-xmodules/functions/help/pt_BR/overloading.xml489
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/add_profiling.xml87
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/plotprofile.xml92
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/profile.xml102
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/remove_profiling.xml87
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/reset_profiling.xml88
-rwxr-xr-xmodules/functions/help/pt_BR/profiling/showprofile.xml86
-rwxr-xr-xmodules/functions/help/pt_BR/recompilefunction.xml93
-rwxr-xr-xmodules/functions/help/pt_BR/sciargs.xml31
-rwxr-xr-xmodules/functions/help/pt_BR/tree2code.xml86
-rwxr-xr-xmodules/functions/help/pt_BR/varargin.xml108
-rwxr-xr-xmodules/functions/help/pt_BR/varargout.xml91
-rwxr-xr-xmodules/functions/help/ru_RU/addchapter.sce11
-rwxr-xr-xmodules/functions/help/ru_RU/argn.xml49
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/CHAPTER2
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/clearfun.xml50
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/external.xml91
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/funptr.xml78
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/intppty.xml93
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/newfun.xml89
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/readgateway.xml67
-rwxr-xr-xmodules/functions/help/ru_RU/built_in/what.xml20
-rwxr-xr-xmodules/functions/help/ru_RU/bytecode.xml93
-rwxr-xr-xmodules/functions/help/ru_RU/code2str.xml83
-rwxr-xr-xmodules/functions/help/ru_RU/comp.xml79
-rwxr-xr-xmodules/functions/help/ru_RU/deff.xml128
-rwxr-xr-xmodules/functions/help/ru_RU/edit.xml91
-rwxr-xr-xmodules/functions/help/ru_RU/exec.xml191
-rwxr-xr-xmodules/functions/help/ru_RU/execstr.xml153
-rwxr-xr-xmodules/functions/help/ru_RU/fun2string.xml86
-rwxr-xr-xmodules/functions/help/ru_RU/funcprot.xml81
-rwxr-xr-xmodules/functions/help/ru_RU/function.xml162
-rwxr-xr-xmodules/functions/help/ru_RU/functions.xml195
-rwxr-xr-xmodules/functions/help/ru_RU/getd.xml74
-rwxr-xr-xmodules/functions/help/ru_RU/head_comments.xml83
-rwxr-xr-xmodules/functions/help/ru_RU/libraries/CHAPTER2
-rwxr-xr-xmodules/functions/help/ru_RU/listfunctions.xml132
-rwxr-xr-xmodules/functions/help/ru_RU/macr2lst.xml217
-rwxr-xr-xmodules/functions/help/ru_RU/macr2tree.xml53
-rwxr-xr-xmodules/functions/help/ru_RU/macro.xml60
-rwxr-xr-xmodules/functions/help/ru_RU/macrovar.xml83
-rwxr-xr-xmodules/functions/help/ru_RU/mode.xml144
-rwxr-xr-xmodules/functions/help/ru_RU/overloading.xml633
-rwxr-xr-xmodules/functions/help/ru_RU/sciargs.xml30
-rwxr-xr-xmodules/functions/help/ru_RU/str2code.xml85
-rwxr-xr-xmodules/functions/help/ru_RU/tree2code.xml93
-rwxr-xr-xmodules/functions/help/ru_RU/varargin.xml111
-rwxr-xr-xmodules/functions/help/ru_RU/varargout.xml80
-rwxr-xr-xmodules/functions/includes/dynlib_functions.h28
-rwxr-xr-xmodules/functions/includes/getmacroslist.h26
-rwxr-xr-xmodules/functions/includes/gw_functions.h33
-rwxr-xr-xmodules/functions/includes/isScilabFunction.h52
-rwxr-xr-xmodules/functions/includes/librarieslist.h26
-rwxr-xr-xmodules/functions/includes/libraryinfo.h33
-rwxr-xr-xmodules/functions/libscifunctions-algo.la41
-rwxr-xr-xmodules/functions/libscifunctions.la41
-rwxr-xr-xmodules/functions/license.txt11
-rwxr-xr-xmodules/functions/locales/ca_ES.po290
-rwxr-xr-xmodules/functions/locales/cs_CZ.po272
-rwxr-xr-xmodules/functions/locales/de_DE.po284
-rwxr-xr-xmodules/functions/locales/es_ES.po290
-rwxr-xr-xmodules/functions/locales/fr_FR.po296
-rwxr-xr-xmodules/functions/locales/functions.pot452
-rwxr-xr-xmodules/functions/locales/it_IT.po309
-rwxr-xr-xmodules/functions/locales/ja_JP.po310
-rwxr-xr-xmodules/functions/locales/pl_PL.po302
-rwxr-xr-xmodules/functions/locales/pt_BR.po299
-rwxr-xr-xmodules/functions/locales/ru_RU.po281
-rwxr-xr-xmodules/functions/locales/uk_UA.po306
-rwxr-xr-xmodules/functions/locales/zh_CN.po268
-rwxr-xr-xmodules/functions/locales/zh_TW.po268
-rwxr-xr-xmodules/functions/macros/add_profiling.binbin0 -> 3872 bytes
-rwxr-xr-xmodules/functions/macros/add_profiling.sci34
-rwxr-xr-xmodules/functions/macros/buildmacros.bat11
-rwxr-xr-xmodules/functions/macros/buildmacros.sce16
-rwxr-xr-xmodules/functions/macros/bytecode.binbin0 -> 4876 bytes
-rwxr-xr-xmodules/functions/macros/bytecode.sci39
-rwxr-xr-xmodules/functions/macros/bytecodewalk.binbin0 -> 28300 bytes
-rwxr-xr-xmodules/functions/macros/bytecodewalk.sci197
-rwxr-xr-xmodules/functions/macros/check_gateways.binbin0 -> 3420 bytes
-rwxr-xr-xmodules/functions/macros/check_gateways.sci36
-rwxr-xr-xmodules/functions/macros/cleanmacros.bat13
-rwxr-xr-xmodules/functions/macros/createfun.binbin0 -> 3312 bytes
-rwxr-xr-xmodules/functions/macros/createfun.sci25
-rwxr-xr-xmodules/functions/macros/fun2string.binbin0 -> 175020 bytes
-rwxr-xr-xmodules/functions/macros/fun2string.sci1265
-rwxr-xr-xmodules/functions/macros/genlib.binbin0 -> 32108 bytes
-rwxr-xr-xmodules/functions/macros/genlib.sci286
-rwxr-xr-xmodules/functions/macros/get_function_path.binbin0 -> 3460 bytes
-rwxr-xr-xmodules/functions/macros/get_function_path.sci39
-rwxr-xr-xmodules/functions/macros/get_profile.binbin0 -> 5396 bytes
-rwxr-xr-xmodules/functions/macros/get_profile.sci45
-rwxr-xr-xmodules/functions/macros/getd.binbin0 -> 6108 bytes
-rwxr-xr-xmodules/functions/macros/getd.sci64
-rwxr-xr-xmodules/functions/macros/head_comments.binbin0 -> 5888 bytes
-rwxr-xr-xmodules/functions/macros/head_comments.sci44
-rwxr-xr-xmodules/functions/macros/libbin0 -> 752 bytes
-rwxr-xr-xmodules/functions/macros/listfunctions.binbin0 -> 4496 bytes
-rwxr-xr-xmodules/functions/macros/listfunctions.sci32
-rwxr-xr-xmodules/functions/macros/macrovar.binbin0 -> 11308 bytes
-rwxr-xr-xmodules/functions/macros/macrovar.sci92
-rwxr-xr-xmodules/functions/macros/names20
-rwxr-xr-xmodules/functions/macros/plotprofile.binbin0 -> 32784 bytes
-rwxr-xr-xmodules/functions/macros/plotprofile.sci178
-rwxr-xr-xmodules/functions/macros/profile.binbin0 -> 2656 bytes
-rwxr-xr-xmodules/functions/macros/profile.sci30
-rwxr-xr-xmodules/functions/macros/recompilefunction.binbin0 -> 8408 bytes
-rwxr-xr-xmodules/functions/macros/recompilefunction.sci54
-rwxr-xr-xmodules/functions/macros/remove_profiling.binbin0 -> 3668 bytes
-rwxr-xr-xmodules/functions/macros/remove_profiling.sci30
-rwxr-xr-xmodules/functions/macros/reset_profiling.binbin0 -> 3728 bytes
-rwxr-xr-xmodules/functions/macros/reset_profiling.sci30
-rwxr-xr-xmodules/functions/macros/showprofile.binbin0 -> 3600 bytes
-rwxr-xr-xmodules/functions/macros/showprofile.sci39
-rwxr-xr-xmodules/functions/macros/warnobsolete.binbin0 -> 4056 bytes
-rwxr-xr-xmodules/functions/macros/warnobsolete.sci42
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo285
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo11
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo301
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo302
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo307
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo221
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo301
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo299
-rwxr-xr-xmodules/functions/sci_gateway/c/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.obin0 -> 9144 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.obin0 -> 3560 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.obin0 -> 18832 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.obin0 -> 17488 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.obin0 -> 14456 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.obin0 -> 8592 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.obin0 -> 13000 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.obin0 -> 12640 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/gw_functions.c78
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_deff.c22
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_exec.c308
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_execstr.c252
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_lib.c167
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_librarieslist.c48
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_libraryinfo.c131
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_whereis.c159
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intdeff.obin0 -> 16032 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intexec.obin0 -> 21984 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intexecstr.obin0 -> 20816 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intlib.obin0 -> 22504 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intdeff.f82
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intdeff.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexec.f213
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexec.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexecstr.f166
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexecstr.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intlib.f109
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intlib.lo12
-rwxr-xr-xmodules/functions/sci_gateway/functions_gateway.xml41
-rwxr-xr-xmodules/functions/scripts/buildmacros/BuildMacros.vcxproj138
-rwxr-xr-xmodules/functions/scripts/buildmacros/BuildMacros.vcxproj.filters28
-rwxr-xr-xmodules/functions/scripts/buildmacros/Makefile13
-rwxr-xr-xmodules/functions/scripts/buildmacros/buildmacros.sce49
-rwxr-xr-xmodules/functions/scripts/buildmacros/cleanmacros.bat16
-rwxr-xr-xmodules/functions/scripts/buildmacros/cleanmacros.sce31
-rwxr-xr-xmodules/functions/scripts/buildmacros/loadgenlib.sce27
-rwxr-xr-xmodules/functions/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/src/c/.deps/libscifunctions_algo_la-getmacroslist.Plo281
-rwxr-xr-xmodules/functions/src/c/.deps/libscifunctions_algo_la-isScilabFunction.Plo280
-rwxr-xr-xmodules/functions/src/c/.deps/libscifunctions_algo_la-librarieslist.Plo287
-rwxr-xr-xmodules/functions/src/c/.deps/libscifunctions_algo_la-libraryinfo.Plo260
-rwxr-xr-xmodules/functions/src/c/.deps/libscifunctions_algo_la-searchmacroinlibraries.Plo132
-rwxr-xr-xmodules/functions/src/c/.dirstamp0
-rwxr-xr-xmodules/functions/src/c/.libs/libscifunctions_algo_la-getmacroslist.obin0 -> 19384 bytes
-rwxr-xr-xmodules/functions/src/c/.libs/libscifunctions_algo_la-isScilabFunction.obin0 -> 10072 bytes
-rwxr-xr-xmodules/functions/src/c/.libs/libscifunctions_algo_la-librarieslist.obin0 -> 9608 bytes
-rwxr-xr-xmodules/functions/src/c/.libs/libscifunctions_algo_la-libraryinfo.obin0 -> 15752 bytes
-rwxr-xr-xmodules/functions/src/c/.libs/libscifunctions_algo_la-searchmacroinlibraries.obin0 -> 7600 bytes
-rwxr-xr-xmodules/functions/src/c/Core_f_Import.def11
-rwxr-xr-xmodules/functions/src/c/DllmainFunctions.c33
-rwxr-xr-xmodules/functions/src/c/core_Import.def25
-rwxr-xr-xmodules/functions/src/c/functions.rc96
-rwxr-xr-xmodules/functions/src/c/functions.vcxproj266
-rwxr-xr-xmodules/functions/src/c/functions.vcxproj.filters114
-rwxr-xr-xmodules/functions/src/c/functions_f_Import.def12
-rwxr-xr-xmodules/functions/src/c/getmacroslist.c271
-rwxr-xr-xmodules/functions/src/c/isScilabFunction.c81
-rwxr-xr-xmodules/functions/src/c/librarieslist.c108
-rwxr-xr-xmodules/functions/src/c/libraryinfo.c123
-rwxr-xr-xmodules/functions/src/c/libscifunctions_algo_la-getmacroslist.lo12
-rwxr-xr-xmodules/functions/src/c/libscifunctions_algo_la-isScilabFunction.lo12
-rwxr-xr-xmodules/functions/src/c/libscifunctions_algo_la-librarieslist.lo12
-rwxr-xr-xmodules/functions/src/c/libscifunctions_algo_la-libraryinfo.lo12
-rwxr-xr-xmodules/functions/src/c/libscifunctions_algo_la-searchmacroinlibraries.lo12
-rwxr-xr-xmodules/functions/src/c/searchmacroinlibraries.c70
-rwxr-xr-xmodules/functions/src/c/searchmacroinlibraries.h27
-rwxr-xr-xmodules/functions/src/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/src/fortran/.dirstamp0
-rwxr-xr-xmodules/functions/src/fortran/.libs/whereis.obin0 -> 13616 bytes
-rwxr-xr-xmodules/functions/src/fortran/Core_f_Import.def16
-rwxr-xr-xmodules/functions/src/fortran/Elementary_functions_Import.def6
-rwxr-xr-xmodules/functions/src/fortran/core_Import.def33
-rwxr-xr-xmodules/functions/src/fortran/elementary_functions_f_Import.def7
-rwxr-xr-xmodules/functions/src/fortran/fileio_Import.def6
-rwxr-xr-xmodules/functions/src/fortran/functions_f.rc96
-rwxr-xr-xmodules/functions/src/fortran/functions_f.vfproj129
-rwxr-xr-xmodules/functions/src/fortran/functions_f2c.vcxproj311
-rwxr-xr-xmodules/functions/src/fortran/functions_f2c.vcxproj.filters88
-rwxr-xr-xmodules/functions/src/fortran/io_f_Import.def6
-rwxr-xr-xmodules/functions/src/fortran/linpack_f_Import.def6
-rwxr-xr-xmodules/functions/src/fortran/output_stream_Import.def8
-rwxr-xr-xmodules/functions/src/fortran/string_Import.def6
-rwxr-xr-xmodules/functions/src/fortran/whereis.f48
-rwxr-xr-xmodules/functions/src/fortran/whereis.lo12
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_10243.dia.ref21
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_10243.tst22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_10391.dia.ref18
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_10391.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1074.dia.ref14
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1074.tst29
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_12593.dia.ref23
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_12593.tst27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_13093.dia.ref21
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_13093.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_13146.dia.ref26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_13146.tst27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1469.dia.ref368
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1469.tst286
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1794.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1794.tst31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1966.dia.ref30
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_1966.tst37
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2098.dia.ref26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2098.tst34
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2238.dia.ref21
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2238.tst24
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2347.dia.ref69
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2347.tst45
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2378.dia.ref18
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2378.tst23
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2420.dia.ref16
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2420.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2476.dia.ref17
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2476.tst23
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2509.dia.ref59
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2509.tst68
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2551.dia.ref24
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2551.tst27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2553.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2553.tst22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2654.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2654.tst26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce12
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce12
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2654_test_OK.sce12
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2873.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2873.tst29
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2987.dia.ref15
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_2987.tst15
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_3533.dia.ref30
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_3533.tst39
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4192.dia.ref25
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4192.tst34
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4495.dia.ref41
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4495.tst41
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4608.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4608.tst27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4841.dia.ref25
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4841.tst26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4943.dia.ref28
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4943.tst31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4966.dia.ref16
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4966.tst19
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4968.dia.ref30
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4968.tst30
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4974.dia.ref20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_4974.tst22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_525.dia.ref31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_525.tst42
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_528.dia.ref37
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_528.tst41
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5286.dia.ref17
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5286.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5507.dia.ref17
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5507.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5583.dia.ref36
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5583.tst19
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5583_ANSI.sce10
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_5583_UTF.sce20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_610.dia.ref17
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_610.tst28
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6549.dia.ref78
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6549.tst60
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6550.dia.ref35
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6550.tst35
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_670.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_670.tst31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6841.dia.ref27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6841.tst22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6849.dia.ref85
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6849.tst87
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6901.dia.ref17
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_6901.tst20
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7006.tst25
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7163.dia.ref28
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7163.tst31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_731.dia.ref57
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_731.tst77
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7369.dia.ref22
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7369.tst24
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7619.dia.ref25
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7619.tst26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7779.dia.ref30
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7779.tst36
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7952.dia.ref26
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_7952.tst31
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_8448.tst27
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_9059.dia.ref29
-rwxr-xr-xmodules/functions/tests/nonreg_tests/bug_9059.tst28
-rwxr-xr-xmodules/functions/tests/unit_tests/bytecode.dia.ref35
-rwxr-xr-xmodules/functions/tests/unit_tests/bytecode.tst41
-rwxr-xr-xmodules/functions/tests/unit_tests/deff.dia.ref43
-rwxr-xr-xmodules/functions/tests/unit_tests/deff.tst50
-rwxr-xr-xmodules/functions/tests/unit_tests/exec.dia.ref68
-rwxr-xr-xmodules/functions/tests/unit_tests/exec.tst52
-rwxr-xr-xmodules/functions/tests/unit_tests/exec_UTF8BOM.dia.ref68
-rwxr-xr-xmodules/functions/tests/unit_tests/exec_UTF8BOM.tst52
-rwxr-xr-xmodules/functions/tests/unit_tests/execstr.dia.ref36
-rwxr-xr-xmodules/functions/tests/unit_tests/execstr.tst42
-rwxr-xr-xmodules/functions/tests/unit_tests/fun2string.dia.ref174
-rwxr-xr-xmodules/functions/tests/unit_tests/fun2string.tst177
-rwxr-xr-xmodules/functions/tests/unit_tests/get_function_path.dia.ref24
-rwxr-xr-xmodules/functions/tests/unit_tests/get_function_path.tst28
-rwxr-xr-xmodules/functions/tests/unit_tests/lib.dia.ref32
-rwxr-xr-xmodules/functions/tests/unit_tests/lib.tst45
-rwxr-xr-xmodules/functions/tests/unit_tests/libraryinfo.encoding.dia.ref23
-rwxr-xr-xmodules/functions/tests/unit_tests/libraryinfo.encoding.tst29
-rwxr-xr-xmodules/functions/tests/unit_tests/macrovar.dia.ref71
-rwxr-xr-xmodules/functions/tests/unit_tests/macrovar.tst86
-rwxr-xr-xmodules/functions/tests/unit_tests/whereis.dia.ref9
-rwxr-xr-xmodules/functions/tests/unit_tests/whereis.tst11
-rwxr-xr-xmodules/functions/xml/gateway.dtd14
527 files changed, 47472 insertions, 0 deletions
diff --git a/modules/functions/.libs/libscifunctions-algo.a b/modules/functions/.libs/libscifunctions-algo.a
new file mode 100755
index 000000000..3c44e8baf
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions-algo.a
Binary files differ
diff --git a/modules/functions/.libs/libscifunctions-algo.la b/modules/functions/.libs/libscifunctions-algo.la
new file mode 120000
index 000000000..13ed10df4
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions-algo.la
@@ -0,0 +1 @@
+../libscifunctions-algo.la \ No newline at end of file
diff --git a/modules/functions/.libs/libscifunctions.la b/modules/functions/.libs/libscifunctions.la
new file mode 120000
index 000000000..36f77cc7f
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions.la
@@ -0,0 +1 @@
+../libscifunctions.la \ No newline at end of file
diff --git a/modules/functions/.libs/libscifunctions.lai b/modules/functions/.libs/libscifunctions.lai
new file mode 100755
index 000000000..83da2206d
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions.lai
@@ -0,0 +1,41 @@
+# libscifunctions.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libscifunctions.so.5'
+
+# Names of this library.
+library_names='libscifunctions.so.5.5.2 libscifunctions.so.5 libscifunctions.so'
+
+# The name of the static archive.
+old_library=''
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscifunctions.
+current=10
+age=5
+revision=2
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/local/lib/scilab'
diff --git a/modules/functions/.libs/libscifunctions.so b/modules/functions/.libs/libscifunctions.so
new file mode 120000
index 000000000..c3c481a99
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions.so
@@ -0,0 +1 @@
+libscifunctions.so.5.5.2 \ No newline at end of file
diff --git a/modules/functions/.libs/libscifunctions.so.5 b/modules/functions/.libs/libscifunctions.so.5
new file mode 120000
index 000000000..c3c481a99
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions.so.5
@@ -0,0 +1 @@
+libscifunctions.so.5.5.2 \ No newline at end of file
diff --git a/modules/functions/.libs/libscifunctions.so.5.5.2 b/modules/functions/.libs/libscifunctions.so.5.5.2
new file mode 100755
index 000000000..da62ec84a
--- /dev/null
+++ b/modules/functions/.libs/libscifunctions.so.5.5.2
Binary files differ
diff --git a/modules/functions/Makefile b/modules/functions/Makefile
new file mode 100755
index 000000000..e93889c4b
--- /dev/null
+++ b/modules/functions/Makefile
@@ -0,0 +1,1517 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# modules/functions/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2009 - DIGITEO - Allan CORNET
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/scilab
+pkgincludedir = $(includedir)/scilab
+pkglibdir = $(libdir)/scilab
+pkglibexecdir = $(libexecdir)/scilab
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+am__append_1 = java
+subdir = modules/functions
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscifunctions_la_etcdir)" \
+ "$(DESTDIR)$(libscifunctions_la_rootdir)" \
+ "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libscifunctions_algo_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_1 = src/c/libscifunctions_algo_la-getmacroslist.lo \
+ src/c/libscifunctions_algo_la-librarieslist.lo \
+ src/c/libscifunctions_algo_la-libraryinfo.lo \
+ src/c/libscifunctions_algo_la-isScilabFunction.lo \
+ src/c/libscifunctions_algo_la-searchmacroinlibraries.lo
+am__objects_2 = src/fortran/whereis.lo
+am_libscifunctions_algo_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libscifunctions_algo_la_OBJECTS = \
+ $(am_libscifunctions_algo_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libscifunctions_la_DEPENDENCIES = libscifunctions-algo.la
+am__objects_3 = sci_gateway/c/libscifunctions_la-gw_functions.lo \
+ sci_gateway/c/libscifunctions_la-sci_lib.lo \
+ sci_gateway/c/libscifunctions_la-sci_deff.lo \
+ sci_gateway/c/libscifunctions_la-sci_execstr.lo \
+ sci_gateway/c/libscifunctions_la-sci_exec.lo \
+ sci_gateway/c/libscifunctions_la-sci_whereis.lo \
+ sci_gateway/c/libscifunctions_la-sci_librarieslist.lo \
+ sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
+am__objects_4 = sci_gateway/fortran/intlib.lo \
+ sci_gateway/fortran/intdeff.lo \
+ sci_gateway/fortran/intexecstr.lo \
+ sci_gateway/fortran/intexec.lo
+am_libscifunctions_la_OBJECTS = $(am__objects_3) $(am__objects_4)
+libscifunctions_la_OBJECTS = $(am_libscifunctions_la_OBJECTS)
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_$(V))
+am__v_F77_ = $(am__v_F77_$(AM_DEFAULT_VERBOSITY))
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_$(V))
+am__v_F77LD_ = $(am__v_F77LD_$(AM_DEFAULT_VERBOSITY))
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libscifunctions_algo_la_SOURCES) \
+ $(libscifunctions_la_SOURCES)
+DIST_SOURCES = $(libscifunctions_algo_la_SOURCES) \
+ $(libscifunctions_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscifunctions_la_etc_DATA) $(libscifunctions_la_root_DATA) \
+ $(libscifunctions_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14
+ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ
+ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = /usr/bin/ant
+ANTLR = /usr/share/java/antlr.jar
+AR = ar
+ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack
+ASM3 = /usr/share/java/asm3-3.3.2.jar
+AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf
+AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader
+AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14
+AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar
+AWK = mawk
+BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar
+BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas
+CC = gcc
+CCACHE =
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CHECKSTYLE =
+COBERTURA = /usr/share/java/cobertura.jar
+COMMONS_BEANUTILS =
+COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar
+COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar
+CPP = gcc -E
+CPPFLAGS =
+CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config
+CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz
+CURL_VERSION = libcurl 7.19.7
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEMOTOOLS_ENABLE = yes
+DEPDIR = .deps
+DLLTOOL = false
+DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/
+DOXYGEN_BIN =
+DSYMUTIL =
+DUMPBIN =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar
+EGREP = /bin/grep -E
+EXEEXT =
+F77 = gfortran
+FFLAGS = -g -O2
+FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3
+FFTW_ENABLE = yes
+FGREP = /bin/grep -F
+FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar
+FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath
+FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar
+FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar
+FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar
+FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar
+FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar
+FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar
+GENHTML =
+GETTEXT_MACRO_VERSION = 0.19
+GIWS_BIN =
+GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar
+GMSGFMT = /usr/bin/msgfmt
+GMSGFMT_015 = /usr/bin/msgfmt
+GRAPHICS_ENABLE = yes
+GREP = /bin/grep
+GUI_ENABLE = yes
+HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl
+HELP_ENABLE = yes
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+INTLLIBS =
+INTL_MACOSX_LIBS =
+JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar
+JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
+JAVAC_DEBUG = off
+JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
+JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
+JAVASCI_ENABLE = yes
+JAVA_ENABLE = yes
+JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
+JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux
+JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm
+JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb
+JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar
+JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar
+JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar
+JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar
+JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar
+JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar
+JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar
+JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar
+JUNIT4 = /usr/share/java/junit4.jar
+LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack
+LCOV =
+LD = /usr/bin/ld -m elf_x86_64
+LDFLAGS = -Wl,--no-as-needed
+LIBICONV = -liconv
+LIBINTL =
+LIBM = -lm
+LIBOBJS =
+LIBS = -lpthread -ldl -lcurses -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO =
+LN_S = ln -s
+LOGGING_LEVEL = SEVERE
+LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar
+LTLIBICONV = -liconv
+LTLIBINTL =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo
+MANIFEST_TOOL = :
+MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+MATIO_ENABLE = yes
+MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5
+MKDIR_P = /bin/mkdir -p
+MPI_ENABLE = no
+MSGCAT = /usr/bin/msgcat
+MSGFMT = /usr/bin/msgfmt
+MSGFMT_015 = /usr/bin/msgfmt
+MSGMERGE = /usr/bin/msgmerge
+NM = nm
+NMEDIT =
+OBJDUMP = objdump
+OBJEXT = o
+OCAMLC = ocamlc
+OCAMLDEP = ocamldep
+OCAMLLEX = ocamllex
+OCAMLOPT = ocamlopt
+OCAMLYACC = ocamlyacc
+OPENMPI_CC =
+OPENMPI_CFLAGS =
+OPENMPI_CXX =
+OPENMPI_CXXFLAGS =
+OPENMPI_LIBS =
+OPENMP_CFLAGS = -fopenmp
+OPENMP_CXXFLAGS = -fopenmp
+OPENMP_ENABLE = yes
+OPENMP_LIBS = -lgomp -lstdc++
+OTOOL =
+OTOOL64 =
+PACKAGE = scilab
+PACKAGE_BUGREPORT = http://bugzilla.scilab.org/
+PACKAGE_NAME = Scilab
+PACKAGE_STRING = Scilab 5
+PACKAGE_TARNAME = scilab
+PACKAGE_URL =
+PACKAGE_VERSION = 5
+PATH_SEPARATOR = :
+PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config
+PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre
+PCRE_VERSION = 8.35
+PKG_CONFIG = /usr/bin/pkg-config
+POSUB = po
+POW_LIB =
+PYTHON =
+RANLIB = ranlib
+RELOCATABLE = no
+RT_LIB = -lrt
+SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar
+SCILAB_BINARY_VERSION = 5.5.2
+SCILAB_LIBRARY_VERSION = 5:5:2
+SCILAB_VERSION_MAINTENANCE = 2
+SCILAB_VERSION_MAJOR = 5
+SCILAB_VERSION_MINOR = 5
+SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar
+SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar
+SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector
+SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector
+SCI_FFLAGS = -DNDEBUG -m64 -fPIC
+SCI_LDFLAGS =
+SED = /bin/sed
+SET_MAKE =
+SET_RELOCATABLE =
+SHELL = /bin/bash
+SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar
+SPLINT = no
+STRIP = strip
+SWIG_BIN =
+SWIG_JAVA =
+SWIG_RUNTIME_LIBS_DIR =
+SWIG_SCILAB =
+TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl
+TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_ENABLE = yes
+UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd
+USE_NLS = yes
+VERSION = 5
+WITH_OCAML =
+WITH_TKSCI = yes
+XCOS_ENABLE = yes
+XGETTEXT = /usr/bin/xgettext
+XGETTEXT_015 = /usr/bin/xgettext
+XGETTEXT_EXTRA_OPTIONS =
+XMKMF =
+XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar
+XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar
+XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config
+XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2
+XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl
+XML_VERSION = 2.9.1
+X_CFLAGS =
+X_EXTRA_LIBS =
+X_LIBS =
+X_PRE_LIBS =
+abs_builddir = /home/shashank/scilab-master_5.5.2/modules/functions
+abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/functions
+abs_top_builddir = /home/shashank/scilab-master_5.5.2
+abs_top_srcdir = /home/shashank/scilab-master_5.5.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+ac_ct_F77 = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+cxx_present = yes
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+FUNCTIONS_C_SOURCES = src/c/getmacroslist.c \
+ src/c/librarieslist.c \
+ src/c/libraryinfo.c \
+ src/c/isScilabFunction.c \
+ src/c/searchmacroinlibraries.c
+
+FUNCTIONS_FORTRAN_SOURCES = src/fortran/whereis.f
+GATEWAY_C_SOURCES = sci_gateway/c/gw_functions.c \
+sci_gateway/c/sci_lib.c \
+sci_gateway/c/sci_deff.c \
+sci_gateway/c/sci_execstr.c \
+sci_gateway/c/sci_exec.c \
+sci_gateway/c/sci_whereis.c \
+sci_gateway/c/sci_librarieslist.c \
+sci_gateway/c/sci_libraryinfo.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/intlib.f \
+sci_gateway/fortran/intdeff.f \
+sci_gateway/fortran/intexecstr.f \
+sci_gateway/fortran/intexec.f
+
+libscifunctions_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(srcdir)/src/c/ \
+ -I$(top_srcdir)/modules/core/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/fileio/includes/ \
+ -I$(top_srcdir)/modules/call_scilab/includes/ \
+ -I$(top_srcdir)/modules/io/includes/ \
+ -I$(top_srcdir)/modules/string/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+pkglib_LTLIBRARIES = libscifunctions.la
+noinst_LTLIBRARIES = libscifunctions-algo.la
+libscifunctions_algo_la_SOURCES = $(FUNCTIONS_C_SOURCES) $(FUNCTIONS_FORTRAN_SOURCES)
+libscifunctions_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscifunctions_algo_la_CPPFLAGS = $(libscifunctions_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = $(FUNCTIONS_SOURCES) $(GATEWAY_SOURCES)
+INCLUDE_FLAGS = $(libscifunctions_la_CPPFLAGS)
+libscifunctions_la_LIBADD = \
+ libscifunctions-algo.la
+
+
+#### Target ######
+modulename = functions
+
+#### functions : Conf files ####
+libscifunctions_la_rootdir = $(mydatadir)
+libscifunctions_la_root_DATA = license.txt
+
+#### functions : init scripts ####
+libscifunctions_la_etcdir = $(mydatadir)/etc
+libscifunctions_la_etc_DATA = etc/functions.quit etc/functions.start
+
+#### functions : gateway declaration ####
+libscifunctions_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscifunctions_la_sci_gateway_DATA = sci_gateway/functions_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_1)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/functions/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/functions/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/c/$(am__dirstamp):
+ @$(MKDIR_P) src/c
+ @: > src/c/$(am__dirstamp)
+src/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/c/$(DEPDIR)
+ @: > src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-getmacroslist.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-librarieslist.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-libraryinfo.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-isScilabFunction.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-searchmacroinlibraries.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/whereis.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscifunctions-algo.la: $(libscifunctions_algo_la_OBJECTS) $(libscifunctions_algo_la_DEPENDENCIES) $(EXTRA_libscifunctions_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(libscifunctions_algo_la_OBJECTS) $(libscifunctions_algo_la_LIBADD) $(LIBS)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-gw_functions.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_lib.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_deff.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_exec.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intlib.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intdeff.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intexecstr.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intexec.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscifunctions.la: $(libscifunctions_la_OBJECTS) $(libscifunctions_la_DEPENDENCIES) $(EXTRA_libscifunctions_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) -rpath $(pkglibdir) $(libscifunctions_la_OBJECTS) $(libscifunctions_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/c/*.$(OBJEXT)
+ -rm -f src/c/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Plo
+include sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Plo
+include src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Plo
+include src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Plo
+include src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Plo
+include src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Plo
+include src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Plo
+
+.c.o:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Plo
+# $(AM_V_CC)source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<
+
+src/c/libscifunctions_algo_la-getmacroslist.lo: src/c/getmacroslist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-getmacroslist.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Tpo -c -o src/c/libscifunctions_algo_la-getmacroslist.lo `test -f 'src/c/getmacroslist.c' || echo '$(srcdir)/'`src/c/getmacroslist.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Plo
+# $(AM_V_CC)source='src/c/getmacroslist.c' object='src/c/libscifunctions_algo_la-getmacroslist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-getmacroslist.lo `test -f 'src/c/getmacroslist.c' || echo '$(srcdir)/'`src/c/getmacroslist.c
+
+src/c/libscifunctions_algo_la-librarieslist.lo: src/c/librarieslist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-librarieslist.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Tpo -c -o src/c/libscifunctions_algo_la-librarieslist.lo `test -f 'src/c/librarieslist.c' || echo '$(srcdir)/'`src/c/librarieslist.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Plo
+# $(AM_V_CC)source='src/c/librarieslist.c' object='src/c/libscifunctions_algo_la-librarieslist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-librarieslist.lo `test -f 'src/c/librarieslist.c' || echo '$(srcdir)/'`src/c/librarieslist.c
+
+src/c/libscifunctions_algo_la-libraryinfo.lo: src/c/libraryinfo.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-libraryinfo.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Tpo -c -o src/c/libscifunctions_algo_la-libraryinfo.lo `test -f 'src/c/libraryinfo.c' || echo '$(srcdir)/'`src/c/libraryinfo.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Plo
+# $(AM_V_CC)source='src/c/libraryinfo.c' object='src/c/libscifunctions_algo_la-libraryinfo.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-libraryinfo.lo `test -f 'src/c/libraryinfo.c' || echo '$(srcdir)/'`src/c/libraryinfo.c
+
+src/c/libscifunctions_algo_la-isScilabFunction.lo: src/c/isScilabFunction.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-isScilabFunction.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Tpo -c -o src/c/libscifunctions_algo_la-isScilabFunction.lo `test -f 'src/c/isScilabFunction.c' || echo '$(srcdir)/'`src/c/isScilabFunction.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Plo
+# $(AM_V_CC)source='src/c/isScilabFunction.c' object='src/c/libscifunctions_algo_la-isScilabFunction.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-isScilabFunction.lo `test -f 'src/c/isScilabFunction.c' || echo '$(srcdir)/'`src/c/isScilabFunction.c
+
+src/c/libscifunctions_algo_la-searchmacroinlibraries.lo: src/c/searchmacroinlibraries.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-searchmacroinlibraries.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Tpo -c -o src/c/libscifunctions_algo_la-searchmacroinlibraries.lo `test -f 'src/c/searchmacroinlibraries.c' || echo '$(srcdir)/'`src/c/searchmacroinlibraries.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Plo
+# $(AM_V_CC)source='src/c/searchmacroinlibraries.c' object='src/c/libscifunctions_algo_la-searchmacroinlibraries.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-searchmacroinlibraries.lo `test -f 'src/c/searchmacroinlibraries.c' || echo '$(srcdir)/'`src/c/searchmacroinlibraries.c
+
+sci_gateway/c/libscifunctions_la-gw_functions.lo: sci_gateway/c/gw_functions.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-gw_functions.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Tpo -c -o sci_gateway/c/libscifunctions_la-gw_functions.lo `test -f 'sci_gateway/c/gw_functions.c' || echo '$(srcdir)/'`sci_gateway/c/gw_functions.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Plo
+# $(AM_V_CC)source='sci_gateway/c/gw_functions.c' object='sci_gateway/c/libscifunctions_la-gw_functions.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-gw_functions.lo `test -f 'sci_gateway/c/gw_functions.c' || echo '$(srcdir)/'`sci_gateway/c/gw_functions.c
+
+sci_gateway/c/libscifunctions_la-sci_lib.lo: sci_gateway/c/sci_lib.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_lib.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_lib.lo `test -f 'sci_gateway/c/sci_lib.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lib.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_lib.c' object='sci_gateway/c/libscifunctions_la-sci_lib.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_lib.lo `test -f 'sci_gateway/c/sci_lib.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lib.c
+
+sci_gateway/c/libscifunctions_la-sci_deff.lo: sci_gateway/c/sci_deff.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_deff.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_deff.lo `test -f 'sci_gateway/c/sci_deff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_deff.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_deff.c' object='sci_gateway/c/libscifunctions_la-sci_deff.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_deff.lo `test -f 'sci_gateway/c/sci_deff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_deff.c
+
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: sci_gateway/c/sci_execstr.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_execstr.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_execstr.lo `test -f 'sci_gateway/c/sci_execstr.c' || echo '$(srcdir)/'`sci_gateway/c/sci_execstr.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_execstr.c' object='sci_gateway/c/libscifunctions_la-sci_execstr.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_execstr.lo `test -f 'sci_gateway/c/sci_execstr.c' || echo '$(srcdir)/'`sci_gateway/c/sci_execstr.c
+
+sci_gateway/c/libscifunctions_la-sci_exec.lo: sci_gateway/c/sci_exec.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_exec.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_exec.lo `test -f 'sci_gateway/c/sci_exec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_exec.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_exec.c' object='sci_gateway/c/libscifunctions_la-sci_exec.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_exec.lo `test -f 'sci_gateway/c/sci_exec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_exec.c
+
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: sci_gateway/c/sci_whereis.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_whereis.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_whereis.lo `test -f 'sci_gateway/c/sci_whereis.c' || echo '$(srcdir)/'`sci_gateway/c/sci_whereis.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_whereis.c' object='sci_gateway/c/libscifunctions_la-sci_whereis.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_whereis.lo `test -f 'sci_gateway/c/sci_whereis.c' || echo '$(srcdir)/'`sci_gateway/c/sci_whereis.c
+
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: sci_gateway/c/sci_librarieslist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_librarieslist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_librarieslist.lo `test -f 'sci_gateway/c/sci_librarieslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_librarieslist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_librarieslist.c' object='sci_gateway/c/libscifunctions_la-sci_librarieslist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_librarieslist.lo `test -f 'sci_gateway/c/sci_librarieslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_librarieslist.c
+
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: sci_gateway/c/sci_libraryinfo.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo `test -f 'sci_gateway/c/sci_libraryinfo.c' || echo '$(srcdir)/'`sci_gateway/c/sci_libraryinfo.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_libraryinfo.c' object='sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo `test -f 'sci_gateway/c/sci_libraryinfo.c' || echo '$(srcdir)/'`sci_gateway/c/sci_libraryinfo.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/c/.libs src/c/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscifunctions_la_etcDATA: $(libscifunctions_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_etc_DATA)'; test -n "$(libscifunctions_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_etc_DATA)'; test -n "$(libscifunctions_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscifunctions_la_rootDATA: $(libscifunctions_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_root_DATA)'; test -n "$(libscifunctions_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_root_DATA)'; test -n "$(libscifunctions_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscifunctions_la_sci_gatewayDATA: $(libscifunctions_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_sci_gateway_DATA)'; test -n "$(libscifunctions_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_sci_gateway_DATA)'; test -n "$(libscifunctions_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscifunctions_la_etcdir)" "$(DESTDIR)$(libscifunctions_la_rootdir)" "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/c/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-libscifunctions_la_etcDATA \
+ install-libscifunctions_la_rootDATA \
+ install-libscifunctions_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscifunctions_la_etcDATA \
+ uninstall-libscifunctions_la_rootDATA \
+ uninstall-libscifunctions_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscifunctions_la_etcDATA \
+ install-libscifunctions_la_rootDATA \
+ install-libscifunctions_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscifunctions_la_etcDATA \
+ uninstall-libscifunctions_la_rootDATA \
+ uninstall-libscifunctions_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT); \
+ fi
+
+clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) clean; \
+ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#swig: $(SWIG_WRAPPERS)
+# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+# if test -n "$(SWIG_WRAPPERS)"; then \
+# for file in $(SWIG_WRAPPERS) ; do \
+# echo "Swig process of $$file (Java) ..."; \
+# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+#swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+# @SWIG_OUTDIR=src/swig/; \
+# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+# for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+# echo "Swig process of $$file (Scilab) ..."; \
+# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#giws: $(GIWS_WRAPPERS)
+# @GIWS_OUTPUTDIR=src/jni/; \
+# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+# if test -n "$(GIWS_WRAPPERS)"; then \
+# for file in $(GIWS_WRAPPERS) ; do \
+# echo "GIWS process of $$file ..."; \
+# if test -z "$(GIWS_OPTIONS)"; then \
+# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# else \
+# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# fi \
+# done; \
+# fi
+
+#giws-exception:
+# @GIWS_OUTPUTDIR=src/jni/;\
+# echo "GIWS: Generation of exception class ..."; \
+# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+ @echo "-------- Install of XML sources of help files --------"; \
+ for lang in $(ALL_LINGUAS); do \
+ if test -d $(srcdir)/help/$$lang; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+ done ; \
+ fi; \
+ fi; \
+ done; \
+ @echo "-------- Install of MathML sources --------"; \
+ if test -d $(srcdir)/help/mml/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+ done ; \
+ fi; \
+ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+clean-local: clean-java
+#clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/functions/Makefile.am b/modules/functions/Makefile.am
new file mode 100755
index 000000000..ad00a1f99
--- /dev/null
+++ b/modules/functions/Makefile.am
@@ -0,0 +1,72 @@
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2009 - DIGITEO - Allan CORNET
+#
+# This file is distributed under the same license as the Scilab package.
+
+FUNCTIONS_C_SOURCES = src/c/getmacroslist.c \
+ src/c/librarieslist.c \
+ src/c/libraryinfo.c \
+ src/c/isScilabFunction.c \
+ src/c/searchmacroinlibraries.c
+
+FUNCTIONS_FORTRAN_SOURCES = src/fortran/whereis.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/gw_functions.c \
+sci_gateway/c/sci_lib.c \
+sci_gateway/c/sci_deff.c \
+sci_gateway/c/sci_execstr.c \
+sci_gateway/c/sci_exec.c \
+sci_gateway/c/sci_whereis.c \
+sci_gateway/c/sci_librarieslist.c \
+sci_gateway/c/sci_libraryinfo.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/intlib.f \
+sci_gateway/fortran/intdeff.f \
+sci_gateway/fortran/intexecstr.f \
+sci_gateway/fortran/intexec.f
+
+libscifunctions_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(srcdir)/src/c/ \
+ -I$(top_srcdir)/modules/core/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/fileio/includes/ \
+ -I$(top_srcdir)/modules/call_scilab/includes/ \
+ -I$(top_srcdir)/modules/io/includes/ \
+ -I$(top_srcdir)/modules/string/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+pkglib_LTLIBRARIES = libscifunctions.la
+noinst_LTLIBRARIES = libscifunctions-algo.la
+
+
+libscifunctions_algo_la_SOURCES = $(FUNCTIONS_C_SOURCES) $(FUNCTIONS_FORTRAN_SOURCES)
+libscifunctions_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscifunctions_algo_la_CPPFLAGS = $(libscifunctions_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC= $(FUNCTIONS_SOURCES) $(GATEWAY_SOURCES)
+INCLUDE_FLAGS = $(libscifunctions_la_CPPFLAGS)
+
+libscifunctions_la_LIBADD = \
+ libscifunctions-algo.la
+
+#### Target ######
+modulename=functions
+
+
+#### functions : Conf files ####
+libscifunctions_la_rootdir = $(mydatadir)
+libscifunctions_la_root_DATA = license.txt
+
+
+#### functions : init scripts ####
+libscifunctions_la_etcdir = $(mydatadir)/etc
+libscifunctions_la_etc_DATA = etc/functions.quit etc/functions.start
+
+#### functions : gateway declaration ####
+libscifunctions_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscifunctions_la_sci_gateway_DATA = sci_gateway/functions_gateway.xml
+
+include $(top_srcdir)/Makefile.incl.am
diff --git a/modules/functions/Makefile.in b/modules/functions/Makefile.in
new file mode 100755
index 000000000..f6607fb62
--- /dev/null
+++ b/modules/functions/Makefile.in
@@ -0,0 +1,1517 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2009 - DIGITEO - Allan CORNET
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+@NEED_JAVA_TRUE@am__append_1 = java
+subdir = modules/functions
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscifunctions_la_etcdir)" \
+ "$(DESTDIR)$(libscifunctions_la_rootdir)" \
+ "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libscifunctions_algo_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_1 = src/c/libscifunctions_algo_la-getmacroslist.lo \
+ src/c/libscifunctions_algo_la-librarieslist.lo \
+ src/c/libscifunctions_algo_la-libraryinfo.lo \
+ src/c/libscifunctions_algo_la-isScilabFunction.lo \
+ src/c/libscifunctions_algo_la-searchmacroinlibraries.lo
+am__objects_2 = src/fortran/whereis.lo
+am_libscifunctions_algo_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libscifunctions_algo_la_OBJECTS = \
+ $(am_libscifunctions_algo_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libscifunctions_la_DEPENDENCIES = libscifunctions-algo.la
+am__objects_3 = sci_gateway/c/libscifunctions_la-gw_functions.lo \
+ sci_gateway/c/libscifunctions_la-sci_lib.lo \
+ sci_gateway/c/libscifunctions_la-sci_deff.lo \
+ sci_gateway/c/libscifunctions_la-sci_execstr.lo \
+ sci_gateway/c/libscifunctions_la-sci_exec.lo \
+ sci_gateway/c/libscifunctions_la-sci_whereis.lo \
+ sci_gateway/c/libscifunctions_la-sci_librarieslist.lo \
+ sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
+am__objects_4 = sci_gateway/fortran/intlib.lo \
+ sci_gateway/fortran/intdeff.lo \
+ sci_gateway/fortran/intexecstr.lo \
+ sci_gateway/fortran/intexec.lo
+am_libscifunctions_la_OBJECTS = $(am__objects_3) $(am__objects_4)
+libscifunctions_la_OBJECTS = $(am_libscifunctions_la_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_@AM_V@)
+am__v_F77_ = $(am__v_F77_@AM_DEFAULT_V@)
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_@AM_V@)
+am__v_F77LD_ = $(am__v_F77LD_@AM_DEFAULT_V@)
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libscifunctions_algo_la_SOURCES) \
+ $(libscifunctions_la_SOURCES)
+DIST_SOURCES = $(libscifunctions_algo_la_SOURCES) \
+ $(libscifunctions_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscifunctions_la_etc_DATA) $(libscifunctions_la_root_DATA) \
+ $(libscifunctions_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+ANTLR = @ANTLR@
+AR = @AR@
+ARPACK_LIBS = @ARPACK_LIBS@
+ASM3 = @ASM3@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AVALON_FRAMEWORK = @AVALON_FRAMEWORK@
+AWK = @AWK@
+BATIK = @BATIK@
+BLAS_LIBS = @BLAS_LIBS@
+CC = @CC@
+CCACHE = @CCACHE@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECKSTYLE = @CHECKSTYLE@
+COBERTURA = @COBERTURA@
+COMMONS_BEANUTILS = @COMMONS_BEANUTILS@
+COMMONS_IO = @COMMONS_IO@
+COMMONS_LOGGING = @COMMONS_LOGGING@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_CONFIG = @CURL_CONFIG@
+CURL_LIBS = @CURL_LIBS@
+CURL_VERSION = @CURL_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DOXYGEN_BIN = @DOXYGEN_BIN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FFTW3_LIB = @FFTW3_LIB@
+FFTW_ENABLE = @FFTW_ENABLE@
+FGREP = @FGREP@
+FLEXDOCK = @FLEXDOCK@
+FLIBS = @FLIBS@
+FOP = @FOP@
+FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@
+FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@
+FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@
+FREEHEP_IO = @FREEHEP_IO@
+FREEHEP_UTIL = @FREEHEP_UTIL@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GIWS_BIN = @GIWS_BIN@
+GLUEGEN2_RT = @GLUEGEN2_RT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GRAPHICS_ENABLE = @GRAPHICS_ENABLE@
+GREP = @GREP@
+GUI_ENABLE = @GUI_ENABLE@
+HDF5_CFLAGS = @HDF5_CFLAGS@
+HDF5_LIBS = @HDF5_LIBS@
+HELP_ENABLE = @HELP_ENABLE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAC_DEBUG = @JAVAC_DEBUG@
+JAVADOC = @JAVADOC@
+JAVAH = @JAVAH@
+JAVASCI_ENABLE = @JAVASCI_ENABLE@
+JAVA_ENABLE = @JAVA_ENABLE@
+JAVA_G = @JAVA_G@
+JAVA_HOME = @JAVA_HOME@
+JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@
+JAVA_JNI_LIBS = @JAVA_JNI_LIBS@
+JDB = @JDB@
+JEUCLID_CORE = @JEUCLID_CORE@
+JGRAPHX = @JGRAPHX@
+JHALL = @JHALL@
+JLATEXMATH = @JLATEXMATH@
+JLATEXMATH_FOP = @JLATEXMATH_FOP@
+JOGL2 = @JOGL2@
+JROSETTA_API = @JROSETTA_API@
+JROSETTA_ENGINE = @JROSETTA_ENGINE@
+JUNIT4 = @JUNIT4@
+LAPACK_LIBS = @LAPACK_LIBS@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOGGING_LEVEL = @LOGGING_LEVEL@
+LOOKS = @LOOKS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MATIO_CFLAGS = @MATIO_CFLAGS@
+MATIO_ENABLE = @MATIO_ENABLE@
+MATIO_LIBS = @MATIO_LIBS@
+MKDIR_P = @MKDIR_P@
+MPI_ENABLE = @MPI_ENABLE@
+MSGCAT = @MSGCAT@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLC = @OCAMLC@
+OCAMLDEP = @OCAMLDEP@
+OCAMLLEX = @OCAMLLEX@
+OCAMLOPT = @OCAMLOPT@
+OCAMLYACC = @OCAMLYACC@
+OPENMPI_CC = @OPENMPI_CC@
+OPENMPI_CFLAGS = @OPENMPI_CFLAGS@
+OPENMPI_CXX = @OPENMPI_CXX@
+OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@
+OPENMPI_LIBS = @OPENMPI_LIBS@
+OPENMP_CFLAGS = @OPENMP_CFLAGS@
+OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@
+OPENMP_ENABLE = @OPENMP_ENABLE@
+OPENMP_LIBS = @OPENMP_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRE_CFLAGS = @PCRE_CFLAGS@
+PCRE_CONFIG = @PCRE_CONFIG@
+PCRE_LIBS = @PCRE_LIBS@
+PCRE_VERSION = @PCRE_VERSION@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+POW_LIB = @POW_LIB@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+RELOCATABLE = @RELOCATABLE@
+RT_LIB = @RT_LIB@
+SAXON = @SAXON@
+SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@
+SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@
+SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@
+SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@
+SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@
+SCIRENDERER = @SCIRENDERER@
+SCIRENDERER_CP = @SCIRENDERER_CP@
+SCI_CFLAGS = @SCI_CFLAGS@
+SCI_CXXFLAGS = @SCI_CXXFLAGS@
+SCI_FFLAGS = @SCI_FFLAGS@
+SCI_LDFLAGS = @SCI_LDFLAGS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SET_RELOCATABLE = @SET_RELOCATABLE@
+SHELL = @SHELL@
+SKINLF = @SKINLF@
+SPLINT = @SPLINT@
+STRIP = @STRIP@
+SWIG_BIN = @SWIG_BIN@
+SWIG_JAVA = @SWIG_JAVA@
+SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@
+SWIG_SCILAB = @SWIG_SCILAB@
+TCLTK_LIBS = @TCLTK_LIBS@
+TCL_INC_PATH = @TCL_INC_PATH@
+TK_INC_PATH = @TK_INC_PATH@
+UMFPACK_CFLAGS = @UMFPACK_CFLAGS@
+UMFPACK_ENABLE = @UMFPACK_ENABLE@
+UMFPACK_LIB = @UMFPACK_LIB@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WITH_OCAML = @WITH_OCAML@
+WITH_TKSCI = @WITH_TKSCI@
+XCOS_ENABLE = @XCOS_ENABLE@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XMKMF = @XMKMF@
+XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@
+XML_APIS_EXT = @XML_APIS_EXT@
+XML_CONFIG = @XML_CONFIG@
+XML_FLAGS = @XML_FLAGS@
+XML_LIBS = @XML_LIBS@
+XML_VERSION = @XML_VERSION@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+cxx_present = @cxx_present@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+FUNCTIONS_C_SOURCES = src/c/getmacroslist.c \
+ src/c/librarieslist.c \
+ src/c/libraryinfo.c \
+ src/c/isScilabFunction.c \
+ src/c/searchmacroinlibraries.c
+
+FUNCTIONS_FORTRAN_SOURCES = src/fortran/whereis.f
+GATEWAY_C_SOURCES = sci_gateway/c/gw_functions.c \
+sci_gateway/c/sci_lib.c \
+sci_gateway/c/sci_deff.c \
+sci_gateway/c/sci_execstr.c \
+sci_gateway/c/sci_exec.c \
+sci_gateway/c/sci_whereis.c \
+sci_gateway/c/sci_librarieslist.c \
+sci_gateway/c/sci_libraryinfo.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/intlib.f \
+sci_gateway/fortran/intdeff.f \
+sci_gateway/fortran/intexecstr.f \
+sci_gateway/fortran/intexec.f
+
+libscifunctions_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(srcdir)/src/c/ \
+ -I$(top_srcdir)/modules/core/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/fileio/includes/ \
+ -I$(top_srcdir)/modules/call_scilab/includes/ \
+ -I$(top_srcdir)/modules/io/includes/ \
+ -I$(top_srcdir)/modules/string/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+pkglib_LTLIBRARIES = libscifunctions.la
+noinst_LTLIBRARIES = libscifunctions-algo.la
+libscifunctions_algo_la_SOURCES = $(FUNCTIONS_C_SOURCES) $(FUNCTIONS_FORTRAN_SOURCES)
+libscifunctions_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscifunctions_algo_la_CPPFLAGS = $(libscifunctions_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = $(FUNCTIONS_SOURCES) $(GATEWAY_SOURCES)
+INCLUDE_FLAGS = $(libscifunctions_la_CPPFLAGS)
+libscifunctions_la_LIBADD = \
+ libscifunctions-algo.la
+
+
+#### Target ######
+modulename = functions
+
+#### functions : Conf files ####
+libscifunctions_la_rootdir = $(mydatadir)
+libscifunctions_la_root_DATA = license.txt
+
+#### functions : init scripts ####
+libscifunctions_la_etcdir = $(mydatadir)/etc
+libscifunctions_la_etc_DATA = etc/functions.quit etc/functions.start
+
+#### functions : gateway declaration ####
+libscifunctions_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscifunctions_la_sci_gateway_DATA = sci_gateway/functions_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_1)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/functions/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/functions/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/c/$(am__dirstamp):
+ @$(MKDIR_P) src/c
+ @: > src/c/$(am__dirstamp)
+src/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/c/$(DEPDIR)
+ @: > src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-getmacroslist.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-librarieslist.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-libraryinfo.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-isScilabFunction.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscifunctions_algo_la-searchmacroinlibraries.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/whereis.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscifunctions-algo.la: $(libscifunctions_algo_la_OBJECTS) $(libscifunctions_algo_la_DEPENDENCIES) $(EXTRA_libscifunctions_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(libscifunctions_algo_la_OBJECTS) $(libscifunctions_algo_la_LIBADD) $(LIBS)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-gw_functions.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_lib.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_deff.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_exec.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intlib.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intdeff.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intexecstr.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/intexec.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscifunctions.la: $(libscifunctions_la_OBJECTS) $(libscifunctions_la_DEPENDENCIES) $(EXTRA_libscifunctions_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) -rpath $(pkglibdir) $(libscifunctions_la_OBJECTS) $(libscifunctions_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/c/*.$(OBJEXT)
+ -rm -f src/c/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+src/c/libscifunctions_algo_la-getmacroslist.lo: src/c/getmacroslist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-getmacroslist.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Tpo -c -o src/c/libscifunctions_algo_la-getmacroslist.lo `test -f 'src/c/getmacroslist.c' || echo '$(srcdir)/'`src/c/getmacroslist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-getmacroslist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/getmacroslist.c' object='src/c/libscifunctions_algo_la-getmacroslist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-getmacroslist.lo `test -f 'src/c/getmacroslist.c' || echo '$(srcdir)/'`src/c/getmacroslist.c
+
+src/c/libscifunctions_algo_la-librarieslist.lo: src/c/librarieslist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-librarieslist.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Tpo -c -o src/c/libscifunctions_algo_la-librarieslist.lo `test -f 'src/c/librarieslist.c' || echo '$(srcdir)/'`src/c/librarieslist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-librarieslist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/librarieslist.c' object='src/c/libscifunctions_algo_la-librarieslist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-librarieslist.lo `test -f 'src/c/librarieslist.c' || echo '$(srcdir)/'`src/c/librarieslist.c
+
+src/c/libscifunctions_algo_la-libraryinfo.lo: src/c/libraryinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-libraryinfo.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Tpo -c -o src/c/libscifunctions_algo_la-libraryinfo.lo `test -f 'src/c/libraryinfo.c' || echo '$(srcdir)/'`src/c/libraryinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-libraryinfo.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/libraryinfo.c' object='src/c/libscifunctions_algo_la-libraryinfo.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-libraryinfo.lo `test -f 'src/c/libraryinfo.c' || echo '$(srcdir)/'`src/c/libraryinfo.c
+
+src/c/libscifunctions_algo_la-isScilabFunction.lo: src/c/isScilabFunction.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-isScilabFunction.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Tpo -c -o src/c/libscifunctions_algo_la-isScilabFunction.lo `test -f 'src/c/isScilabFunction.c' || echo '$(srcdir)/'`src/c/isScilabFunction.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-isScilabFunction.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/isScilabFunction.c' object='src/c/libscifunctions_algo_la-isScilabFunction.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-isScilabFunction.lo `test -f 'src/c/isScilabFunction.c' || echo '$(srcdir)/'`src/c/isScilabFunction.c
+
+src/c/libscifunctions_algo_la-searchmacroinlibraries.lo: src/c/searchmacroinlibraries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifunctions_algo_la-searchmacroinlibraries.lo -MD -MP -MF src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Tpo -c -o src/c/libscifunctions_algo_la-searchmacroinlibraries.lo `test -f 'src/c/searchmacroinlibraries.c' || echo '$(srcdir)/'`src/c/searchmacroinlibraries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Tpo src/c/$(DEPDIR)/libscifunctions_algo_la-searchmacroinlibraries.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/searchmacroinlibraries.c' object='src/c/libscifunctions_algo_la-searchmacroinlibraries.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifunctions_algo_la-searchmacroinlibraries.lo `test -f 'src/c/searchmacroinlibraries.c' || echo '$(srcdir)/'`src/c/searchmacroinlibraries.c
+
+sci_gateway/c/libscifunctions_la-gw_functions.lo: sci_gateway/c/gw_functions.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-gw_functions.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Tpo -c -o sci_gateway/c/libscifunctions_la-gw_functions.lo `test -f 'sci_gateway/c/gw_functions.c' || echo '$(srcdir)/'`sci_gateway/c/gw_functions.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-gw_functions.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_functions.c' object='sci_gateway/c/libscifunctions_la-gw_functions.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-gw_functions.lo `test -f 'sci_gateway/c/gw_functions.c' || echo '$(srcdir)/'`sci_gateway/c/gw_functions.c
+
+sci_gateway/c/libscifunctions_la-sci_lib.lo: sci_gateway/c/sci_lib.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_lib.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_lib.lo `test -f 'sci_gateway/c/sci_lib.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lib.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_lib.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_lib.c' object='sci_gateway/c/libscifunctions_la-sci_lib.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_lib.lo `test -f 'sci_gateway/c/sci_lib.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lib.c
+
+sci_gateway/c/libscifunctions_la-sci_deff.lo: sci_gateway/c/sci_deff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_deff.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_deff.lo `test -f 'sci_gateway/c/sci_deff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_deff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_deff.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_deff.c' object='sci_gateway/c/libscifunctions_la-sci_deff.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_deff.lo `test -f 'sci_gateway/c/sci_deff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_deff.c
+
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: sci_gateway/c/sci_execstr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_execstr.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_execstr.lo `test -f 'sci_gateway/c/sci_execstr.c' || echo '$(srcdir)/'`sci_gateway/c/sci_execstr.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_execstr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_execstr.c' object='sci_gateway/c/libscifunctions_la-sci_execstr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_execstr.lo `test -f 'sci_gateway/c/sci_execstr.c' || echo '$(srcdir)/'`sci_gateway/c/sci_execstr.c
+
+sci_gateway/c/libscifunctions_la-sci_exec.lo: sci_gateway/c/sci_exec.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_exec.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_exec.lo `test -f 'sci_gateway/c/sci_exec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_exec.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_exec.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_exec.c' object='sci_gateway/c/libscifunctions_la-sci_exec.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_exec.lo `test -f 'sci_gateway/c/sci_exec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_exec.c
+
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: sci_gateway/c/sci_whereis.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_whereis.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_whereis.lo `test -f 'sci_gateway/c/sci_whereis.c' || echo '$(srcdir)/'`sci_gateway/c/sci_whereis.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_whereis.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_whereis.c' object='sci_gateway/c/libscifunctions_la-sci_whereis.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_whereis.lo `test -f 'sci_gateway/c/sci_whereis.c' || echo '$(srcdir)/'`sci_gateway/c/sci_whereis.c
+
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: sci_gateway/c/sci_librarieslist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_librarieslist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_librarieslist.lo `test -f 'sci_gateway/c/sci_librarieslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_librarieslist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_librarieslist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_librarieslist.c' object='sci_gateway/c/libscifunctions_la-sci_librarieslist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_librarieslist.lo `test -f 'sci_gateway/c/sci_librarieslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_librarieslist.c
+
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: sci_gateway/c/sci_libraryinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Tpo -c -o sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo `test -f 'sci_gateway/c/sci_libraryinfo.c' || echo '$(srcdir)/'`sci_gateway/c/sci_libraryinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Tpo sci_gateway/c/$(DEPDIR)/libscifunctions_la-sci_libraryinfo.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_libraryinfo.c' object='sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifunctions_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo `test -f 'sci_gateway/c/sci_libraryinfo.c' || echo '$(srcdir)/'`sci_gateway/c/sci_libraryinfo.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/c/.libs src/c/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscifunctions_la_etcDATA: $(libscifunctions_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_etc_DATA)'; test -n "$(libscifunctions_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_etc_DATA)'; test -n "$(libscifunctions_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscifunctions_la_rootDATA: $(libscifunctions_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_root_DATA)'; test -n "$(libscifunctions_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_root_DATA)'; test -n "$(libscifunctions_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscifunctions_la_sci_gatewayDATA: $(libscifunctions_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscifunctions_la_sci_gateway_DATA)'; test -n "$(libscifunctions_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscifunctions_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscifunctions_la_sci_gateway_DATA)'; test -n "$(libscifunctions_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscifunctions_la_etcdir)" "$(DESTDIR)$(libscifunctions_la_rootdir)" "$(DESTDIR)$(libscifunctions_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/c/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-libscifunctions_la_etcDATA \
+ install-libscifunctions_la_rootDATA \
+ install-libscifunctions_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscifunctions_la_etcDATA \
+ uninstall-libscifunctions_la_rootDATA \
+ uninstall-libscifunctions_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscifunctions_la_etcDATA \
+ install-libscifunctions_la_rootDATA \
+ install-libscifunctions_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscifunctions_la_etcDATA \
+ uninstall-libscifunctions_la_rootDATA \
+ uninstall-libscifunctions_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+@NEED_JAVA_TRUE@java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT); \
+@NEED_JAVA_TRUE@ fi
+
+@NEED_JAVA_TRUE@clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT) clean; \
+@NEED_JAVA_TRUE@ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@SWIG_TRUE@swig: $(SWIG_WRAPPERS)
+@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \
+@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@GIWS_TRUE@giws: $(GIWS_WRAPPERS)
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \
+@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \
+@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \
+@GIWS_TRUE@ echo "GIWS process of $$file ..."; \
+@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \
+@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ else \
+@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ fi \
+@GIWS_TRUE@ done; \
+@GIWS_TRUE@ fi
+
+@GIWS_TRUE@giws-exception:
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\
+@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \
+@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \
+@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ done; \
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+@NEED_JAVA_TRUE@clean-local: clean-java
+@NEED_JAVA_FALSE@clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/functions/etc/functions.quit b/modules/functions/etc/functions.quit
new file mode 100755
index 000000000..ab83f0c89
--- /dev/null
+++ b/modules/functions/etc/functions.quit
@@ -0,0 +1,10 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
diff --git a/modules/functions/etc/functions.start b/modules/functions/etc/functions.start
new file mode 100755
index 000000000..44d63b80e
--- /dev/null
+++ b/modules/functions/etc/functions.start
@@ -0,0 +1,14 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+//Load functions libraries
+// =============================================================================
+load('SCI/modules/functions/macros/lib');
+
diff --git a/modules/functions/examples/demo.sce b/modules/functions/examples/demo.sce
new file mode 100755
index 000000000..0fd3f886e
--- /dev/null
+++ b/modules/functions/examples/demo.sce
@@ -0,0 +1,32 @@
+
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+//============================
+// Example How to do and use a librarie
+//============================
+// Create a librarie with functions in SCI+'/modules/functions/examples directory
+// to do once time
+genlib("demofunctionslib",SCI+"/modules/functions/examples");
+//============================
+// load demofunctionslib
+load(SCI+"/modules/functions/examples/lib");
+//============================
+y=3;
+x=f(y);
+z=g(x,y);
+//============================
+disp(y);
+disp(x);
+disp(z);
+//============================
+// remove all librarie and functions ref.
+clear demofunctionslib y x z f g;
+//============================
+
diff --git a/modules/functions/examples/f.sci b/modules/functions/examples/f.sci
new file mode 100755
index 000000000..18a732ac8
--- /dev/null
+++ b/modules/functions/examples/f.sci
@@ -0,0 +1,13 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+//============================
+// Example How to do a function
+//============================
+
+function [x]=f(y)
+ x=y+10;
+endfunction
+
diff --git a/modules/functions/examples/g.sci b/modules/functions/examples/g.sci
new file mode 100755
index 000000000..e944ab84a
--- /dev/null
+++ b/modules/functions/examples/g.sci
@@ -0,0 +1,12 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+//============================
+// Example How to do a function
+//============================
+
+function [z]=g(x,y)
+ z=x+y;
+endfunction
diff --git a/modules/functions/examples/readme.txt b/modules/functions/examples/readme.txt
new file mode 100755
index 000000000..c3627890a
--- /dev/null
+++ b/modules/functions/examples/readme.txt
@@ -0,0 +1,8 @@
+How to create a library of Scilab functions
+
+See demo.sce
+
+exec(SCI+'/modules/functions/examples/demos.sce');
+
+A.C
+INRIA 2007 \ No newline at end of file
diff --git a/modules/functions/functions.iss b/modules/functions/functions.iss
new file mode 100755
index 000000000..cedd0dfa0
--- /dev/null
+++ b/modules/functions/functions.iss
@@ -0,0 +1,54 @@
+;
+; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+; Copyright (C) DIGITEO - 2009 - Allan CORNET
+; Copyright (C) DIGITEO - 2010 - Allan CORNET
+;
+; This file must be used under the terms of the CeCILL.
+; This source file is licensed as described in the file COPYING, which
+; you should have received as part of this distribution. The terms
+; are also available at
+; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+;
+;--------------------------------------------------------------------------------------------------------------
+; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required)
+;
+;--------------------------------------------------------------------------------------------------------------
+; functions module
+;--------------------------------------------------------------------------------------------------------------
+;
+#define FUNCTIONS "functions"
+;
+Source: bin\{#FUNCTIONS}.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+Source: bin\{#FUNCTIONS}_f.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+Source: bin\{#FUNCTIONS}.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+Source: bin\{#FUNCTIONS}_f.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\license.txt; DestDir: {app}\modules\{#FUNCTIONS}; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\sci_gateway\{#FUNCTIONS}_gateway.xml; DestDir: {app}\modules\{#FUNCTIONS}\sci_gateway; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\etc\{#FUNCTIONS}.quit; DestDir: {app}\modules\{#FUNCTIONS}\etc; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\etc\{#FUNCTIONS}.start; DestDir: {app}\modules\{#FUNCTIONS}\etc; Components: {#COMPN_SCILAB}
+;
+;Source: modules\{#FUNCTIONS}\includes\*.h; DestDir: {app}\modules\{#FUNCTIONS}\includes; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\macros\lib; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\names; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\*.bin; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\*.sci; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\buildmacros.sce; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\buildmacros.bat; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\macros\cleanmacros.bat; DestDir: {app}\modules\{#FUNCTIONS}\macros; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\xml\*.dtd; DestDir: {app}\modules\{#FUNCTIONS}\xml; Components: {#COMPN_SCILAB}
+;
+;Source: modules\{#FUNCTIONS}\demos\*.*; DestDir: {app}\modules\{#FUNCTIONS}\demos; Flags: recursesubdirs; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\scripts\buildmacros\*.sce; DestDir: {app}\modules\{#FUNCTIONS}\scripts\buildmacros; Components: {#COMPN_SCILAB}
+Source: modules\{#FUNCTIONS}\scripts\buildmacros\*.bat; DestDir: {app}\modules\{#FUNCTIONS}\scripts\buildmacros; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\examples\*.*; DestDir: {app}\modules\{#FUNCTIONS}\examples; Flags: recursesubdirs; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#FUNCTIONS}\tests\*.*; DestDir: {app}\modules\{#FUNCTIONS}\tests; Flags: recursesubdirs; Components: {#COMPN_SCILAB} and {#COMPN_TESTS}
+;
+;--------------------------------------------------------------------------------------------------------------
diff --git a/modules/functions/help/en_US/addchapter.sce b/modules/functions/help/en_US/addchapter.sce
new file mode 100755
index 000000000..79648193d
--- /dev/null
+++ b/modules/functions/help/en_US/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Advanced functions",SCI+"/modules/functions/help/en_US",%T);
+
diff --git a/modules/functions/help/en_US/argn.xml b/modules/functions/help/en_US/argn.xml
new file mode 100755
index 000000000..15d81342b
--- /dev/null
+++ b/modules/functions/help/en_US/argn.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="argn">
+ <refnamediv>
+ <refname>argn</refname>
+ <refpurpose>Returns the number of input/output arguments in a function call</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[lhs [,rhs] ]=argn()
+ lhs=argn(1)
+ rhs=argn(2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function is used inside a function definition.
+ It gives the number of actual inputs arguments (<varname>rhs</varname>)
+ and output arguments (<varname>lhs</varname>) passed to the function when the function is
+ called. It is usually used in function definitions to deal with
+ optional arguments.
+ </para>
+ <para>
+ <note>
+ Note that <varname>lhs</varname> is always greater than or equal to 1. That is to say, even if a function
+ is called without having mentioned an output argument, <varname>lhs</varname> will be equal to 1.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function concat=myOwnFunction(name,optional)
+ [lhs,rhs]=argn(0);
+ disp(lhs);
+ if rhs <= 1 then
+ optional="my Optional value";
+ end
+ if rhs == 0 then
+ error("Expect at least one argument");
+ end
+ concat=name+" "+optional;
+endfunction
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/CHAPTER b/modules/functions/help/en_US/built_in/CHAPTER
new file mode 100755
index 000000000..4beffcea0
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/CHAPTER
@@ -0,0 +1,2 @@
+title = Built-in & external
+
diff --git a/modules/functions/help/en_US/built_in/clearfun.xml b/modules/functions/help/en_US/built_in/clearfun.xml
new file mode 100755
index 000000000..7faf9e022
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/clearfun.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="clearfun">
+ <refnamediv>
+ <refname>clearfun</refname>
+ <refpurpose>removes primitive </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>ret=clearfun('name')</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>'name'</term>
+ <listitem>
+ <para>name of primitive</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ret</term>
+ <listitem>
+ <para>a boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>'name'</term>
+ <listitem>
+ <para>name of primitive</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ret</term>
+ <listitem>
+ <para>a boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>clearfun('name')</literal> removes the primitive <literal>'name'</literal> from the
+ set of primitives (built-in functions). <literal>clearfun</literal> returns
+ <literal>%t</literal> or <literal>%f</literal>.
+ This function allows to rename a primitive : a Scilab primitive can be replaced by a
+ user-defined function. For experts...
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/external.xml b/modules/functions/help/en_US/built_in/external.xml
new file mode 100755
index 000000000..30a2c856a
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/external.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="external">
+ <refnamediv>
+ <refname>external</refname>
+ <refpurpose>Scilab Object, external function or routine</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ External function or routine for use with specific commands.
+ </para>
+ <para>
+ An "external" is a function or routine which is used as an argument
+ of some high-level primitives (such as <literal>ode</literal>, <literal>optim</literal>, <literal>schur</literal>...).
+ </para>
+ <para>
+ The calling sequence of the external (function or routine) is imposed by
+ the high-level primitive which sets the arguments of the external.
+ </para>
+ <para>
+ For example the external function <literal>costfunc</literal> is an argument of the <literal>optim</literal>
+ primitive. Its calling sequence must be: <literal>[f,g,ind]=costfunc(x,ind)</literal> and
+ <literal>optim</literal> (the high-level optimization primitive) is invoked as follows:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+optim(costfunc,...)
+ ]]></programlisting>
+ <para>
+ Here <literal>costfunc</literal> (the cost function to be minimized by the primitive <literal>optim</literal>)
+ evaluates <literal>f=f(x)</literal> and <literal>g=</literal> gradient of <literal>f</literal> at <literal>x</literal> (<literal>ind</literal> is an integer. Its use is precised in the <literal>optim</literal> help).
+ </para>
+ <para>
+ If other values are needed by the external function these variables
+ can be defined in its environment. Also, they can be put in a list.
+ For example, the external function
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+[f,g,ind]=costfunc(x,ind,a,b,c)
+ ]]></programlisting>
+ <para>
+ is valid for <literal>optim</literal> if the external is <literal>list(costfunc,a,b,c)</literal> and
+ the call to <literal>optim</literal> is then:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+optim(list(costfunc,a1,b1,c1),....
+ ]]></programlisting>
+ <para>
+ An external can also be a Fortran or C routine : this is convenient to speed up
+ the computations.
+ </para>
+ <para>
+ The name of the routine is given to the high-level primitive
+ as a character string. The calling sequence of the routine
+ is also imposed.
+ </para>
+ <para>
+ External Fortran or C routines can also be dynamically linked (see <literal>link</literal>).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ode">ode</link>
+ </member>
+ <member>
+ <link linkend="optim">optim</link>
+ </member>
+ <member>
+ <link linkend="impl">impl</link>
+ </member>
+ <member>
+ <link linkend="dassl">dassl</link>
+ </member>
+ <member>
+ <link linkend="intg">intg</link>
+ </member>
+ <member>
+ <link linkend="schur">schur</link>
+ </member>
+ <member>
+ <link linkend="gschur">gschur</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/funptr.xml b/modules/functions/help/en_US/built_in/funptr.xml
new file mode 100755
index 000000000..1586da4aa
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/funptr.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="funptr">
+ <refnamediv>
+ <refname>funptr</refname>
+ <refpurpose>coding of primitives ( wizard stuff ) </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[numptr] = funptr(name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>a string, the name of a primitive</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>numptr</term>
+ <listitem>
+ <para>the internal routine number of the primitive</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Utility function (for experts only) to get the internal routine number <literal>numptr</literal>
+ of the primitive <literal>'name'</literal>. <literal>numptr</literal> is formed from the interface
+ number <literal>fun</literal> and the routine number <literal>fin</literal> of the primitive in its interface
+ by <literal>numptr = 1000*fun + fin</literal> (fin &lt; 1000). From <literal>numptr</literal> you can get
+ the interface number <literal>fun = floor(numptr/1000)</literal> which may be useful to link a
+ dynamical interface with arguments passed by reference (see example section).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// Suppose you want to load some codes via the dynamic
+// loading facilities offers by addinter. By default
+// arguments are passed by values but if you want to
+// pass them by reference you can do the following
+// (name being the scilab name of one of the interfaced
+// routines) :
+//
+// addinter(files,spnames,fcts) // args passed by values
+// num_interface = floor(funptr(name)/1000)
+// intppty(num_interface) // args now passed by reference
+//
+// Note that if you enter the following
+//
+// intppty()
+//
+// you will see all the interfaces working by reference
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="intppty">intppty</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/intppty.xml b/modules/functions/help/en_US/built_in/intppty.xml
new file mode 100755
index 000000000..aeb615937
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/intppty.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="intppty">
+ <refnamediv>
+ <refname>intppty</refname>
+ <refpurpose>set interface argument passing properties</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>funs=intppty()
+ intppty(fun)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>
+ integer, an interface number (see <link linkend="funptr">funptr</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>funs</term>
+ <listitem>
+ <para>
+ integer vector, vector of interface number (see <link linkend="funptr">funptr</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ The interface programs may be written in 2 different ways for the mode
+ of function argument passing.
+ </para>
+ <para>
+ In the first and default way, the arguments are passed by value.
+ With the following syntax:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ the argument associated with <literal>A</literal> will be passed by value (a copy
+ of <literal>A</literal> is made before <literal>foo</literal> is called), and
+ the argument associated with <literal>1+2</literal> will be passed by value.
+ </para>
+ <para>
+ In
+ the second way arguments may be passed be reference if there are
+ "named arguments" (no copy of the variable value is
+ done). <literal>intppty(fun)</literal> with <literal>fun&gt;0</literal> tells Scilab that the
+ interface with number <literal>fun</literal> can handle arguments passed by
+ reference. With the following syntax:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ the argument associated with <literal>A</literal> will be passed by reference, and
+ the argument associated with <literal>1+2</literal> will be passed by value.
+ </para>
+ <para>
+ <warning>
+ Warning: declaring that the interface with number
+ <literal>fun</literal> can handle arguments passed by reference if it is not the
+ case should produce unpredictable results.
+ </warning>
+ </para>
+ <para>
+ <literal>intppty(fun)</literal> with <literal>fun&lt;0</literal> suppress this property
+ for the interface <literal>-fun</literal>.
+ </para>
+ <para>
+ <literal>intppty()</literal> returns the vector of interfaces which handle
+ arguments passed by reference.
+ </para>
+ <para>
+ This function may be useful for dynamically loaded interface (see <link linkend="addinter">addinter</link>).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/newfun.xml b/modules/functions/help/en_US/built_in/newfun.xml
new file mode 100755
index 000000000..6a54ece2e
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/newfun.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="newfun" xml:lang="en">
+ <refnamediv>
+ <refname>newfun</refname>
+ <refpurpose>add a name in the table of functions</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>newfun(function_name, function_ptr)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>a character string, giving a valid function name</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>function_ptr</term>
+ <listitem>
+ <para>a positive number with integer value (see below)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>Utility function (for experts only). </para>
+ <para>
+ Adds the name <literal>function_name</literal> in the table of
+ functions known to the interpreter.
+ </para>
+ <para>
+ <literal>function_ptr</literal> is an integer
+ <literal>1000*fun+fin</literal> where <literal>fun</literal> and
+ <literal>fin</literal> are the internal coding of the primitive
+ <literal>function_name</literal>.
+ </para>
+ <para>This function may be useful to associate a primitive to a
+ gateway called in <literal>"gw_user.c"</literal>
+ (<literal>fun=14</literal>). Note however that the <link linkend="ilib_build">ilib_build</link> function is a more easy way
+ to extend Scilab with new functions based on C, C++ or Fortran
+ code.
+ </para>
+ <para>This function may also be used to add an alias or to rename
+ to an existing primitive function.
+ </para>
+ <para>
+ Used with <literal>funptr</literal> and <literal>clearfun</literal>
+ one can add an alias or rename an existing primitive function.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ absptr=funptr("abs");// get the function_ptr associated with the abs function
+ newfun("abs_bis",absptr) // create an alias of the abs function
+ abs_bis(-1+%i)
+ clearfun("abs") // remove abs as a known function
+
+ //redefine abs
+ function y=abs(x)
+ y=abs_bis(real(x));
+ endfunction
+
+ abs(-1+%i)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ <member>
+ <link linkend="ilib_build">ilib_build</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/readgateway.xml b/modules/functions/help/en_US/built_in/readgateway.xml
new file mode 100755
index 000000000..a4ae68416
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/readgateway.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="readgateway" xml:lang="en">
+ <refnamediv>
+ <refname>readgateway</refname>
+ <refpurpose>get primitives list of a module</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>readgateway(module_name)
+ primitives = readgateway(module_name);
+ [primitives,primitivesID] = readgateway(module_name);
+ [primitives,primitivesID,gatewayID] = readgateway(module_name);
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>module_name</term>
+ <listitem>
+ <para>a string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>primitives, primitivesID, gatewayID</term>
+ <listitem>
+ <para>matrices of string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>readgateway(module_name)</literal> gets primitives list of a
+ <literal>module_name</literal>.
+ </para>
+ <para>
+ <literal>primitives</literal>: list of primitives of a <literal>module_name</literal>.
+ </para>
+ <para>
+ <literal>primitivesID</literal>: list of ID for primitives.
+ </para>
+ <para>
+ <literal>gatewayID</literal>: list of ID of gateway associated to a
+ <literal>module_name</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+[primitives,primitivesID,gatewayID] = readgateway('core');
+primitives(1) // 'debug' primitive
+primitivesID(1) // 1 is ID of 'debug' in 'core' gateway
+gatewayID(1) // 13 is ID of 'core' gateway in scilab
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getmodules">getmodules</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/built_in/what.xml b/modules/functions/help/en_US/built_in/what.xml
new file mode 100755
index 000000000..400c69828
--- /dev/null
+++ b/modules/functions/help/en_US/built_in/what.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="what">
+ <refnamediv>
+ <refname>what</refname>
+ <refpurpose>list the Scilab
+ primitives
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>what()
+ [primitives,commands]=what();
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>List of low level primitives and commands.</para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/bytecode.xml b/modules/functions/help/en_US/bytecode.xml
new file mode 100755
index 000000000..23f1412de
--- /dev/null
+++ b/modules/functions/help/en_US/bytecode.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA Serge Steer
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="bytecode">
+ <refnamediv>
+ <refname>bytecode</refname>
+ <refpurpose>given a function returns the "bytecode" of a function in a Scilab array and conversely. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ x = bytecode(f)
+ f = bytecode(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ A Scilab function.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ an int32 row vector
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>x = bytecode(f)</code> returns the "bytecode" of
+ the function <varname>f</varname> in the Scilab integer array
+ <varname>x</varname>.
+ </para>
+ <para>
+ <code>f= bytecode(x)</code> returns in
+ <varname>f</varname> the function associated with the
+ "bytecode" given in the Scilab integer array
+ <varname>x</varname>.
+ <warning>
+ Warning: the validity of <varname>x</varname> is not checked.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Remark</title>
+ <para>
+ The bytecode of Scilab function will evolve drastically in the
+ future, so the use of this function should be restricted to the
+ profiling instruction handling.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function a=foo(),a=sin(3),endfunction
+bytecode(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="bytecodewalk">bytecodewalk</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/bytecodewalk.xml b/modules/functions/help/en_US/bytecodewalk.xml
new file mode 100755
index 000000000..5b7658c50
--- /dev/null
+++ b/modules/functions/help/en_US/bytecodewalk.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Ajouter ici d'éventuels commentaires sur le fichier XML
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="bytecodewalk">
+ <refnamediv>
+ <refname>bytecodewalk</refname>
+ <refpurpose>walk in function bytecode applying transformation. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>c1 = bytecodewalk(code,query,job)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>code</term>
+ <listitem>
+ <para>
+ int32 vector: input byte code array
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>query</term>
+ <listitem>
+ <para>
+ integer, the opcode to look for
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>job</term>
+ <listitem>
+ <para>
+ the operation to perform, for the requested opcode
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c1</term>
+ <listitem>
+ <para>
+ int32 vector: output byte code array
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ walk in function bytecode applying transformation.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="bytecode">bytecode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/code2str.xml b/modules/functions/help/en_US/code2str.xml
new file mode 100755
index 000000000..3375c0c92
--- /dev/null
+++ b/modules/functions/help/en_US/code2str.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="code2str" xml:lang="en">
+ <refnamediv>
+ <refname>code2str</refname>
+ <refpurpose>returns character string associated with Scilab integer
+ codes. <emphasis role="bold">This function is obsolete.</emphasis>
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>str = code2str(c)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>str</term>
+ <listitem>
+ <para>a character string.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>a vector of character integer codes.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>str = code2str(c)</code> returns character string
+ associated with Scilab integer codes. <varname>str</varname>
+ is such that <literal>c(i)</literal> is the Scilab integer
+ code of <literal>part(str,i)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+code2str([-28 12 18 21 10 11])
+str2code('Scilab')'
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="str2code">str2code</link>
+ </member>
+ <member>
+ <link linkend="ascii">ascii</link>
+ </member>
+ <member>
+ <link linkend="part">part</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>This function will be removed in Scilab 6.0.0</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/comp.xml b/modules/functions/help/en_US/comp.xml
new file mode 100755
index 000000000..b46b85413
--- /dev/null
+++ b/modules/functions/help/en_US/comp.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="comp" xml:lang="en">
+ <refnamediv>
+ <refname>comp</refname>
+ <refpurpose>scilab function compilation</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>comp(function [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>a scilab function, not compiled (type 11)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>flag with value 0 (default), 1 or 2.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>comp(function)</literal> compiles the function
+ <literal>function</literal>. Compiled and interpreted functions are
+ equivalent but usually compiled functions are much faster. The functions
+ provided in the standard libraries are compiled.
+ </para>
+ <para>The online definition as well as the short syntax of the commands
+ <literal>exec</literal> and <literal>deff</literal> generate compiled
+ functions. So <literal>comp</literal> has to be used in very particular cases. To produce
+ uncompiled functions one must use <link linkend="exec">exec</link> or
+ <link linkend="deff">deff</link> with the option <literal>"n"</literal>.
+ </para>
+ <para>
+ The value <literal>opt==2</literal> causes the function to be compiled "for profiling".
+ Note that now it is possible to add profiling instruction after
+ compilation using the <link linkend="add_profiling">add_profiling</link> function.
+ </para>
+ <para>
+ The obsolete <literal>opt==1</literal> option was specific to code analysis purposes and
+ is now ignored, i.e treated as <literal>opt==0</literal>.
+ </para>
+ <para>Note: the compilation takes part "in place", i.e the original
+ function is modified and no new object is created.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/deff.xml b/modules/functions/help/en_US/deff.xml
new file mode 100755
index 000000000..d9bcc3516
--- /dev/null
+++ b/modules/functions/help/en_US/deff.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="deff">
+ <refnamediv>
+ <refname>deff</refname>
+ <refpurpose>on-line definition of function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>deff('[s1, s2, ...] = newfunction(e1, e2, ...)',text [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>e1, e2, ...</term>
+ <listitem>
+ <para>input variables.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>s1, s2, ...</term>
+ <listitem>
+ <para>output variables.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>text</term>
+ <listitem>
+ <para>a matrix of character strings.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>an optional character string:</para>
+ <variablelist>
+ <varlistentry>
+ <term>'c'</term>
+ <listitem>
+ <para>function is "compiled" to be more efficient (default);</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'p'</term>
+ <listitem>
+ <para>
+ function is "compiled" and prepared for profiling (see help <link linkend="profile">profile</link>);
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'n'</term>
+ <listitem>
+ <para>function is not "compiled".</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <function>deff</function> can be used to define functions from sequences of instructions
+ written in text strings. The resulting function object has the same properties
+ of any other function defined in a text file and loaded with <function>exec</function>.
+ </para>
+ <para>
+ Quotes in the instructions (delimiting strings or meaning matrix transposition)
+ have to be doubled to be interpreted correctly (see help <link linkend="quote">quote</link>). This can make
+ writing up a little awkward.
+ An option in such cases is to define functions in files as usual, to load them into
+ Scilab by <function>exec</function> (with the <literal>'n'</literal> option) and to use
+ <function>sci2exp</function> to get a printout of corresponding <function>deff</function>
+ instructions.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+deff('[x]=myplus(y,z)','x=y+z')
+
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y'])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="quote">quote</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/edit.xml b/modules/functions/help/en_US/edit.xml
new file mode 100755
index 000000000..0722c155d
--- /dev/null
+++ b/modules/functions/help/en_US/edit.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="edit" xml:lang="en">
+ <refnamediv>
+ <refname>edit</refname>
+ <refpurpose>function editing</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>edit(functionname[,linenumber])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>functionname</term>
+ <listitem>
+ <para>character string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>linenumber</term>
+ <listitem>
+ <para>integer</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ If <literal>functionname</literal> is the name of a defined scilab function
+ <literal>edit(functionname)</literal> try to open the associated file
+ <literal>functionname.sci</literal>.
+ </para>
+ <para>
+ If <literal>functionname</literal> is the name of a undefined scilab function
+ <literal>edit(functionname)</literal> create a <literal>functionname.sci</literal> file in
+ the current directory.
+ </para>
+ <para>
+ If <literal>functionname</literal> is not a valid macro or function name
+ <literal>edit(functionname)</literal> opens the file with file name equal to
+ <literal>functionname</literal>.
+ </para>
+ <para>
+ If <literal>linenumber</literal> is given, the file is opened at this line relatively to the definition of the macro named as the file itself. If the macro definition is not found, the file is opened at line given by <literal>linenumber</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//open editor with text of this function
+edit('edit')
+
+//open editor for a new function
+edit('myfunction')
+
+//open the file bar.sci in TMPDIR directory
+edit(fullfile(TMPDIR+'bar.sci'))
+
+// open the file test_run.sci at line 123
+// relatively to the definition of test_run()
+edit('test_run', 123)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="manedit">manedit</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ <member>
+ <link linkend="editor">editor</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/exec.xml b/modules/functions/help/en_US/exec.xml
new file mode 100755
index 000000000..56ad8a7f0
--- /dev/null
+++ b/modules/functions/help/en_US/exec.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="exec">
+ <refnamediv>
+ <refname>exec</refname>
+ <refpurpose>script file execution</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>exec(path [,mode])
+ exec(fun [,mode])
+ ierr = exec(path, 'errcatch' [,mode])
+ ierr = exec(fun, 'errcatch' [,mode])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>a string, the path of the script file.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mode</term>
+ <listitem>
+ <para>an integer scalar, the execution mode (see below).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>a Scilab function.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>an integer, 0 or error number.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>exec(path [,mode])</code> executes sequentially the Scilab instructions
+ contained in the file given by <varname>path</varname> with an optional
+ execution mode <varname>mode</varname>.
+ </para>
+ <para>
+ The different cases for <varname>mode</varname> are :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ the default value.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-1</term>
+ <listitem>
+ <para>
+ nothing is printed.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>
+ echo of each command line.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ prompt <literal>--&gt;</literal> is printed.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>3</term>
+ <listitem>
+ <para>
+ echoes + prompts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ stops before each prompt. Execution resumes after a carriage return.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>
+ stops + prompts + echoes : useful mode for demos.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>exec(fun [,mode])</code> executes function <varname>fun</varname> as a script: no
+ input nor output argument nor specific variable environment. This form
+ is more efficient, because script code may be pre-compiled (see <link linkend="comp">comp</link>). This method for script evaluation allows to store scripts as
+ function in libraries.
+ </para>
+ <para>
+ If an error is encountered while executing, if <literal>'errcatch'</literal> flag is
+ present <function>exec</function> issues no error message, aborts execution of the
+ instructions and resumes with <varname>ierr</varname> equal to the error
+ number. If <literal>'errcatch'</literal> flag is not present, standard error handling
+ works.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Remarks</title>
+ <para>
+ <function>exec</function> files may now be used to define functions using the inline function definition syntax (see <link linkend="function">function</link>).
+ </para>
+ <para>
+ <function>exec</function> supports files encoded as ANSI/ASCII and UTF-8.
+ </para>
+ <para>The length of each line in a file is limited to 4096 characters.</para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// create a script file
+mputl('a=1;b=2',TMPDIR+'/myscript')
+
+// execute it
+exec(TMPDIR+'/myscript')
+whos -name "a "
+
+// create a function
+deff('y=foo(x)','a=x+1;y=a^2')
+clear a b
+// call the function
+foo(1)
+// a is a variable created in the environment of the function foo
+// it is destroyed when foo returns
+whos -name "a "
+
+x=1 //create x to make it known by the script foo
+exec(foo)
+
+// a and y are created in the current environment
+whos -name "a "
+whos -name "y "
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="mode">mode</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/execstr.xml b/modules/functions/help/en_US/execstr.xml
new file mode 100755
index 000000000..2ec8112b1
--- /dev/null
+++ b/modules/functions/help/en_US/execstr.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="execstr">
+ <refnamediv>
+ <refname>execstr</refname>
+ <refpurpose>execute Scilab code in strings</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>execstr(instr)
+ ierr = execstr(instr,'errcatch' [,msg])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>instr</term>
+ <listitem>
+ <para>a vector of character strings, Scilab instruction to be executed.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>an integer, 0 or error number.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>msg</term>
+ <listitem>
+ <para>
+ a character string with values <literal>'m'</literal> or <literal>'n'</literal>. Default value is <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>Executes the Scilab instructions given in argument
+ <varname>instr</varname>.
+ </para>
+ <note>
+ Note that <varname>instr</varname> should not make use of continuation marks (..)
+ </note>
+ <para>
+ If the <literal>'errcatch'</literal> flag is not present, error handling works as usual.
+ </para>
+ <para>
+ If the <literal>'errcatch'</literal> flag is set, and an error is encountered while
+ executing the instructions defined in <varname>instr</varname>, <function>execstr</function>
+ issues no error message, but aborts execution of the <varname>instr</varname>
+ instructions (at the point where the error occurred), and resumes with
+ <varname>ierr</varname> equal to the error number. In this case the display of the
+ error message is controlled by the <varname>msg</varname> option:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"m"</term>
+ <listitem>
+ <para>error message is displayed and recorded.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"n"</term>
+ <listitem>
+ <para>
+ no error message is displayed, but the error message is recorded (see <link linkend="lasterror">lasterror</link>). This is the default.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>ierr = execstr(instr, 'errcatch')</code> can handle syntactical errors. This is
+ useful for evaluation of instruction obtained by a query to the user.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+execstr('a=1') // sets a=1.
+execstr('1+1') // does nothing (while evstr('1+1') returns 2)
+
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+
+execstr('a=zzzzzzz','errcatch')
+execstr('a=zzzzzzz','errcatch','m')
+
+//syntax errors
+execstr('a=1?02','errcatch')
+lasterror(%t)
+
+execstr('a=[1 2 3)','errcatch')
+lasterror(%t)
+
+// variable1 does not exist
+if execstr('variable1;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+
+// variable2 exists ... no error is triggered by execstr
+variable2=[2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="lasterror">lasterror</link>
+ </member>
+ <member>
+ <link linkend="error">error</link>
+ </member>
+ <member>
+ <link linkend="try">try</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/fun2string.xml b/modules/functions/help/en_US/fun2string.xml
new file mode 100755
index 000000000..18b8689f4
--- /dev/null
+++ b/modules/functions/help/en_US/fun2string.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fun2string">
+ <refnamediv>
+ <refname>fun2string</refname>
+ <refpurpose>generates ASCII definition of a Scilab function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>txt = fun2string(fun, name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>
+ a <literal>function</literal> type variable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>a character string, the generated function name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>a column vector of strings, the text giving the Scilab instructions.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Given a loaded Scilab function pseudo-code <function>fun2string</function> allows to
+ re-generate the code. The generated
+ code is indented and beautified.
+ </para>
+ <para>
+ The mechanism is similar, but simpler than the <function>mfile2sci</function> one. It may
+ be adapted for syntax translations.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+txt = fun2string(asinh,'foo');
+write(%io(2),txt,'(a)')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="edit">edit</link>
+ </member>
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/funcprot.xml b/modules/functions/help/en_US/funcprot.xml
new file mode 100755
index 000000000..4d7805723
--- /dev/null
+++ b/modules/functions/help/en_US/funcprot.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="funcprot">
+ <refnamediv>
+ <refname>funcprot</refname>
+ <refpurpose>switch scilab functions protection mode</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>funcprot(prot)
+ previousprot = funcprot(prot)
+ prot = funcprot()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>prot</term>
+ <listitem>
+ <para>an integer with possible values 0, 1, 2</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>previousprot</term>
+ <listitem>
+ <para>an integer with possible values 0, 1, 2 returns previous value</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Scilab functions are variable, <function>funcprot</function> allows the user to specify
+ what Scilab do when such variables are redefined.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ If <code>prot == 0</code> nothing special is done.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If <code>prot == 1</code> Scilab issues a warning message when a function is redefined (default mode).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If <code>prot == 2</code> Scilab issues an error when a function is redefined.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+previousprot = funcprot(1)
+deff('x = foo(a)','x = a;')
+deff('x = foo(a)','x = a + 1;')
+foo = 33
+funcprot(0)
+deff('x = foo(a)', 'x = a;')
+deff('x = foo(a)', 'x = a + 1;')
+foo = 33
+funcprot(previousprot)
+]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>Previous value is returned as output argument when setting a new value.</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/function.xml b/modules/functions/help/en_US/function.xml
new file mode 100755
index 000000000..14e32bca6
--- /dev/null
+++ b/modules/functions/help/en_US/function.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="function">
+ <refnamediv>
+ <refname>function</refname>
+ <refpurpose>opens a function definition</refpurpose>
+ </refnamediv>
+ <refnamediv xml:id="endfunction">
+ <refname>endfunction</refname>
+ <refpurpose>closes a function definition</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function <lhs_arguments>=<function_name><rhs_arguments>
+ <statements>
+endfunction
+ ]]></programlisting>
+ <para>
+ Where
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>&lt;function_name&gt;</term>
+ <listitem>
+ <para>stands for the name of the function</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;rhs_arguments&gt;</term>
+ <listitem>
+ <para>stands for the input argument list. It may be</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ a comma separated sequence of variable names enclosed in parenthesis, like <literal>(x1,...,xm)</literal>. Last variable name can be the key word <literal>varargin</literal> (see <link linkend="varargin">varargin</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ the sequence <literal>()</literal> or nothing, if the function has no input argument.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;lhs_arguments&gt;</term>
+ <listitem>
+ <para>stands for the output argument list. It may be</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ a comma separated sequence of variable names enclosed in brackets, like <literal>[y1,...,yn]</literal>. Last variable name can be the key word <literal>varargout</literal> (see <link linkend="varargout">varargout</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ the sequence <literal>[]</literal>, if the function has no output argument. In this case the syntax may also be: <literal>function &lt;function_name&gt;&lt;rhs_arguments&gt;</literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;statements&gt;</term>
+ <listitem>
+ <para>
+ stands for a set of Scilab instructions (statements). This syntax may be used to define function (see <link linkend="functions">functions</link>) inline or in a script file (see <link linkend="exec">exec</link>). For compatibility with old Scilab versions, functions defined in a script file containing only function definitions can be "loaded" into Scilab using the <function>exec</function> function.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ The <literal>function &lt;lhs_arguments&gt;=&lt;function_name&gt;&lt;rhs_arguments&gt;</literal>
+ sequence cannot be split over several lines. This sequence can be
+ followed by statements in the same line if a comma or a semicolon is
+ added at its end.
+ </para>
+ <note>
+ Note that <literal>&lt;function_name&gt;</literal> must respect some syntax rules (see <link linkend="names">names</link>).
+ </note>
+ <para>
+ Function definitions can be nested.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//inline definition (see function)
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//an one line function definition
+function y=sq(x),y=x^2,endfunction
+
+sq(3)
+
+//nested functions definition
+function y=foo(x)
+a=sin(x)
+function y=sq(x), y=x^2,endfunction
+y=sq(a)+1
+endfunction
+
+foo(%pi/3)
+
+// definition in a script file (see exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="functions">functions</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/functions.xml b/modules/functions/help/en_US/functions.xml
new file mode 100755
index 000000000..436d99701
--- /dev/null
+++ b/modules/functions/help/en_US/functions.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="functions">
+ <refnamediv>
+ <refname>functions</refname>
+ <refpurpose>Scilab procedures and Scilab objects</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>Functions are Scilab procedures ("macro", "function" and "procedure"
+ have the save meaning).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Function definition</title>
+ <para>Usually, they are defined in files with an editor and loaded into
+ Scilab using the <link linkend="exec">exec</link> function or through a library (see
+ <link linkend="lib">lib</link> or <link linkend="genlib">genlib</link>). But they can also be
+ defined on-line (see <link linkend="deff">deff</link> or <link linkend="function">function</link>.
+ A function is defined by two components:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>a "syntax definition" part as follows:</para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
+ ]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>a sequence of Scilab instructions.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The "syntax definition" line gives the "full" calling syntax of
+ this function. The <literal>yi</literal> are output variables
+ calculated as functions of input variables <literal>xi</literal>
+ and variables existing in Scilab when the function is
+ executed.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Calling function</title>
+ <itemizedlist>
+ <listitem>
+ <para>Usually function calling syntax is
+ <literal>[y1,...,yn]=foo(x1,...,xm)</literal>. Shorter input or
+ output argument list than definition ones may be used. In such
+ cases, only the first variables from the left are used or set.
+ </para>
+ <para>
+ The <link linkend="argn">argn</link> function may be used to get
+ the actual number of calling arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>It is possible to define function with indeterminate
+ number of input or output maximum number of arguments. This
+ can be done using the <link linkend="varargin">varargin</link>
+ and <link linkend="varargout">varargout</link>
+ keywords. See the given links for details.
+ </para>
+ </listitem>
+ <listitem>
+ <para>It is also possible to use "named argument" to specify input
+ arguments: suppose function <function>fun1</function> defined as
+ <code>function y1 = fun1(x1, x2, x3)</code> then it can be
+ called with a syntax like
+ <code>y = fun1(x1=33, x3=[1 2 3])</code>
+ within <function>fun1</function> <varname>x2</varname> will be
+ undefined.
+ </para>
+ <para> It can also be called with a syntax like
+ <code>y = fun1(x1=33, y='foo')</code>. In such a case the
+ <varname>y</varname> variable will be available in the context
+ of the function <function>fun1</function>.
+ <note>
+ Note that the maximum number of argument must be
+ less or equal to the number of formal input
+ argument used in the function syntax part.
+ </note>
+ </para>
+ <para>
+ It is possible to check for defined variables with
+ the <link linkend="exists">exists</link> function.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ When a function has no left hand side argument and
+ is called only with character string arguments, the
+ calling syntax may be simplified:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun('a','toto','a string')
+ ]]></programlisting>
+ <para>is equivalent to: </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun a toto 'a string'
+ ]]></programlisting>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Miscellaneous</title>
+ <para>
+ Functions are Scilab objects (with type numbers 13 or 11). And they can be manipulated (built, saved, loaded, passed as
+ arguments,...) as other variable types.
+ </para>
+ <para>Collections of functions can be collected in libraries. Functions
+ which begin with <literal>%</literal> sign
+ (e.g. <literal>%foo</literal>) are often used to overload (see <link linkend="overloading">overloading</link>) operations or functions for new data type.
+ </para>
+ <para>
+ Note that a function name must respect some syntax rules (see <link linkend="names">names</link>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//inline definition (see function)
+function [x,y]=myfct(a,b)
+ x=a+b
+ y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//inline definition (see deff)
+deff('[x,y]=myfct(a,b)',['x=a+b';
+ 'y=a-b'])
+// definition in an ascii file (see exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="exists">exists</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/getd.xml b/modules/functions/help/en_US/getd.xml
new file mode 100755
index 000000000..0ec8f0604
--- /dev/null
+++ b/modules/functions/help/en_US/getd.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="getd">
+ <refnamediv>
+ <refname>getd</refname>
+ <refpurpose>Load all functions defined in a directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>getd(path)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>a string. The directory pathname.</para>
+ <para>
+ "." if <function>getd</function> is called without input argument or if <varname>path</varname> is an empty string.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Loads all <literal>.sci</literal> files (containing Scilab functions) defined in
+ the <varname>path</varname> directory.
+ </para>
+ <para>
+ If the file does not contain a function, the script will be executed.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+getd('SCI/modules/cacsd/macros')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/head_comments.xml b/modules/functions/help/en_US/head_comments.xml
new file mode 100755
index 000000000..80b83fe82
--- /dev/null
+++ b/modules/functions/help/en_US/head_comments.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="head_comments">
+ <refnamediv>
+ <refname>head_comments</refname>
+ <refpurpose>display Scilab function header comments</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ head_comments(name)
+ head_comments(name,%paths)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>a character string, the function name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%paths</term>
+ <listitem>
+ <para>
+ a character string vector, paths where to look for the associated sci-file.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>head_comments(name)</code> displays the function header comments (like the
+ Matlab help). The comments are read from the associated sci-file. If <varname>name</varname>
+ is a function which is in a library the sci-file path is those given by the library
+ path (see <link linkend="lib">lib</link>). If <varname>name</varname> is a function which is
+ not in a library, a file with name <varname>name</varname><literal>.sci</literal> is searched in the
+ directories given by the variable <varname>%paths</varname>.
+ </para>
+ <warning>
+ Warning: most of the Scilab predefined functions have no header comments.
+ </warning>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+head_comments sinc
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="help">help</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/CHAPTER b/modules/functions/help/en_US/libraries/CHAPTER
new file mode 100755
index 000000000..4cd7693b5
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/CHAPTER
@@ -0,0 +1,2 @@
+title = Libraries
+
diff --git a/modules/functions/help/en_US/libraries/genlib.xml b/modules/functions/help/en_US/libraries/genlib.xml
new file mode 100755
index 000000000..dfb496d06
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/genlib.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="genlib">
+ <refnamediv>
+ <refname>genlib</refname>
+ <refpurpose>build library from functions in given directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>genlib(lib_name [[,dir_name, [ Force [,verb [,Names]]]])
+ genlib(lib_name [,path=dir_name] [,verbose=verb] [,force=Force] [,names=Names])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>lib_name: </term>
+ <listitem>
+ <para>Scilab string. The variable name of the library to (re)create.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>dir_name: </term>
+ <listitem>
+ <para>Scilab string. The name of the directory to look for
+ <literal>.sci</literal>-files.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Force</term>
+ <listitem>
+ <para>
+ boolean value (default value is <literal>%f</literal>). Set it to
+ <literal>%t</literal> to force the sci-files recompilation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>verb</term>
+ <listitem>
+ <para>
+ boolean values (default value is <literal>%f</literal>). Set it to
+ <literal>%t</literal> to get information.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Names</term>
+ <listitem>
+ <para>a vector of strings, the names of function to include in the
+ library. By default all the sci-files are taken into account
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ For each <literal>.sci</literal> file in <literal>dir_name</literal> (or only those
+ specified by the <literal>Names</literal> argument), <literal>genlib</literal> executes a
+ <literal>exec</literal> and saves the functions to the corresponding <literal>.bin</literal>
+ file. The <literal>.sci</literal> file must not contain anything but Scilab
+ functions. If a <literal>.bin</literal> file is newer than the associated
+ <literal>.sci</literal> file, <literal>genlib</literal> does not translate and save the file.
+ </para>
+ <para>
+ This default behaviour can be changed if <literal>force</literal> is given and
+ set to <literal>%t</literal>. In this latter case the recompilation is always
+ performed for each <literal>.sci</literal> file.
+ </para>
+ <para>
+ When all <literal>.sci</literal> files have been processed, <literal>genlib</literal> creates a
+ library variable named <literal>lib_name</literal> and saves it in the file
+ <literal>lib</literal> in <literal>dir_name</literal>. If the Scilab variable
+ <literal>lib_name</literal> is not protected (see <link linkend="predef">predef</link>) this
+ variable is updated.
+ </para>
+ <para>
+ If <literal>verbose</literal> is et to <literal>%t</literal> information are displayed during
+ the build process.
+ </para>
+ <para>
+ If <literal>dir_name</literal> argument is not given and if <literal>lib_name</literal>
+ Scilab variable exists and it is a library dir_name is taken equal to the
+ <literal>lib_name</literal> library path (update mode).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Restrictions</title>
+ <para>
+ Scilab tacitly assumes that file <literal>foo.sci</literal> defines at least a
+ function named <literal>foo</literal>. If subsidiary functions are included,
+ they are made known to Scilab only after the function <literal>foo</literal>
+ had been referenced.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/get_function_path.xml b/modules/functions/help/en_US/libraries/get_function_path.xml
new file mode 100755
index 000000000..ffb0b93c4
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/get_function_path.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="get_function_path">
+ <refnamediv>
+ <refname>get_function_path</refname>
+ <refpurpose>get source file path of a library function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>path=get_function_path(fun_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun_name</term>
+ <listitem>
+ <para>a string, the name of the function</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>a string, the absolute pathname of the function source file (.sci) or [].</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Given the name of a function get_function_path returns the absolute
+ pathname of the function source file if the function is defined in a
+ Scilab library (see lib) or [] if name does not match any library
+ function.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+get_function_path('median')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/lib.xml b/modules/functions/help/en_US/libraries/lib.xml
new file mode 100755
index 000000000..d11a056bf
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/lib.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lib">
+ <refnamediv>
+ <refname>lib</refname>
+ <refpurpose>library definition</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>namelib = lib('lib-dir')</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>lib-dir</term>
+ <listitem>
+ <para>character string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>namelib</term>
+ <listitem>
+ <para>library variable returned by 'lib'.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>lib-dir</literal> is a character string defining a directory that contains
+ compiled Scilab function (<literal>.bin</literal>) files.
+ </para>
+ <para>
+ In addition to these files <literal>lib-dir</literal> must have a file called
+ <literal>names</literal>, that contains the names of the functions defined in
+ <literal>lib-dir</literal>. On success, all functions in <literal>lib-dir</literal> are
+ available from within Scilab. They are loaded on demand when called
+ for the first time.
+ </para>
+ <para>
+ Binary files can be created from within Scilab with the command
+ <literal>save</literal>.
+ A library variable
+ usually is saved for later loading, either on-line or from the
+ user-specific startup file (see startup).
+ </para>
+ <para>value returned by 'lib' must be insert in a variable 'namelib' to access to macro functions of this library.</para>
+ </refsection>
+ <refsection>
+ <title>Restrictions</title>
+ <para>
+ Scilab tacitly assumes that each xxxx.bin file defines a variable named <literal>xxxx</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//define some functions
+function z = myplus(x, y)
+ z = x + y
+endfunction
+
+function z = yourplus(x, y)
+ x = x - y
+endfunction
+
+//create the *.bin files in libdir
+libdir = TMPDIR;
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+
+//create the name file
+mputl(['myplus';'yourplus'],TMPDIR+'/names');
+
+//build the library containing myplus and yourplus
+mylibfoo = lib(libdir+'/');
+
+//erase the variables
+clear myplus yourplus
+
+//Automatic loading and execution
+myplus(1,2)
+
+//erase the variables
+clear myplus yourplus
+
+mylibfoo
+[n,p] = libraryinfo('mylibfoo')
+
+isdef('myplus')
+clear mylibfoo
+isdef('myplus')
+
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="library">library</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="whereis">whereis</link>
+ </member>
+ <member>
+ <link linkend="libraryinfo">libraryinfo</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/librarieslist.xml b/modules/functions/help/en_US/libraries/librarieslist.xml
new file mode 100755
index 000000000..3036bf66e
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/librarieslist.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="librarieslist">
+ <refnamediv>
+ <refname>librarieslist</refname>
+ <refpurpose>get scilab libraries</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>s=librarieslist()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>a string matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ return in <literal>s</literal> all libraries in the Scilab environment.
+ </para>
+ <para>libraries are scanned from the lastest loaded to the first one.</para>
+ <para>Only macro libraries will be returned. For a module without any macros (ie, a module with only native code), it will not be displayed on the list.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+librarieslist()
+// to sort list
+l = gsort(librarieslist(),'r','i')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="libraryinfo">libraryinfo</link>
+ </member>
+ <member>
+ <link linkend="gsort">gsort</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/library.xml b/modules/functions/help/en_US/libraries/library.xml
new file mode 100755
index 000000000..9a66873c5
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/library.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="library">
+ <refnamediv>
+ <refname>library</refname>
+ <refpurpose>library datatype description
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ A library is a data type with type number 14. It contains a path-name
+ and a set of names. It allows automatic loading of variables using the
+ following algorithm:
+ </para>
+ <para>
+ Suppose the Scilab user references the variable named <literal>foo</literal>.
+ Scilab first looks if <literal>foo</literal> is the name of a primitive or of an
+ already defined variable. If not, it looks for <literal>foo</literal> sequentially
+ (the newest first) in all defined library .
+ </para>
+ <para>
+ Suppose <literal>foo</literal> belongs to the set of names of the library <literal>xlib</literal>
+ then Scilab tries to load the file
+ &lt;xlib-path-name&gt;/foo.bin. &lt;xlib-path-name&gt;/foo.bin must have been
+ created using the <literal>save</literal> function
+ </para>
+ <para>
+ Library are often used for collection of functions, but they can also
+ be used for any collection of scilab variables
+ </para>
+ <para>
+ If a function is defined in more than one library, the default search
+ algorithm loads thode contained in the newest. It possible to force
+ the use of a specific library using dot notation:
+ </para>
+ <para>
+ <literal>xlib.foo</literal> loads the variable <literal>foo</literal> contained in <literal>xlib</literal>.
+ if <literal>foo</literal> is a function
+ and <literal>xlib.foo(args)</literal> executes the functions
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// elemlib is a predefined library
+elementary_functionlib //displays the contents of the library
+A=rand(3,3);
+cosm(A) //loads cosm and executes it
+whos -name cosm // now cosm is a variable
+elementary_functionlib.sinm //loads sinm from the library
+elementary_functionlib.cosm(A) //reloads cosm and executes it
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="load">load</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/libraryinfo.xml b/modules/functions/help/en_US/libraries/libraryinfo.xml
new file mode 100755
index 000000000..c2773a457
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/libraryinfo.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="libraryinfo">
+ <refnamediv>
+ <refname>libraryinfo</refname>
+ <refpurpose>get macros and path of a scilab library</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>macros = libraryinfo(libraryname)
+ [macros,path] = libraryinfo(libraryname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>macros</term>
+ <listitem>
+ <para>a string matrix (all main functions of the library)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>a string (path of library)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <variablelist>
+ <varlistentry>
+ <term>libraryname</term>
+ <listitem>
+ <para>a string (library name)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>get functions names and path of a scilab library.The function names
+ returned correspond to those which correspond to the associated .sci or .bin
+ file names. The other ones are subsidiary functions.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+[m,p]=libraryinfo('corelib')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="librarieslist">librarieslist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/libraries/whereis.xml b/modules/functions/help/en_US/libraries/whereis.xml
new file mode 100755
index 000000000..566413720
--- /dev/null
+++ b/modules/functions/help/en_US/libraries/whereis.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="whereis">
+ <refnamediv>
+ <refname>whereis</refname>
+ <refpurpose>name of library containing a function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[librname]=whereis(function-name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ returns as a character string
+ the name of the library containing the function <literal>function-name</literal>.
+ The path of the library is returned by typing <literal>"librname"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+whereis("ls") // Should return fileiolib
+whereis("plot") // Should return graphicslib
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/listfunctions.xml b/modules/functions/help/en_US/listfunctions.xml
new file mode 100755
index 000000000..0e6c87d06
--- /dev/null
+++ b/modules/functions/help/en_US/listfunctions.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="listfunctions">
+ <refnamediv>
+ <refname>listfunctions</refname>
+ <refpurpose>properties of all functions in
+ the workspace
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[flist,compiled,profilable,called] = listfunctions([scope])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>scope</term>
+ <listitem>
+ <para>
+ a string, <literal>"local"</literal> (default) or <literal>"global"</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flist</term>
+ <listitem>
+ <para>
+ a string array, names of all the function variables in the specified namespace.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>compiled</term>
+ <listitem>
+ <para>
+ a boolean array, true if the corresponding element of <varname>flist</varname> is of type 13.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>profilable</term>
+ <listitem>
+ <para>
+ a boolean array, true if the corresponding element of <varname>flist</varname> is of type 13,
+ and additionally profiling information is found in the pseudocode of
+ the function.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>called</term>
+ <listitem>
+ <para>
+ an uint32 array, number of times the corresponding element of <varname>flist</varname> has been
+ already called (nonzero only for profilable functions).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ This function checks all the variables in the workspace (given by
+ <link linkend="who">who</link>) and collects those of type 11 or 13; for the latter,
+ <code>lst = macr2lst(fun)</code> is called, in order to check for the magic
+ profiling entry at the end of the first codeline, i.e. <code>lst(5)(1)=="25"</code>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+[flist,compiled,profilable,called] = listfunctions();
+flist(profilable)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="recompilefunction">recompilefunction</link>
+ </member>
+ <member>
+ <link linkend="who">who</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Bibliography</title>
+ <para>
+ <ulink url="http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation">http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation</ulink>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/macr2lst.xml b/modules/functions/help/en_US/macr2lst.xml
new file mode 100755
index 000000000..9280b20dc
--- /dev/null
+++ b/modules/functions/help/en_US/macr2lst.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macr2lst">
+ <refnamediv>
+ <refname>macr2lst</refname>
+ <refpurpose>function to list conversion</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>lst = macr2lst(function_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>a function to be converted.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>a list.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This primitive converts a compiled Scilab function <varname>function_name</varname>
+ into a list which codes the internal representation of
+ the function (reverse Polish notation).
+ </para>
+ <para>The first entry of the list is the function name, the second
+ and third are respectively the vectors of left hand side variables
+ and right hand side variables names. The following entries are either basic operation records
+ either lists with contains the hierarchical control structures like
+ <literal>if</literal>, <literal>for</literal>, ...
+ </para>
+ <para>Basic operation records are described by a character string
+ vector whose first element represents the opcode.
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>op codes</td>
+ <td>meaning</td>
+ <td>parameters</td>
+ </tr>
+ <tr>
+ <td>"0"</td>
+ <td>ignored opcode</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"1"</td>
+ <td>No more used</td>
+ <td/>
+ </tr>
+ <tr>
+ <td>"2"</td>
+ <td>variable or function reference</td>
+ <td>variable name, #rhs, #lhs</td>
+ </tr>
+ <tr>
+ <td>"3"</td>
+ <td>put a string in the stack</td>
+ <td>the string</td>
+ </tr>
+ <tr>
+ <td>"4"</td>
+ <td>put am empty matrix in the stack</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"5"</td>
+ <td>apply an operation</td>
+ <td>operation code, #rhs,#lhs</td>
+ </tr>
+ <tr>
+ <td>"6"</td>
+ <td>put a number in the stack</td>
+ <td>the number</td>
+ </tr>
+ <tr>
+ <td>"12"</td>
+ <td>pause command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"13"</td>
+ <td>break command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"14"</td>
+ <td>abort command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"15"</td>
+ <td>end of line mark</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"17"</td>
+ <td>quit command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"18"</td>
+ <td>named variable</td>
+ <td>variable name</td>
+ </tr>
+ <tr>
+ <td>"19"</td>
+ <td>create recursive index structure</td>
+ <td>path length, number of final indices</td>
+ </tr>
+ <tr>
+ <td>"20"</td>
+ <td>function call</td>
+ <td>function name, #rhs, #lhs </td>
+ </tr>
+ <tr>
+ <td>"23"</td>
+ <td>create variable from name</td>
+ <td>variable name</td>
+ </tr>
+ <tr>
+ <td>"24"</td>
+ <td>put a variable with type 0 in the stack</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"25"</td>
+ <td>profile record</td>
+ <td>number of call, time spend </td>
+ </tr>
+ <tr>
+ <td>"26"</td>
+ <td>put a vector of strings in the stack</td>
+ <td>#rows, #columns, element sequence</td>
+ </tr>
+ <tr>
+ <td>"27"</td>
+ <td>put a builtin reference in the stack</td>
+ <td>interface number, position in interface, function name</td>
+ </tr>
+ <tr>
+ <td>"28"</td>
+ <td>continue command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td>"29"</td>
+ <td>assignment</td>
+ <td>#lhs, display mode, (variable name, #rhs)*</td>
+ </tr>
+ <tr>
+ <td>"30"</td>
+ <td>logical expression short circuit</td>
+ <td>type, jump size</td>
+ </tr>
+ <tr>
+ <td>"31"</td>
+ <td>comment</td>
+ <td>the comment</td>
+ </tr>
+ <tr>
+ <td>"99"</td>
+ <td>return command</td>
+ <td>none</td>
+ </tr>
+ <tr>
+ <td> &gt; "100"</td>
+ <td>builtin call (obsolete)</td>
+ <td>100*fun, #rhs, #lhs, fin</td>
+ </tr>
+ </informaltable>
+ <para>
+ The <link linkend="fun2string">fun2string</link> function can be used to generate the initial code.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//DISPLAY
+function y=foo(x,flag)
+ if flag then
+ y=sin(x)
+ else
+ y=cos(x)
+ end
+endfunction
+L=macr2lst(foo)
+fun2string(L)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/macr2tree.xml b/modules/functions/help/en_US/macr2tree.xml
new file mode 100755
index 000000000..525a15405
--- /dev/null
+++ b/modules/functions/help/en_US/macr2tree.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macr2tree">
+ <refnamediv>
+ <refname>macr2tree</refname>
+ <refpurpose>function to tree conversion</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>t=macr2tree(function_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>a Scilab macro</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>a Scilab "tree"</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This primitive converts a compiled Scilab function <literal>function_name</literal>
+ into a tree (nested tlists) which codes the internal representation of
+ the function. For use with <literal>tree2code</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/macro.xml b/modules/functions/help/en_US/macro.xml
new file mode 100755
index 000000000..9ea256464
--- /dev/null
+++ b/modules/functions/help/en_US/macro.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macro">
+ <refnamediv>
+ <refname>macro</refname>
+ <refpurpose>Scilab procedure and Scilab object</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Macros are Scilab procedures ("macro", "function" and "procedure"
+ have the save meaning). Usually, they are defined
+ in files with an editor and loaded into Scilab by <function>exec</function> or through
+ a library.
+ </para>
+ <para>
+ They can also be defined on-line (see <link linkend="deff">deff</link>).
+ A file which contains a macro must begin as follows:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+ ]]></programlisting>
+ <para>
+ The <literal>yi</literal> are output variables calculated as functions of
+ input variables and variables existing in Scilab
+ when the macro is executed.
+ A macro can be compiled for faster execution. Collections
+ of macros can be collected in libraries.
+ Macros which begin with <literal>%</literal> sign (e.g. <literal>%foo</literal>) and whose
+ arguments are lists are used to perform specific
+ operations: for example, <code>z=%rmr(x,y)</code> is equivalent
+ to <code>z=x*y</code> when <varname>x</varname> and <varname>z</varname> are rationals
+ (i.e. <code>x=list('r',n,d,[])</code> with <varname>n</varname> and <varname>d</varname> polynomials).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/macrovar.xml b/modules/functions/help/en_US/macrovar.xml
new file mode 100755
index 000000000..aed52e47b
--- /dev/null
+++ b/modules/functions/help/en_US/macrovar.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macrovar">
+ <refnamediv>
+ <refname>macrovar</refname>
+ <refpurpose>variables of function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>vars = macrovar(function)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>vars</term>
+ <listitem>
+ <para>
+ a list, <literal>list(in, out, nolocal, called, locals)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>a name of a function.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Returns in a list the set of variables used by a function.
+ <varname>vars</varname> is a list made of five column vectors of character strings:
+ </para>
+ <simplelist type="inline">
+ <member>
+ <varname>in</varname>: input variables (<code>vars(1)</code>);
+ </member>
+ <member>
+ <varname>out</varname>: output variables (<code>vars(2)</code>);
+ </member>
+ <member>
+ <varname>nolocal</varname>: referenced variables which are not defined inside the function and which are not functions (<code>vars(3)</code>);
+ </member>
+ <member>
+ <varname>called</varname>: names of functions called (<code>vars(4)</code>);
+ </member>
+ <member>
+ <varname>locals</varname>: local variables (<code>vars(5)</code>);
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+deff('y = f(x1, x2)', 'loc = 1; y = a*x1+x2-loc');
+vars = macrovar(f)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/mode.xml b/modules/functions/help/en_US/mode.xml
new file mode 100755
index 000000000..3cd4bf33c
--- /dev/null
+++ b/modules/functions/help/en_US/mode.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mode" xml:lang="en">
+ <refnamediv>
+ <refname>mode</refname>
+ <refpurpose>select a mode in an exec-file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>mode(k)
+ k = mode()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Used <emphasis role="bold">exclusively</emphasis> inside an
+ exec-file or a Scilab function <literal>mode(k)</literal> allows to change
+ the information displayed during the execution, depending on the value of
+ <literal>k</literal>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>k = 0</term>
+ <listitem>
+ <para>The new variable values are displayed if required (see help on
+ <link linkend="semicolon">semicolon</link> or <link linkend="comma">comma</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = -1</term>
+ <listitem>
+ <para>The exec-file or Scilab function executes silently (this is
+ the default value for Scilab functions).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 2</term>
+ <listitem>
+ <para>It is the default value on Scilab prompt.</para>
+ <para>
+ Please notices that <literal>mode(2)</literal> does not used at prompt, only in an
+ exec-file or a Scilab function.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 1 or k = 3</term>
+ <listitem>
+ <para>Each line of instructions is echoed preceded of the prompt (if
+ possible). The new variable values are displayed if required. This
+ is the default for exec-files.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 4 or k = 7</term>
+ <listitem>
+ <para>The new variable values are displayed if required, each line
+ of instructions is echoed (if possible) and a prompt (&gt;&gt;) is
+ issued after each line waiting for a carriage return.
+ </para>
+ <para>If the carriage return follows character "p" the execution is
+ paused (see <link linkend="pause">pause</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k &gt; 7</term>
+ <listitem>
+ <para>User mode. If you define your own mode, it is recommended to
+ use a value &gt; 100.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Line display is disabled for compiled Scilab function (see <link linkend="comp">comp</link>). By default, Scilab functions are executed using the silent ("-1")
+ mode.
+ </para>
+ <para>Functions in a function library are executed using "-1" mode.</para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// copy - paste in Scilab
+
+function example_mode( level_mode )
+ mode(level_mode)
+ a = 3
+ disp(mode());
+endfunction
+
+mode(2)
+
+example_mode(0)
+example_mode(-1)
+example_mode(2)
+example_mode(1)
+example_mode(3)
+example_mode(7)
+
+mode(2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="semicolon">semicolon</link>
+ </member>
+ <member>
+ <link linkend="comma">comma</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/overloading.xml b/modules/functions/help/en_US/overloading.xml
new file mode 100755
index 000000000..d364a76cb
--- /dev/null
+++ b/modules/functions/help/en_US/overloading.xml
@@ -0,0 +1,618 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * Copyright (C) DIGITEO - 2012 - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="en">
+ <refnamediv>
+ <refname>overloading</refname>
+ <refpurpose>display, functions and operators overloading
+ capabilities
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>In Scilab, variable display, functions and operators may be defined
+ for new objects using functions (Scilab coded or primitives).
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Display</term>
+ <listitem>
+ <para>
+ The display of new objects defined by <literal>tlist</literal>
+ structure may be overloaded (the default display is similar to
+ <literal>list</literal>'s one). The overloading function must have
+ no output argument and a single input argument. It's name is formed as
+ follow <literal>%&lt;tlist_type&gt;_p</literal> where
+ <literal>%&lt;tlist_type&gt;</literal> stands for the first entry of
+ the <literal>tlist</literal> type component truncated to the first 9
+ characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Operators</term>
+ <listitem>
+ <para>Each operator which is not defined for given operands type may
+ be defined. The overloading function must have a single output
+ argument and one or two inputs according to the number of operands.
+ The function name is formed as follow:
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>for binary operators:
+ <literal>%&lt;first_operand_type&gt;_&lt;op_code&gt;_&lt;second_operand_type&gt;</literal>;
+ </para>
+ <para>for unary operators:
+ <literal>%&lt;operand_type&gt;_&lt;op_code&gt;</literal>;
+ </para>
+ <para>extraction and insertion operators which are n-nary operators are
+ described below.
+ </para>
+ <warning>Be careful, only the types registered by the
+ <function>typename</function> function can be used in an overloading
+ macros.
+ </warning>
+ <para>
+ <literal>&lt;operand_type&gt;</literal>,
+ <literal>&lt;first_operand_type&gt;</literal>,
+ <literal>&lt;second_operand_type&gt;</literal> are sequence of characters
+ associated with each data type as described in the following table:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>data type</td>
+ <td>char code</td>
+ <td>typeof</td>
+ <td>comments</td>
+ </tr>
+ <tr>
+ <td>double matrix</td>
+ <td>
+ <literal>s</literal>
+ </td>
+ <td>
+ <literal>constant</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>polynomial matrix</td>
+ <td>
+ <literal>p</literal>
+ </td>
+ <td>
+ <literal>polynomial</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>boolean matrix</td>
+ <td>
+ <literal>b</literal>
+ </td>
+ <td>
+ <literal>boolean</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>sparse matrix</td>
+ <td>
+ <literal>sp</literal>
+ </td>
+ <td>
+ <literal>sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>boolean sparse matrix</td>
+ <td>
+ <literal>spb</literal>
+ </td>
+ <td>
+ <literal>boolean sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>Matlab sparse matrix</td>
+ <td>
+ <literal>msp</literal>
+ </td>
+ <td>
+ <literal>Matlab sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>integer matrix</td>
+ <td>
+ <literal>i</literal>
+ </td>
+ <td>
+ <literal>int8, int16, int32, uint8, uint16, uint32</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>string matrix</td>
+ <td>
+ <literal>c</literal>
+ </td>
+ <td>
+ <literal>string</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>handle</td>
+ <td>
+ <literal>h</literal>
+ </td>
+ <td>
+ <literal>handle</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>compiled function</td>
+ <td>
+ <literal>fptr</literal>
+ </td>
+ <td>
+ <literal>fptr</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>script function</td>
+ <td>
+ <literal>mc</literal>
+ </td>
+ <td>
+ <literal>function</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>library</td>
+ <td>
+ <literal>f</literal>
+ </td>
+ <td>
+ <literal>library</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>list</td>
+ <td>
+ <literal>l</literal>
+ </td>
+ <td>
+ <literal>list</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>tlist</td>
+ <td>
+ <literal>tlist type</literal>
+ </td>
+ <td>
+ <literal>tlist type</literal>
+ </td>
+ <td>the first string in the first tlist entry</td>
+ </tr>
+ <tr>
+ <td>mlist</td>
+ <td>
+ <literal>mlist type</literal>
+ </td>
+ <td>
+ <literal>mlist type</literal>
+ </td>
+ <td>the first string in the first mlist entry</td>
+ </tr>
+ <tr>
+ <td>hypermatrix</td>
+ <td>
+ <literal>hm</literal>
+ </td>
+ <td>
+ <literal>hypermat</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>pointer</td>
+ <td>
+ <literal>ptr</literal>
+ </td>
+ <td>
+ <literal>pointer</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>cell</td>
+ <td>
+ <literal>ce</literal>
+ </td>
+ <td>
+ <literal>ce</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>structure</td>
+ <td>
+ <literal>st</literal>
+ </td>
+ <td>
+ <literal>st</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>rational</td>
+ <td>
+ <literal>r</literal>
+ </td>
+ <td>
+ <literal>rational</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>linear state space</td>
+ <td>
+ <literal>lss</literal>
+ </td>
+ <td>
+ <literal>state-space</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>implicit polynom</td>
+ <td>
+ <literal>ip</literal>
+ </td>
+ <td>
+ <literal>size implicit</literal>
+ </td>
+ <td>1:1:$</td>
+ </tr>
+ </informaltable>
+ <para>
+ <literal>&lt;op_code&gt;</literal> is a single character associated
+ with each operator as described in the following table:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>
+ <literal>op</literal>
+ </td>
+ <td>char code</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>'</literal>
+ </td>
+ <td>t</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>+</literal>
+ </td>
+ <td>a</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>-</literal>
+ </td>
+ <td>s</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*</literal>
+ </td>
+ <td>m</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/</literal>
+ </td>
+ <td>r</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\</literal>
+ </td>
+ <td>l</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>^</literal>
+ </td>
+ <td>p</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*</literal>
+ </td>
+ <td>x</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./</literal>
+ </td>
+ <td>d</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\</literal>
+ </td>
+ <td>q</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*.</literal>
+ </td>
+ <td>k</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./.</literal>
+ </td>
+ <td>y</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\.</literal>
+ </td>
+ <td>z</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>:</literal>
+ </td>
+ <td>b</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*.</literal>
+ </td>
+ <td>u</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/.</literal>
+ </td>
+ <td>v</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\.</literal>
+ </td>
+ <td>w</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a,b]</literal>
+ </td>
+ <td>c</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a;b]</literal>
+ </td>
+ <td>f</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() extraction</literal>
+ </td>
+ <td>e</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() insertion</literal>
+ </td>
+ <td>i</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>==</literal>
+ </td>
+ <td>o</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;&gt;</literal>
+ </td>
+ <td>n</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>|</literal>
+ </td>
+ <td>g</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&amp;</literal>
+ </td>
+ <td>h</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.^</literal>
+ </td>
+ <td>j</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.'</literal>
+ </td>
+ <td>0</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;</literal>
+ </td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;</literal>
+ </td>
+ <td>2</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;=</literal>
+ </td>
+ <td>3</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;=</literal>
+ </td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>~</literal>
+ </td>
+ <td>5</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>iext</literal>
+ </td>
+ <td>6</td>
+ </tr>
+ </informaltable>
+ <para>
+ The overloading function for extraction syntax <literal>b= a(i1,
+ ..., in)
+ </literal>
+ has the following calling sequence: <literal>b =
+ %&lt;type_of_a&gt;_e_(i1, ..., in, a)
+ </literal>
+ </para>
+ <para>
+ and the syntax <literal>[x1, .., xm] = a(i1, ..., in)</literal> has
+ the following calling sequence: <literal>[x1, .., xm] =
+ %&lt;type_of_a&gt;_e_(i1, ..., in, a)
+ </literal>
+ .
+ </para>
+ <para>The overloading function associated to the insertion syntax
+ <literal>a(i1, ..., in) = b</literal> has the following calling sequence:
+ <literal>a = %&lt;type_of_b&gt;_i_&lt;type_of_a&gt;(i1, ..., in, b,
+ a)
+ </literal>
+ .
+ </para>
+ <para>
+ The <literal>6</literal> char code may be used for some complex
+ insertion algorithm like <code>x.b(2) = 33</code> where
+ <literal>b</literal> field is not defined in the structure
+ <literal>x</literal>. The insertion is automatically decomposed into
+ <code>temp = x.b</code>; <code>temp(2) = 33</code>;
+ <code>x.b = temp</code>. The <literal>6</literal> char code is used
+ for the first step of this algorithm. The <literal>6</literal> overloading
+ function is very similar to the <literal>e</literal>'s one.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Functions :</term>
+ <listitem>
+ <para>
+ Some basic primitive function may also be overloaded for new data type. When such function
+ is undefined for a particular data types the function
+ <literal>%&lt;type_of_an_argument&gt;_&lt;function_name&gt;</literal>
+ is called. User may add in this called function the definition
+ associated with the input data types.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//DISPLAY
+ var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // the type of var is 'tab'
+
+ typeof(var)
+
+ function [] = %tab_p(l)
+ disp([[' '; l(3)] [l(2); string(l(4))]])
+ endfunction
+
+ var // after overloading
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//OPERATOR
+ 's' + 1 // it is impossible to add a number to a string
+
+ function x = %c_a_s(a, b)
+ x = a + string(b);
+ endfunction
+
+ 's' + 1 // after overloading
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//FUNCTION
+ sin('2 * x') // the sin function does not work with a string
+
+ function x = %c_sin(a)
+ x = 'sin(' + a + ')'
+ endfunction
+
+ sin('2 * x') // after overloading
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="disp">disp</link>
+ </member>
+ <member>
+ <link linkend="symbols">symbols</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typename">typename</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/add_profiling.xml b/modules/functions/help/en_US/profiling/add_profiling.xml
new file mode 100755
index 000000000..0489fb2a5
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/add_profiling.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="add_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>add_profiling</refname>
+ <refpurpose>Enables the profiling of a function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>add_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>A character string, the name of the function to be profiled</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>add_profiling</literal> adds the instructions needed for the profiling of a function.
+ Then, when this function is executed, the number of calls and the
+ time spent, for each line, are stored.
+ These data can be returned with the <link linkend="profile">profile</link> function.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //run the function
+profile(foo) //extract profile information
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Used Functions</title>
+ <para>
+ This function uses the Scilab functions <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/plotprofile.xml b/modules/functions/help/en_US/profiling/plotprofile.xml
new file mode 100755
index 000000000..c1163e599
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/plotprofile.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ * Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="plotprofile">
+ <refnamediv>
+ <refname>plotprofile</refname>
+ <refpurpose>Displays the profiling charts of a function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>plotprofile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>a Scilab compiled function, or a function name (string), or an array of
+ function names
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ To use <literal>plotprofile</literal> on a function, the profiling of this function must have been first activated:
+ <itemizedlist>
+ <listitem><para>either by using the <link linkend="add_profiling">add_profiling</link> command.</para></listitem>
+ <listitem><para>or if the function has beed defined with the <link linkend="deff">deff</link> command, by setting the optional argument of <link linkend="deff">deff</link> to "p".</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Once the function has been executed, calling <literal>plotprofile</literal> displays two windows, one containing the source code of the function, and a second one containing three histograms which show:
+ <itemizedlist>
+ <listitem><para>the number of calls of each line</para></listitem>
+ <listitem><para>the total CPU time spent on each line (in seconds)</para></listitem>
+ <listitem><para>a measure of effort to interpret each line (arbitrary unit)</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ When clicking on a histogram bin, the related line is highlighted in the source code window.
+ </para>
+ <para>
+ Note: "Exit" item is used to exit from the "plotprofile" graphics window.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// Exemple of profiling a function
+function foo()
+ runs = 50;
+ b = 0;
+ for i = 1:runs
+ b = zeros(220, 220);
+ for j = 1:220
+ for k = 1:220
+ b(k,j) = abs(j - k) + 1;
+ end
+ end
+ end
+endfunction
+
+// Enables the profiling of the function
+add_profiling("foo");
+
+// Executes the function
+foo();
+
+// Displays the profiling charts
+plotprofile(foo) // click on Exit to exit
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+// Exemple of profiling a function defined with deff
+deff('x = foo2(n)', ['if n > 0 then'
+ ' x = 0;'
+ ' for k = 1:n'
+ ' s = svd(rand(n, n));'
+ ' x = x + s(1);'
+ ' end'
+ 'else'
+ ' x = [];'
+ 'end'], ..
+ 'p');
+
+// Executes the function
+foo2(200);
+
+// Displays the profiling charts
+plotprofile("foo2") // click on Exit to exit
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="showprofile">showprofile</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/profile.xml b/modules/functions/help/en_US/profiling/profile.xml
new file mode 100755
index 000000000..d4eacfae9
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/profile.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON
+ * Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="profile">
+ <refnamediv>
+ <refname>profile</refname>
+ <refpurpose>Returns the profiling results of a function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>c = profile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>a Scilab function</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>a nx3 matrix containing the profiling results:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>c(i,1)</literal> : number of times the line i of the function has been executed
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>c(i,2)</literal> : cumulated CPU time [in seconds] spent to execute the line i of the function
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>c(i,3)</literal> : Measurement of the interpreter effort to execute once the line i of the function [arbitrary unit]
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ To use <literal>profile</literal> on a function, the profiling of this function must have been first activated:
+ <itemizedlist>
+ <listitem>
+ <para>
+ either by using the <link linkend="add_profiling">add_profiling</link> command.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ or if the function has beed defined with the <link linkend="deff">deff</link> command, by setting the optional argument of <link linkend="deff">deff</link> to "p".
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Once the function executed, calling <literal>profile</literal> returns a matrix, where each row contains the profiling results for the corresponding function line (including the header line of the function), such as the number of calls, and the total CPU time spent in that line, and a measurement of the interpretor effort to execute the line, as following:
+ </para>
+ <para>
+ <informaltable border="1">
+ <tr>
+ <td>Number of calls</td><td>Total CPU time (s)</td><td>Interpretor effort</td>
+ </tr>
+ <tr>
+ <td>1</td><td>0</td><td>0</td>
+ </tr>
+ <tr>
+ <td>300</td><td>0.1</td><td>0</td>
+ </tr>
+ <tr>
+ <td>300</td><td>3.59</td><td>5</td>
+ </tr>
+ <tr>
+ <td>...</td><td>...</td><td>...</td>
+ </tr>
+ </informaltable>
+ </para>
+ <para>
+ Here we can see that the 3th line of the function has been called 300 times, for a total CPU time of 3.59 seconds.
+ </para>
+ <para>
+ Note: due to the precision limit of CPU time measure (typically one micro second), some executed lines which execution is very fast may appear with a CPU total time of 0.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// Function to be profiled
+function x = foo(n)
+ if n > 0 then
+ x = 0;
+ for k = 1:n
+ s = svd(rand(n, n));
+ x = x + s(1);
+ end
+ else
+ x = [];
+ end
+endfunction
+
+// Enables the profiling of the function
+add_profiling("foo");
+
+// Executes the function
+foo(200);
+
+// Returns the function profiling results
+profile(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="showprofile">showprofile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/remove_profiling.xml b/modules/functions/help/en_US/profiling/remove_profiling.xml
new file mode 100755
index 000000000..4da5fb49b
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/remove_profiling.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="remove_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>remove_profiling</refname>
+ <refpurpose>Disables the profiling of a function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>remove_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>A character string, the name of the profiled function</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>remove_profiling</literal> removes the instructions needed for the profiling of a function.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //run the function
+profile(foo) //extract profile information
+remove_profiling("foo")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">remove_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Used Functions</title>
+ <para>
+ This function uses the Scilab functions <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/reset_profiling.xml b/modules/functions/help/en_US/profiling/reset_profiling.xml
new file mode 100755
index 000000000..aa984428c
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/reset_profiling.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="reset_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>reset_profiling</refname>
+ <refpurpose>Resets profiling counters of a function.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>reset_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>A character string, the name of the function</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>reset_profiling(funname)</literal> Resets profiling counters (if any) of the function
+ named <literal>funname</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //run the function
+profile(foo) //extract profile information
+reset_profiling("foo")
+profile(foo) //extract profile information
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Used Functions</title>
+ <para>
+ This function uses the Scilab functions <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/profiling/showprofile.xml b/modules/functions/help/en_US/profiling/showprofile.xml
new file mode 100755
index 000000000..48b4d39f7
--- /dev/null
+++ b/modules/functions/help/en_US/profiling/showprofile.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ * Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="showprofile">
+ <refnamediv>
+ <refname>showprofile</refname>
+ <refpurpose>Outputs the function profiling results to the console</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>showprofile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>a Scilab function</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ To use <literal>showprofile</literal> on a function, the profiling of this function must have been first activated:
+ <itemizedlist>
+ <listitem>
+ <para>
+ either by using the <link linkend="add_profiling">add_profiling</link> command.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ or if the function has beed defined with the <link linkend="deff">deff</link> command, by setting the optional argument of <link linkend="deff">deff</link> to "p".
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Once the function has been executed, calling <literal>showprofile</literal> outputs to the console the profiling results.
+ </para>
+ <para>For each function line (including the header of function), are printed the following informations, in order:
+ <itemizedlist>
+ <listitem><para>the total number of times the line was called</para></listitem>
+ <listitem><para>the total CPU time spent in the line (in seconds)</para></listitem>
+ <listitem><para>a measurement of the interpretor effort to interpret the line</para></listitem>
+ <listitem><para>the number and source code of the line</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ An example of output:
+ </para>
+ <screen>
+ |1 |0 |0| 1: function x=fun(n)
+ |1 |0 |0| 2: if n > 0 then
+ |1 |0 |2| 3: x = 0;
+ |200|0.01|0| 4: for k = 1:n
+ |200|3.99|5| 5: s = svd(rand(n, n));
+ |...|... |.| ...
+ </screen>
+ <para>
+ Here we can see that the 5th line of the function has been called 200 times, for a total CPU time of 3.99 seconds (and an effort of 5 to interpret the line).
+ </para>
+ <para>
+ <literal>show_profile</literal> looks like to <link linkend="profile">profile</link>, but <link linkend="profile">profile</link> returns a matrix with the profiling results, while <literal>show_profile</literal> only prints that results to the console.
+ </para>
+ <para>
+ Note: due to the precision limit of CPU time measure (typically one micro second), some executed lines which execution is very fast may appear with a CPU total time of 0.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// Function to be profiled
+function x = foo(n)
+ if n > 0 then
+ x = 0;
+ for k = 1:n
+ s = svd(rand(n, n));
+ x = x + s(1);
+ end
+ else
+ x = [];
+ end
+endfunction
+
+// Enables the profiling of the function
+add_profiling("foo");
+
+// Executes the function
+foo(200);
+
+// Prints the function profiling results to console
+showprofile(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/recompilefunction.xml b/modules/functions/help/en_US/recompilefunction.xml
new file mode 100755
index 000000000..16ccaa76f
--- /dev/null
+++ b/modules/functions/help/en_US/recompilefunction.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="recompilefunction">
+ <refnamediv>
+ <refname>recompilefunction</refname>
+ <refpurpose>recompiles a scilab function,
+ changing its type
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>recompilefunction(funname [,kind [,force]])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>string, name of the function to recompile
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>kind</term>
+ <listitem>
+ <para>
+ string: <emphasis role="bold">"n"</emphasis> (noncompiled, type 11), <emphasis role="bold">"c"</emphasis>
+ (compiled, type 13) or <emphasis role="bold">"p"</emphasis> (compiled, type 13, with
+ provision for profiling). Default "c".
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>force</term>
+ <listitem>
+ <para>boolean. If false, the function is recomplied only if its kind changes;
+ if true, it is recompiled even if it keeps the same kind (notably useful
+ to recompile a "p" function, to reset the profiling statistics).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ This function reverse-compiles a function variable via <link linkend="fun2string">fun2string</link>,
+ and recompiles it to the desired kind with <link linkend="deff">deff</link>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+for i=1:100; asinh(rand(100,100)); end
+showprofile(asinh)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Bibliography</title>
+ <para>
+ <ulink url="http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation">http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation</ulink>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/sciargs.xml b/modules/functions/help/en_US/sciargs.xml
new file mode 100755
index 000000000..40a50424f
--- /dev/null
+++ b/modules/functions/help/en_US/sciargs.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sciargs">
+ <refnamediv>
+ <refname>sciargs</refname>
+ <refpurpose>scilab command line arguments</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>args = sciargs()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function returns a row vector of character strings containing the
+ arguments of the Scilab command line. First <literal>args</literal> entry contains
+ the path of the launched executable file.
+ </para>
+ <para>
+ This function corresponds to the <literal>getarg</literal> function in C language.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+args=sciargs()
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getenv">getenv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/str2code.xml b/modules/functions/help/en_US/str2code.xml
new file mode 100755
index 000000000..3b019865b
--- /dev/null
+++ b/modules/functions/help/en_US/str2code.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="str2code" xml:lang="en">
+ <refnamediv>
+ <refname>str2code</refname>
+ <refpurpose>returns Scilab integer codes associated with a character
+ string. <emphasis role="bold">This function is obsolete.</emphasis>
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>c = str2code(str)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>str</term>
+ <listitem>
+ <para>a character string.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>a column vector of character integer codes.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>c = str2code(str)</code> returns a column vector
+ <varname>c</varname> such that <literal>c(i)</literal> is the
+ Scilab integer code of <literal>part(str,i)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+str2code('Scilab')'
+code2str([-28 12 18 21 10 11])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="code2str">code2str</link>
+ </member>
+ <member>
+ <link linkend="ascii">ascii</link>
+ </member>
+ <member>
+ <link linkend="part">part</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>This function will be removed in Scilab 6.0.0</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/tree2code.xml b/modules/functions/help/en_US/tree2code.xml
new file mode 100755
index 000000000..15f985eb4
--- /dev/null
+++ b/modules/functions/help/en_US/tree2code.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="tree2code">
+ <refnamediv>
+ <refname>tree2code</refname>
+ <refpurpose>generates ASCII definition of a Scilab function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>txt = tree2code(tree, prettyprint)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>tree</term>
+ <listitem>
+ <para>
+ a macro tree (coming from <function>macr2tree</function>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>prettyprint</term>
+ <listitem>
+ <para>an optional boolean value:</para>
+ <variablelist>
+ <varlistentry>
+ <term>%T</term>
+ <listitem>
+ <para>generated code is indented and beautified</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%F</term>
+ <listitem>
+ <para>
+ generated code is not beautified (default)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>a column vector of strings, the text giving the Scilab instructions.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Given a loaded Scilab function "tree" (returned by <function>macr2tree</function>), <function>tree2code</function> allows to
+ re-generate the code.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/varargin.xml b/modules/functions/help/en_US/varargin.xml
new file mode 100755
index 000000000..9ba7fa74f
--- /dev/null
+++ b/modules/functions/help/en_US/varargin.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargin" xml:lang="en">
+ <refnamediv>
+ <refname>varargin</refname>
+ <refpurpose>variable number of arguments in an input argument
+ list
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ A function whose last input argument is <literal>varargin</literal>
+ can be called with more input arguments than indicated in the input
+ argument list. The calling arguments passed form
+ <literal>varargin</literal> keyword onwards may then be retrieved within
+ the function in a list named <literal>varargin</literal>.
+ </para>
+ <para>
+ Suppose that <literal>varargin</literal> keyword is the
+ <literal>n</literal>-th argument of the formal input argument list, then
+ if the function is called with less than <literal>n-1</literal> input
+ arguments the <literal>varargin</literal> list is not defined, if the
+ function is called with <literal>n-1</literal> arguments then
+ <literal>varargin</literal> list is an empty list.
+ </para>
+ <para>
+ <literal>function y = ex(varargin)</literal> may be called with any
+ number of input arguments. Within function <literal>ex</literal> input
+ arguments may be retrieved in <literal>varargin(i)</literal>, <literal>i=1:length(varargin)</literal>.
+ </para>
+ <para>
+ If it is not the last input argument of a function,
+ <literal>varargin</literal> is a normal input argument name with no
+ special meaning.
+ </para>
+ <para>
+ The total number of actual input arguments is given by <code>argn(2)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Remark</title>
+ <para>
+ Named argument syntax like <literal>foo(...,key=value)</literal> is
+ incompatible with the use of <literal>varargin</literal>. The reason is that the names (i.e.
+ keys) associated with values are not stored in the <literal>varargin</literal> list. Consider
+ for instance:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+function foo(varargin)
+ disp([varargin(1),varargin(2)])
+endfunction
+ ]]></programlisting>
+ <screen>
+ -->foo(a=1,b=2)
+
+ 1. 2.
+
+ -->foo(b=1,a=2)
+
+ 1. 2.
+ </screen>
+ <para>
+ Result is the same, but the arguments were inverted.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function exampl(a,varargin)
+ [lhs,rhs]=argn(0)
+ if rhs>=1 then
+ disp(varargin)
+ end
+endfunction
+
+exampl(1)
+exampl()
+exampl(1,2,3)
+l=list('a',%s,%t);
+exampl(1,l(2:3))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/en_US/varargout.xml b/modules/functions/help/en_US/varargout.xml
new file mode 100755
index 000000000..7d16539fa
--- /dev/null
+++ b/modules/functions/help/en_US/varargout.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargout" xml:lang="en">
+ <refnamediv>
+ <refname>varargout</refname>
+ <refpurpose>variable numbers of arguments in an output argument
+ list
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>A function whose output argument list contains
+ <literal>varargout</literal> must be called with more output arguments
+ than indicated in the output argument list. The calling arguments passed
+ form <literal>varargout</literal> keyword onwards are extracted out of the
+ <literal>varargout</literal> list defined in the function.
+ </para>
+ <para>
+ <literal>varargout = function ex()</literal> may be called with any
+ number of output arguments. Within function <literal>ex</literal> output
+ arguments may be stored in <literal>varargout(i)</literal>.
+ </para>
+ <para>
+ <literal>[X1,...,Xn,varargout] = function ex()</literal> may also be
+ used. In this case the <literal>Xi</literal> variables must be assigned in
+ the function as well as <literal>varargout(i)</literal>.
+ </para>
+ <para>
+ The actual total number of output argument is given <code>argn(1)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Remark</title>
+ <para>
+ The <literal>varargout</literal> variable must be created within the
+ function and assigned to a <link linkend="list">list</link>. If <literal>varargout</literal>
+ is the only formal output variable the list must contain at least one
+ entry.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function varargout=exampl()
+ varargout=list(1,2,3,4)
+endfunction
+
+x=exampl()
+[x,y]=exampl()
+[x,y,z]=exampl()
+
+function [a,b,varargout]=exampl1()
+ a='first'
+ b='second'
+ varargout=list(1,2,3,4)
+endfunction
+
+exampl1()
+[a,b]=exampl1()
+[a,b,c]=exampl1()
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/addchapter.sce b/modules/functions/help/fr_FR/addchapter.sce
new file mode 100755
index 000000000..6c99fe36c
--- /dev/null
+++ b/modules/functions/help/fr_FR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Fonctions avancées",SCI+"/modules/functions/help/fr_FR",%T);
+
diff --git a/modules/functions/help/fr_FR/argn.xml b/modules/functions/help/fr_FR/argn.xml
new file mode 100755
index 000000000..d43ad5370
--- /dev/null
+++ b/modules/functions/help/fr_FR/argn.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="argn">
+ <refnamediv>
+ <refname>argn</refname>
+ <refpurpose>nombre d'arguments d'appel d'une fonction </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[lhs [,rhs] ]=argn()
+ lhs=argn(1)
+ rhs=argn(2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette fonction est utilisée à l'intérieur d'une définition de fonction.
+ Elle donne le nombre effectif (au moment de l'appel) d'arguments d'entrée <varname>rhs</varname>
+ et de sortie <varname>lhs</varname>. Elle permet d'utiliser des arguments optionnels.
+ </para>
+ <para>
+ <note>
+ Notez que <varname>lhs</varname> est toujours supérieur ou égal à 1. Autrement dit, même si une
+ fonction est appelée sans avoir mentionné un argument de sortie, <varname>lhs</varname> sera égal à 1.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+function concat=maFonction(nom,option)
+ [lhs,rhs]=argn(0);
+ disp(lhs);
+ if rhs <= 1 then
+ option="mon argument optionnel";
+ end
+ if rhs == 0 then
+ error("Au moins un argument attendu");
+ end
+ concat=nom+" "+option;
+endfunction
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/built_in/CHAPTER b/modules/functions/help/fr_FR/built_in/CHAPTER
new file mode 100755
index 000000000..4beffcea0
--- /dev/null
+++ b/modules/functions/help/fr_FR/built_in/CHAPTER
@@ -0,0 +1,2 @@
+title = Built-in & external
+
diff --git a/modules/functions/help/fr_FR/built_in/external.xml b/modules/functions/help/fr_FR/built_in/external.xml
new file mode 100755
index 000000000..ab0f602b2
--- /dev/null
+++ b/modules/functions/help/fr_FR/built_in/external.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="external">
+ <refnamediv>
+ <refname>external</refname>
+ <refpurpose>Objet Scilab, fonction externe ou routine </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Fonction ou routine externe nécessitée par des commandes particulières.
+ </para>
+ <para>
+ Un "external" est une fonction ou une routine qui est utilisée comme argument d'une
+ "primitive de haut niveau", telle que <literal>ode</literal>, <literal>optim</literal>, <literal>schur</literal>...
+ </para>
+ <para>
+ La séquence d'appel de la fonction ou de la routine est en général imposée
+ par la primitive de haut niveau qui impose en particulier les arguments d'entrée.
+ </para>
+ <para>
+ Par exemple la fonction externe <literal>costfunc</literal> est un argument de la primitive <literal>optim</literal>.
+ Sa séquence d'appel doit être de la forme : <literal>[f,g,ind]=costfunc(x,ind)</literal> et
+ <literal>optim</literal> (primitive permettant de résoudre des problèmes d'optimisation) est invoquée ainsi :
+ </para>
+ <programlisting><![CDATA[
+optim(costfunc,...)
+ ]]></programlisting>
+ <para>
+ Ici <literal>costfunc</literal> (la fonction coût à minimiser avec <literal>optim</literal>)
+ calcule <literal>f=f(x)</literal> et <literal>g=</literal> le gradient de <literal>f</literal> en <literal>x</literal> (<literal>ind</literal> est un entier dont l'usage est précisé dans l'aide de <literal>optim</literal>).
+ </para>
+ <para>
+ Si d'autres variables sont nécessaires à la fonction externe, ces variables
+ peuvent être définies dans son environnement. Elles peuvent aussi être stockées dans une liste :
+ par exemple
+ </para>
+ <programlisting><![CDATA[
+[f,g,ind]=costfunc(x,ind,a,b,c)
+ ]]></programlisting>
+ <para>
+ est valide pour <literal>optim</literal> si <literal>costfunc</literal> est remplacé par <literal>list(costfunc,a,b,c)</literal>.
+ La séquence d'appel à <literal>optim</literal> est donc maintenant :
+ </para>
+ <programlisting><![CDATA[
+optim(list(costfunc,a1,b1,c1),....
+ ]]></programlisting>
+ <para>
+ Un "external" peut aussi être une routine Fortran ou C : cela peut permettre d'accélérer les calculs.
+ </para>
+ <para>
+ Le nom de la routine est donné comme argument à la primitive de haut niveau sous forme d'une
+ chaîne de caractères. La séquence d'appel est aussi imposée.
+ </para>
+ <para>
+ Les routines externes Fortran ou C peuvent aussi être liées dynamiquement (voir <literal>link</literal>).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ode">ode</link>
+ </member>
+ <member>
+ <link linkend="optim">optim</link>
+ </member>
+ <member>
+ <link linkend="impl">impl</link>
+ </member>
+ <member>
+ <link linkend="dassl">dassl</link>
+ </member>
+ <member>
+ <link linkend="intg">intg</link>
+ </member>
+ <member>
+ <link linkend="schur">schur</link>
+ </member>
+ <member>
+ <link linkend="gschur">gschur</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/built_in/what.xml b/modules/functions/help/fr_FR/built_in/what.xml
new file mode 100755
index 000000000..87ccc5d01
--- /dev/null
+++ b/modules/functions/help/fr_FR/built_in/what.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="what">
+ <refnamediv>
+ <refname>what</refname>
+ <refpurpose>liste des primitives
+ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>what()
+ [primitives,commandes]=what();
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>Liste des primitives et commandes de bas niveau.</para>
+ <para/>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/bytecode.xml b/modules/functions/help/fr_FR/bytecode.xml
new file mode 100755
index 000000000..04bea30f1
--- /dev/null
+++ b/modules/functions/help/fr_FR/bytecode.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA Serge Steer
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="bytecode">
+ <refnamediv>
+ <refname>bytecode</refname>
+ <refpurpose>Etant donnée une fonction, retourne son pseudo code dans une variable Scilab et réciproquement. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>
+ x = bytecode(f)
+ f = bytecode(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ une fonction Scilab
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ un vecteur d'entiers,
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>x = bytecode(f)</code> retourne le pseudo code de la fonction
+ <varname>f</varname> dans le vecteur d'entiers Scilab
+ <varname>x</varname>.
+ </para>
+ <para>
+ <code>f= bytecode(x)</code> retourne dans
+ <varname>f</varname> la fonction correspondant au pseudo code
+ donné dans le vecteur d'entiers
+ <varname>x</varname>.
+ <warning>
+ Attention la validité du pseudo code n'est pas vérifiée.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Remark</title>
+ <para>
+ Le pseudo code de Scilab va changer dans le futur. Aussi l'usage
+ de cette fonction devrait être limité à la gestion des
+ fonctions de profiling.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+function a=foo(),a=sin(3),endfunction
+bytecode(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="bytecodewalk">bytecodewalk</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/bytecodewalk.xml b/modules/functions/help/fr_FR/bytecodewalk.xml
new file mode 100755
index 000000000..0fe628842
--- /dev/null
+++ b/modules/functions/help/fr_FR/bytecodewalk.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Ajouter ici d'éventuels commentaires sur le fichier XML
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="bytecodewalk">
+ <refnamediv>
+ <refname>bytecodewalk</refname>
+ <refpurpose>parcourt le pseudo code d'une fonction en appliquant un traitement</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>c1 = bytecodewalk(code,query,job)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>code</term>
+ <listitem>
+ <para>
+ vecteur d'entiers (int32): le vecteur des pseudo codes de la fonction
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>query</term>
+ <listitem>
+ <para>
+ intier, le code opératoire à rechercher
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>job</term>
+ <listitem>
+ <para>
+ fonction, la fonction a appliquer pour le code opératoire requis
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c1</term>
+ <listitem>
+ <para>
+ vecteur d'entiers (int32): le vecteur des pseudo codes résultant
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Parcourt le pseudo code d'une fonction en appliquant un traitement, pour un code opératoire donné/
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="bytecode">bytecode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/comp.xml b/modules/functions/help/fr_FR/comp.xml
new file mode 100755
index 000000000..0ce56f791
--- /dev/null
+++ b/modules/functions/help/fr_FR/comp.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="comp">
+ <refnamediv>
+ <refname>comp</refname>
+ <refpurpose>pré-interprétation ou "compilation" de fonctions Scilab </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>comp(function [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>function </term>
+ <listitem>
+ <para>une fonction non "compilée" (type 11)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>flag with value 0 (default) or 2.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>comp(function)</literal> "compile" la fonction
+ <literal>function</literal>. Les fonctions "compilées" et
+ interprétées sont équivalentes mais les fonctions
+ "compilées" sont plus rapides. Les fonctions fournies dans les
+ bibliothèques standard de Scilab sont "compilées".
+ </para>
+ <para>La définition en line des fonction ainsi que la forme
+ courte des fonctions <literal>exec</literal> et
+ <literal>deff</literal> produisent des fonctions
+ compilées. L'usage de la fonction <literal>comp</literal> est
+ donc réservé a des usages très particuliers. Pour
+ générer des fonction non compilées, il faut appeler les
+ fonctions <link linkend="exec">exec</link> ou <link linkend="deff">deff</link> avec l'option
+ <literal>"n"</literal>.
+ </para>
+ <para>L'option opt==2 requiert que la compilation produise aussi
+ les instructions de profilage.. A noter qu'il est possible
+ d'ajouter ces instructions de profilage à une fonction
+ déjà compileée en utilisant la fonction <link linkend="add_profiling">add_profiling</link>.
+ </para>
+ <para>L'option opt==1 est obsolete est équivalente à
+ opt==0.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/exec.xml b/modules/functions/help/fr_FR/exec.xml
new file mode 100755
index 000000000..bcded2f2b
--- /dev/null
+++ b/modules/functions/help/fr_FR/exec.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="exec">
+ <refnamediv>
+ <refname>exec</refname>
+ <refpurpose>exécution d'un script (fichier de commandes) </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>exec(path [,mode])
+ exec(fun [,mode])
+ ierr = exec(path, 'errcatch' [,mode])
+ ierr = exec(fun, 'errcatch' [,mode])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>chaîne de caractères, le chemin du script à exécuter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mode</term>
+ <listitem>
+ <para>entier, précisant le mode d'exécution (voir plus bas).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>identificateur d'une fonction scilab.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>entier, 0 ou numéro d'erreur.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>exec(path [,mode])</code> exécute séquentiellement les instructions
+ Scilab contenues dans le fichier spécifié par <varname>path</varname> avec le
+ mode d'exécution optionnel <varname>mode</varname> .
+ </para>
+ <para>
+ Les différentes valeurs de <varname>mode</varname> sont :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>valeur par défaut</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-1</term>
+ <listitem>
+ <para>rien n'est affiché</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>chaque ligne de commande est affichée</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ l'invite de commande <literal>--&gt;</literal> est affiché
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>3</term>
+ <listitem>
+ <para>lignes de commandes + invite de commande</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>pause dans l'exécution au début de chaque ligne. L'exécution
+ reprend après un appui sur la touche entrée/return.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>pause + invite + affichage : ce mode est utile pour les démonstrations.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>exec(fun [,mode])</code> exécute la fonction <varname>fun</varname> comme
+ un script : aucun argument n'est utilisé en entrée ou en sortie, et
+ l'exécution se fait dans l'environnement courant (les variables
+ créées dans la fonction sont conservées après l'exécution). Cette
+ forme est plus efficace, car ainsi les instructions du script peuvent
+ être pré-compilées (voir <link linkend="comp">comp</link>). Cette méthode d'exécution des
+ scripts permet aussi de stocker des scripts comme des fonctions dans des
+ bibliothèques.
+ </para>
+ <para>
+ Si une erreur se produit pendant l'exécution, si la chaîne de
+ caractères <literal>'errcatch'</literal> est présente, <function>exec</function> ne
+ produit pas de message d'erreur, mais stoppe l'exécution du
+ script et renvoie une valeur de <varname>ierr</varname> égale au numéro de
+ l'erreur. Si la chaîne <literal>'errcatch'</literal> n'est pas présente,
+ la gestion habituelle des erreurs est utilisée.
+ </para>
+ </refsection>
+ <refsection>
+ <title>REMARQUES</title>
+ <para>
+ Les scripts peuvent maintenant contenir des définitions de fonctions en
+ ligne (voir <link linkend="function">fonction</link>).
+ </para>
+ <para>
+ <function>exec</function> prend en charge les fichiers encodés aux formats ANSI/ASCII et UTF-8.
+ </para>
+ <para>La longueur des lignes des fichiers est limitée à 4096 caractères.</para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// création d'un script
+mputl('a=1;b=2',TMPDIR+'/myscript')
+
+// on l'exécute
+exec(TMPDIR+'/myscript')
+whos -name "a "
+
+// création d'une function
+function y=foo(x),a=x+1;y=a^2,endfunction
+clear a b
+
+// appel à la fonction
+foo(1)
+
+// a est une variable créée dans l'environnement de la fonction foo
+// elle est détruite à la sortie de la fonction.
+whos -name "a "
+
+x=1 // on crée la variable x pour qu'elle soit connue à l'exécution de foo
+exec(foo)
+
+// a et y ont été créées dans l'environnement courant
+whos -name "a "
+whos -name "y "
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="mode">mode</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/execstr.xml b/modules/functions/help/fr_FR/execstr.xml
new file mode 100755
index 000000000..2610910fa
--- /dev/null
+++ b/modules/functions/help/fr_FR/execstr.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="execstr">
+ <refnamediv>
+ <refname>execstr</refname>
+ <refpurpose>exécution d'instructions Scilab contenues dans des chaînes de caractères</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>execstr(instr)
+ ierr = execstr(instr, 'errcatch' [,msg])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>instr</term>
+ <listitem>
+ <para>vecteur de chaînes de caractères.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>entier, 0 ou numéro de l'erreur.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>msg </term>
+ <listitem>
+ <para>
+ chaîne de caractères (<literal>'m'</literal> ou <literal>'n'</literal>). La valeur
+ par défaut est <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>Exécute les instructions Scilab données dans l'argument
+ <varname>instr</varname>.
+ </para>
+ <note>
+ Note : les instructions <varname>instr</varname> ne doivent pas comporter de marques de suite (..).
+ </note>
+ <para>
+ Si <literal>'errcatch'</literal> n'est pas présent dans les arguments, les erreurs sont contrôlées comme d'habitude.
+ </para>
+ <para>
+ Si <literal>'errcatch'</literal> est présent dans les arguments, et qu'une erreur est
+ rencontrée lors de l'évaluation d'un élément de <varname>instr</varname>,
+ <function>execstr</function> ne produit aucun message d'erreur, mais stoppe
+ l'exécution des instructions stockées dans <varname>instr</varname> (au point
+ où l'erreur s'est produite), et renvoie dans <varname>ierr</varname> le numéro
+ de l'erreur. Dans ce cas l'affichage du message d'erreur est contrôlé par
+ l'option <varname>msg</varname> :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"m"</term>
+ <listitem>
+ <para>le message d'erreur est affiché et enregistré</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"n"</term>
+ <listitem>
+ <para>le message d'erreur n'est pas affiché mais il est enregistré
+ (voir <link linkend="lasterror">lasterror</link>). Il s'agit du comportement par
+ défaut.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>ierr = execstr(instr, 'errcatch')</code> peut gérer les erreurs de syntaxes. Ceci
+ peut être utile pour évaluer les instructions obtenues par une requète à
+ l'utilisateur (interface homme-machine).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+execstr('a=1') // affecte a=1.
+
+execstr('1+1') // ne fait rien de particulier (alors que evstr('1+1') renvoie 2)
+
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+
+// récupération des erreurs d'exécution
+execstr('a=zzzzzzz','errcatch')
+execstr('a=zzzzzzz','errcatch','m')
+
+// récupération des erreurs de syntaxe
+execstr('a=1?02','errcatch')
+lasterror(%t)
+
+execstr('a=[1 2 3)','errcatch')
+lasterror(%t)
+
+// variable1 n'existe pas
+if execstr('variable1;','errcatch')<>0 then
+ disp("Declenche une erreur");
+else
+ disp("execstr est content");
+end
+
+// variable2 existe ... Pas d'erreur dans execstr
+variable2=[2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Declenche une erreur");
+else
+ disp("execstr est content");
+end
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="try">try</link>
+ </member>
+ <member>
+ <link linkend="errclear">errclear</link>
+ </member>
+ <member>
+ <link linkend="iserror">iserror</link>
+ </member>
+ <member>
+ <link linkend="whereami">whereami</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/function.xml b/modules/functions/help/fr_FR/function.xml
new file mode 100755
index 000000000..e2e50d34b
--- /dev/null
+++ b/modules/functions/help/fr_FR/function.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="function">
+ <refnamediv>
+ <refname>function</refname>
+ <refpurpose>définition d'une fonction Scilab </refpurpose>
+ </refnamediv>
+ <refnamediv xml:id="endfunction">
+ <refname>endfunction</refname>
+ <refpurpose>fin de la définition d'une fonction Scilab </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function <arguments_sortie>=<nom_de_la_fonction><arguments_entrée>
+ <instructions>
+endfunction
+ ]]></programlisting>
+ <para> où</para>
+ <variablelist>
+ <varlistentry>
+ <term>&lt;nom_de_la_fonction&gt;</term>
+ <listitem>
+ <para>est le nom de la fonction</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;arguments_entrée&gt;</term>
+ <listitem>
+ <para>est la liste d'arguments d'entrée. Il peut s'agir de :</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ une liste de noms de variables séparés par des virgules, entourée de parenthèses, comme <literal>(x1,...,xm)</literal>. Le dernier nom de variable peut être <literal>varargin</literal> (voir <link linkend="varargin">varargin</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ la séquence <literal>()</literal> ou rien du tout, si la fonction n'a pas d'argument d'entrée.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;arguments_sortie&gt;</term>
+ <listitem>
+ <para>Est la liste d'arguments de sortie. Il peut s'agir de</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ une liste de noms de variables séparés par des virgules, entourée de crochets, comme <literal>[y1,...,ym]</literal>. Le dernier nom de variable peut être <literal>varargout</literal> (voir <link linkend="varargout">varargout</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ la séquence <literal>[]</literal>, si la fonction n'a pas d'argument de sortie. Dans ce cas la syntaxe d'appel peut aussi être : <literal>function &lt;nom_de_la_fonction&gt;&lt;arguments_entrée&gt;</literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;instructions&gt;</term>
+ <listitem>
+ <para>
+ une suite d'instructions Scilab. Cette syntaxe peut être utilisée pour définir des fonctions (voir <link linkend="functions">functions</link>) en ligne ou dans un script (voir <link linkend="exec">exec</link>). Pour raisons de compatibilité avec les anciennes versions de Scilab, les fonctions définies dans un script ne contenant que des déclarations de fonctions peuvent être chargées dans Scilab avec la fonction <function>exec</function>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ La séquence <literal>function &lt;arguments_sortie&gt;=&lt;nom_de_la_fonction&gt;&lt;arguments_entrée&gt;</literal>
+ doit apparaître sur une seule ligne. Cette suite peut être suivie d'instructions Scilab si une virgule ou un point-virgule est ajouté à la fin.
+ </para>
+ <note>
+ Certaines règles ont été établies quant à la syntaxe des noms de fonctions dans Scilab (voir <link linkend="names">names</link>).
+ </note>
+
+ <para>Les définitions de fonctions peuvent être imbriquées.</para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// définition en ligne
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+// définition sur une seule ligne
+function y=sq(x),y=x^2,endfunction
+
+sq(3)
+
+// définitions imbriquées
+function y=foo(x)
+a=sin(x)
+function y=sq(x), y=x^2,endfunction
+y=sq(a)+1
+endfunction
+
+foo(%pi/3)
+
+// définition dans un script
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="functions">functions</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/functions.xml b/modules/functions/help/fr_FR/functions.xml
new file mode 100755
index 000000000..a01f40c6e
--- /dev/null
+++ b/modules/functions/help/fr_FR/functions.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="functions">
+ <refnamediv>
+ <refname>functions</refname>
+ <refpurpose>procédures Scilab et objets Scilab </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>Les fonctions Scilab sont des procédures ("macros", "fonction" et "procédures"
+ ont la même signification).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Définition de fonctions</title>
+ <para>Les fonctions sont tapées dans un éditeur de texte et
+ chargées dans Scilab avec la commande <link linkend="exec">exec</link> ou via une bibliothèque (voir <link linkend="lib">lib</link> ou <link linkend="genlib">genlib</link>). Mais elles peuvent être
+ définies en ligne (voir <link linkend="deff">deff</link> ou
+ <link linkend="function">function</link>). Une fonction est
+ définie en deux parties :
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>une ligne de déclaration formelle</para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
+ ]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>une suite d'instructions Scilab.</para>
+ </listitem>
+ </itemizedlist>
+ <para>La "ligne de définition" donne la syntaxe d'appel complète de la
+ fonction. Les <literal>yi</literal> sont les variables de sortie,
+ calculées à partir des variables d'entrée <literal>xi</literal>
+ et des variables existantes dans le contexte appelant lorsque la
+ fonction est exécutée. On peut utiliser éventuellement un
+ sous-ensemble de ces variables d'entrée et de sortie.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Appel à une fonction</title>
+ <itemizedlist>
+ <listitem>
+ <para>La syntaxe d'appel est habituellement
+ <literal>[y1,...,yn]=foo(x1,...,xm)</literal>. On peut
+ utiliser éventuellement un sous-ensemble de ces variables
+ d'entrée et de sortie. Dans ce cas, seules les premières
+ variables à partir de la gauche sont utilisées. La fonction
+ <link linkend="argn">argn</link>peut être utilisée pour connaître le
+ nombre effectif d'arguments d'appel.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Il est possible de définir des fonction ayant un nombre
+ indeterminé d'arguments d'entrée et/ou de sortie. Ceci peut
+ être fait avec les mots clé <link linkend="varargin">varargin</link> et <link linkend="varargout">varargout</link>. Voir les liens fournis
+ pour plus de détails.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Il est aussi possible d'utiliser des "arguments
+ nommés" pour spécifier les valeurs des arguments d'entrée :
+ supposons que la fonction <varname>x2</varname> est
+ définie ainsi <code>function y1 = fun1(x1, x2, x3)</code>
+ alors on peut utiliser la syntaxe
+ <code>y = fun1(x1=33, x3=[1 2 3])</code>, et dans
+ <varname>x2</varname> ne sera pas défini.
+ </para>
+ <para>Il est aussi possible d'appeler la fonction
+ <varname>x2</varname> avec une syntaxe comme
+ <code>y = fun1(x1=33, y='foo')</code>. Dans ce cas la
+ variable <varname>y</varname> sera définie dans le contexte
+ local de la fonction.
+ <note>
+ Noter qu'alors il n'est pas possible de passer
+ plus d'arguments d'entrée que le nombre
+ d'arguments formel declarés dans la définition
+ de la syntaxe d'appel de la fonction.
+ </note>
+ </para>
+ <para>Il est possible de vérifier quelles sont les variables
+ définies avec la fonction <link linkend="exists">exists</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Quand une fonction n'a pas d'argument de sortie et est
+ appelée avec des arguments d'entrée de type chaîne de
+ caractère, la syntaxe d'appel peut être simplifiée :
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun('a','toto','une chaîne')
+ ]]></programlisting>
+ <para>est alors équivalent à: </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun a toto 'une chaîne'
+ ]]></programlisting>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Divers</title>
+ <para>Les fonctions sont des objets Scilab (numéro de type 13 ou
+ 11). Elles peuvent être manipulées (passées en argument, sauvées,
+ chargées, ...) comme toute autre variable.
+ </para>
+ <para>Un ensemble de fonctions peut être assemblé dans une
+ bibliothèque. Les fonctions dont le nom commence par le caractère
+ <literal>%</literal> (exemple : <literal>%foo</literal>) sont
+ utilisées pour la surcharge des opérateurs (voir <link linkend="overloading">overloading</link>) ou des fonctions pour
+ des nouveaux types de données.
+ </para>
+ <para>
+ Certaines règles ont été établies quant à la syntaxe des noms de fonctions dans Scilab (voir <link linkend="names">names</link>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// définition en ligne
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+// autre type de définition en ligne
+deff('[x,y]=myfct(a,b)',['x=a+b';
+ 'y=a-b'])
+// définition dans un fichier texte (voir exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="exists">exists</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/getd.xml b/modules/functions/help/fr_FR/getd.xml
new file mode 100755
index 000000000..205b04d5b
--- /dev/null
+++ b/modules/functions/help/fr_FR/getd.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="getd">
+ <refnamediv>
+ <refname>getd</refname>
+ <refpurpose>Charge toutes les fonctions contenues dans un répertoire.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>getd(path)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Argument</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>chaîne de caractères, chemin du répertoire
+ </para>
+ <para>
+ "." si <function>getd</function> est appelée sans argument ou si <varname>path</varname> est une chaîne de caractères vide.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Charge tous les fichiers <literal>.sci</literal> (contenant des fonctions Scilab) présents dans le répertoire <varname>path</varname>.
+ </para>
+ <para>
+ Si le fichier ne contient pas de fonction, le script sera executé.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+getd('SCI/modules/cacsd/macros')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/libraries/CHAPTER b/modules/functions/help/fr_FR/libraries/CHAPTER
new file mode 100755
index 000000000..4cd7693b5
--- /dev/null
+++ b/modules/functions/help/fr_FR/libraries/CHAPTER
@@ -0,0 +1,2 @@
+title = Libraries
+
diff --git a/modules/functions/help/fr_FR/libraries/whereis.xml b/modules/functions/help/fr_FR/libraries/whereis.xml
new file mode 100755
index 000000000..e895d60ce
--- /dev/null
+++ b/modules/functions/help/fr_FR/libraries/whereis.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="whereis">
+ <refnamediv>
+ <refname>whereis</refname>
+ <refpurpose>nom de la bibliothèque contenant une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[librname]=whereis(function-name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Renvoie une chaîne de caractères contenant le nom de la bibliothèque contenant
+ la fonction <literal>function-name</literal>.
+ Le chemin d'accès à la bibliothèque peut être obtenu avec la fonction <literal>"librname"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+whereis("ls") // Devrait retourner fileiolib
+whereis("plot") // Devrait retourner graphicslib
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/macr2tree.xml b/modules/functions/help/fr_FR/macr2tree.xml
new file mode 100755
index 000000000..c3e714173
--- /dev/null
+++ b/modules/functions/help/fr_FR/macr2tree.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="macr2tree">
+ <refnamediv>
+ <refname>macr2tree</refname>
+ <refpurpose>conversion d'une fonction en arbre</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>t=macr2tree(nom-de-fonction)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>nom-de-fonction</term>
+ <listitem>
+ <para>une macro Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>un "arbre" Scilab</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette primitive convertit une fonction compilée de Scilab <literal>nom-de-fonction</literal>
+ en arbre (tlists imbriquées) qui code la représentation interne de la fonction.
+ A utiliser avec <literal>tree2code</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/macrovar.xml b/modules/functions/help/fr_FR/macrovar.xml
new file mode 100755
index 000000000..66eab775d
--- /dev/null
+++ b/modules/functions/help/fr_FR/macrovar.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="macrovar">
+ <refnamediv>
+ <refname>macrovar</refname>
+ <refpurpose>variables d'une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>vars = macrovar(fonction)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>vars</term>
+ <listitem>
+ <para>
+ liste, <literal>list(in, out, nolocal, called, locals)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fonction</term>
+ <listitem>
+ <para>nom de la fonction.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Retourne dans une liste l'ensemble des variables utilisées par une fonction.
+ <varname>vars</varname> est une liste de cinq vecteurs colonnes de chaînes de caractères:
+ </para>
+ <simplelist type="inline">
+ <member>
+ <varname>in</varname>: paramètres d'entrée (<code>vars(1)</code>);
+ </member>
+ <member>
+ <varname>out</varname>: paramètres de sortie (<code>vars(2)</code>);
+ </member>
+ <member>
+ <varname>nolocal</varname>: variables référencées qui ne sont pas définies dans la fonction et qui ne sont pas des fonctions (<code>vars(3)</code>);
+ </member>
+ <member>
+ <varname>called</varname>: noms des fonctions appelées (<code>vars(4)</code>);
+ </member>
+ <member>
+ <varname>locals</varname>: variables locales (<code>vars(5)</code>).
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+deff('y = f(x1, x2)', 'loc = 1; y = a*x1+x2-loc');
+vars = macrovar(f)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir Aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/mode.xml b/modules/functions/help/fr_FR/mode.xml
new file mode 100755
index 000000000..45bf7b7b4
--- /dev/null
+++ b/modules/functions/help/fr_FR/mode.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mode" xml:lang="fr">
+ <refnamediv>
+ <refname>mode</refname>
+ <refpurpose>choisit le mode d'exécution des scripts et des
+ fonctions
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>mode(k)
+ k=mode()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Utilisé
+ <emphasis role="bold">
+ <literal>uniquement</literal>
+ </emphasis>
+ dans un script ou une
+ fonction, <literal>mode(k)</literal> permet de choisir le mode d'affichage
+ utilisé pendant l'exécution, suivant la valeur de
+ <literal>k</literal> :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>k = 0</term>
+ <listitem>
+ <para>les nouvelles valeurs des variables sont affichées (voir
+ <link linkend="semicolon">semicolon</link> ou <link linkend="comma">comma</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = -1</term>
+ <listitem>
+ <para>l'exécution est silencieuse (rien n'est affiché :
+ mode par défaut pour les fonctions)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 2</term>
+ <listitem>
+ <para>valeur par défaut retournée au prompt de scilab.</para>
+ <para>veuillez noter que ce mode ne doit pas etre utilisé au prompt mais seulement via un script ou une fonction.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 1 ou k = 3</term>
+ <listitem>
+ <para>les nouvelles valeurs des variables sont affichées,
+ chaque ligne de commande est affichée et
+ précédée de l'invite de commande (mode par
+ défaut pour les scripts lancés par "exec")
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 4 ou k = 7</term>
+ <listitem>
+ <para>les nouvelles valeurs des variables sont affichées,
+ chaque ligne de commande est affichée et
+ précédée de l'invite de commande. L'exécution
+ est interrompue après chaque ligne et reprend après un
+ appui sur la touche entrée/return.
+ </para>
+ <para>Si la touche entrée/return et précédée du
+ caractère "p", l'éxecution est suspendue (voir <link linkend="pause">pause</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k &gt; 7</term>
+ <listitem>
+ <para>mode défini par l'utilisateur. Si vous définissez
+ votre propre mode, il est recommandé d'utiliser des valeurs
+ &gt; 100.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>L'affichage est supprimé dans les fonctions compilées
+ (voir comp). Par défaut les fonctions Scilab sont
+ exécutées en mode silencieux ("-1").
+ </para>
+ <para>Les fonctions incluses dans une bibliothèque de fonctions scilab sont executés avec le mode "-1".</para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="exemple"><![CDATA[
+// copier - coller ces lignes dans scilab
+
+function example_mode( level_mode )
+ mode(level_mode)
+ a = 3
+ disp(mode());
+endfunction
+
+mode(2)
+
+example_mode(0)
+example_mode(-1)
+example_mode(2)
+example_mode(1)
+example_mode(3)
+example_mode(7)
+
+mode(2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="semicolon">semicolon</link>
+ </member>
+ <member>
+ <link linkend="comma">comma</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/profiling/add_profiling.xml b/modules/functions/help/fr_FR/profiling/add_profiling.xml
new file mode 100755
index 000000000..b5271b5e9
--- /dev/null
+++ b/modules/functions/help/fr_FR/profiling/add_profiling.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="add_profiling" xml:lang="en">
+ <refnamediv>
+ <refname>add_profiling</refname>
+ <refpurpose>Active le profiling d'une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>add_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>Une chaine de caractères: le nom de la fonction à profiler</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>add_profiling</literal> ajoute les
+ instructions nécessaires au profiling d'une fonction. Ainsi, lors des appels
+ de cette fonction, le nombre d'appels et le temps d'exécution de chaque ligne sont stockés.
+ Ces données peuvent être ensuite retournées avec la fonction <link linkend="profile">profile</link>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //execution de la fonction
+profile(foo) //extraction des informations de profil
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Fonctions utilisées</title>
+ <para>
+ Cette fonction utilise les fonctions Scilab <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/profiling/profile.xml b/modules/functions/help/fr_FR/profiling/profile.xml
new file mode 100755
index 000000000..98d25f5b8
--- /dev/null
+++ b/modules/functions/help/fr_FR/profiling/profile.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON
+ * Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="profile">
+ <refnamediv>
+ <refname>profile</refname>
+ <refpurpose>Renvoie les résultats du profiling d'une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>c = profile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>une fonction Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>une matrice nx3 contenant les résultats de profiling :
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>c(i,1)</literal> : nombre de fois que la ligne i de la fonction a été executée
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>c(i,2)</literal> : temps CPU cumulé [en secondes] passé pour exécuter la ligne i de la fonction
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>c(i,3)</literal> : mesure de l'effort de l'interpréteur sur la ligne i de la fonction [unité arbitraire]
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Pour utiliser <literal>profile</literal> sur une fonction, le profiling de la fonction doit d'abord avoir été activé:
+ <itemizedlist>
+ <listitem>
+ <para>
+ soit en utilisant la commande <link linkend="add_profiling">add_profiling</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ou si la fonction a été définie avec la commande <link linkend="deff">deff</link>, en positionnant le paramètre optionel de <link linkend="deff">deff</link> à "p".
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Une fois que la function a été exécutée, l'appel de <literal>profile</literal> renvoie une matrice, où chaque ligne contient les résultats de profiling de la ligne correspondante de la fonction (en comptant la ligne d'entête), c'est à dire le nombre de passages, ou le temps total passé par le CPU dans cette ligne, et une mesure de l'effort de l'interpréteur pour interpréter la ligne, comme suit:
+ </para>
+ <para>
+ <informaltable border="1">
+ <tr>
+ <td>Nombre d'appels</td><td>Temps total CPU (s)</td><td>Effort interpréteur</td>
+ </tr>
+ <tr>
+ <td>1</td><td>0</td><td>0</td>
+ </tr>
+ <tr>
+ <td>300</td><td>0.1</td><td>0</td>
+ </tr>
+ <tr>
+ <td>300</td><td>3,59</td><td>5</td>
+ </tr>
+ <tr>
+ <td>...</td><td>...</td><td>...</td>
+ </tr>
+ </informaltable>
+ </para>
+ <para>
+ Ici nous pouvons voir que la 3ème ligne de la fonction a été appelée 300 fois pour un temps total CPU de 3,59 secondes.
+ </para>
+ <para>
+ Note: en raison de la limite de précision de mesure de temps CPU (en général une micro seconde), certaines lignes dont l'exécution est très rapide peuvent apparaitre avec un temps CPU cumulé à 0.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// Fonction qui est profilée
+function x = foo(n)
+ if n > 0 then
+ x = 0;
+ for k = 1:n
+ s = svd(rand(n, n));
+ x = x + s(1);
+ end
+ else
+ x = [];
+ end
+endfunction
+
+// Active le profiling de la fonction
+add_profiling("foo");
+
+// Exécute la fonction
+foo(200);
+
+// Renvoie les résultats de profiling de la fonction
+profile(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="showprofile">showprofile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/profiling/remove_profiling.xml b/modules/functions/help/fr_FR/profiling/remove_profiling.xml
new file mode 100755
index 000000000..9528b6130
--- /dev/null
+++ b/modules/functions/help/fr_FR/profiling/remove_profiling.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="remove_profiling" xml:lang="en">
+ <refnamediv>
+ <refname>remove_profiling</refname>
+ <refpurpose>Désactive le profiling d'une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>remove_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>Une chaine de caractères: le nom de la fonction profilée.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>remove_profiling</literal> supprime les
+ instructions nécessaires au profiling d'une fonction.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //execution de la fonction
+profile(foo) //extraction des informations de profil
+remove_profiling("foo")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Fonctions utilisées</title>
+ <para>
+ Cette fonction utilise les fonctions Scilab <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/profiling/reset_profiling.xml b/modules/functions/help/fr_FR/profiling/reset_profiling.xml
new file mode 100755
index 000000000..f2cbfd3d4
--- /dev/null
+++ b/modules/functions/help/fr_FR/profiling/reset_profiling.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="reset_profiling" xml:lang="en">
+ <refnamediv>
+ <refname>reset_profiling</refname>
+ <refpurpose>remet à zéro les compteurs de profil du code d'une fonction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>reset_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>Une chaine de caractères: le nom de la fonction</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>reset_profiling(funname)</literal> remet à
+ zéro les compteurs de profil du code de la fonction dont le nom
+ est donné par <literal>funname</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //execution de la fonction
+profile(foo) //extraction des informations de profil
+reset_profiling("foo")
+profile(foo) //extraction des informations de profil
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Fonctions utilisées</title>
+ <para>
+ Cette fonction utilise les fonctions Scilab <literal>bytecode</literal> and
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/fr_FR/sciargs.xml b/modules/functions/help/fr_FR/sciargs.xml
new file mode 100755
index 000000000..b31293e0a
--- /dev/null
+++ b/modules/functions/help/fr_FR/sciargs.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="sciargs">
+ <refnamediv>
+ <refname>sciargs</refname>
+ <refpurpose>arguments sur la ligne de commande Scilab </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>args = sciargs()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette fonction renvoie un vecteur ligne de chaînes de caractères contenant les
+ arguments de la commande de lancement de Scilab. Le premier terme du vecteur <literal>args</literal> contient le nom complet (avec le chemin) du fichier exécutable de Scilab.
+ </para>
+ <para>
+ Cette fonction correspond à la fonction <literal>getarg</literal> en langage C.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getenv">getenv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ja_JP/addchapter.sce b/modules/functions/help/ja_JP/addchapter.sce
new file mode 100755
index 000000000..446f3b3fa
--- /dev/null
+++ b/modules/functions/help/ja_JP/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Functions",SCI+"/modules/functions/help/ja_JP",%T);
+
diff --git a/modules/functions/help/ja_JP/argn.xml b/modules/functions/help/ja_JP/argn.xml
new file mode 100755
index 000000000..988e34363
--- /dev/null
+++ b/modules/functions/help/ja_JP/argn.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="argn">
+
+ <refnamediv>
+
+ <refname>argn</refname>
+
+ <refpurpose>関数コールの入力/出力引数の数を返す</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>[lhs [,rhs] ]=argn()
+
+ lhs=argn(1)
+
+ rhs=argn(2)
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ この関数は関数定義の内部で使用されます.
+
+ この関数は関数がコールされた際に関数に指定された実際の入力引数(<varname>lhs</varname>)と
+
+ 出力引数(<varname>lhs</varname>) の数を出力します.
+
+ 通常,関数の定義においてオプションの引数を処理する際に使用されます.
+
+ </para>
+
+ <para>
+
+ <note>
+
+ <varname>lhs</varname> は常に1以上であることに注意してください.
+
+ 言い換えると,関数が出力引数なしにコールされた場合であっても,
+
+ <varname>lhs</varname> は 1 となります.
+
+ </note>
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+function concat=myOwnFunction(name,optional)
+ [lhs,rhs]=argn(0)
+ if rhs <= 1 then
+ optional="my Optional value"
+ end
+ if rhs == 0 then
+ error("Expect at least one argument")
+ end
+ concat=name+" "+optional
+endfunction
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="varargin">varargin</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/CHAPTER b/modules/functions/help/ja_JP/built_in/CHAPTER
new file mode 100755
index 000000000..4beffcea0
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/CHAPTER
@@ -0,0 +1,2 @@
+title = Built-in & external
+
diff --git a/modules/functions/help/ja_JP/built_in/clearfun.xml b/modules/functions/help/ja_JP/built_in/clearfun.xml
new file mode 100755
index 000000000..4146592e8
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/clearfun.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="clearfun">
+
+ <refnamediv>
+
+ <refname>clearfun</refname>
+
+ <refpurpose>プリミティブ(組み込み関数)を削除</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>ret=clearfun('name')</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>'name'</term>
+
+ <listitem>
+
+ <para>プリミティブの名前</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>ret</term>
+
+ <listitem>
+
+ <para>論理値</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>clearfun('name')</literal> は,
+
+ プリミティブ(組み込み関数)の集合から
+
+ プリミティブ<literal>'name'</literal>を削除します.
+
+ <literal>clearfun</literal>は,
+
+ <literal>%t</literal> または <literal>%f</literal>を返します.
+
+ この関数によりプリミティブをリネームすることが可能になります :
+
+ Scilab プリミティブをユーザが定義した関数で置換することが
+
+ できます.
+
+ この関数は,エキスパート用です...
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="newfun">newfun</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="funptr">funptr</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/external.xml b/modules/functions/help/ja_JP/built_in/external.xml
new file mode 100755
index 000000000..e70abda86
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/external.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="external">
+
+ <refnamediv>
+
+ <refname>external</refname>
+
+ <refpurpose>Scilabオブジェクト, 外部関数またはルーチン</refpurpose>
+
+ </refnamediv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 特定のコマンドで使用する外部関数またはルーチン.
+
+ </para>
+
+ <para>
+
+ "external" は,
+
+ (<literal>ode</literal>, <literal>optim</literal>, <literal>schur</literal>...
+
+ のような)
+
+ いくつかの高レベルプリミティブの引数として使用される
+
+ 関数またはルーチンです.
+
+ </para>
+
+ <para>
+
+ external (関数またはルーチン)の呼び出し手順は,
+
+ external の引数を設定する高レベルプリミティブにより
+
+ 規定されています.
+
+ </para>
+
+ <para>
+
+ 例えば, 外部関数 <literal>costfunc</literal> は,
+
+ <literal>optim</literal> プリミティブの引数です.
+
+ その呼出し手順は次のようになります: <literal>[f,g,ind]=costfunc(x,ind)</literal>
+
+ そして <literal>optim</literal> (高レベル最適化プリミティブ)は
+
+ 以下のようにコールされます
+
+ </para>
+
+ <programlisting role=""><![CDATA[
+optim(costfunc,...)
+ ]]></programlisting>
+
+ <para>
+
+ ここで, <literal>costfunc</literal> (評価関数はプリミティブ
+
+ <literal>optim</literal>により最小化されます)は,
+
+ <literal>f=f(x)</literal> および<literal>x</literal>における
+
+ <literal>f</literal>の傾き<literal>g</literal>を評価します
+
+ (<literal>ind</literal> は整数です. その使用法は
+
+ <literal>optim</literal>ヘルプに詳述されています).
+
+ </para>
+
+ <para>
+
+ その他の値が外部関数により必要とされる場合,
+
+ これらの変数をその環境において定義することができます.
+
+ また, 外部関数をリスト内に置くことができます.
+
+ 例えば,外部関数
+
+ </para>
+
+ <programlisting role=""><![CDATA[
+[f,g,ind]=costfunc(x,ind,a,b,c)
+ ]]></programlisting>
+
+ <para>
+
+ は, external が
+
+ <literal>list(costfunc,a,b,c)</literal>の場合,
+
+ <literal>optim</literal>に適用できます.
+
+ そして, <literal>optim</literal>へのコールは
+
+ 以下のようになります:
+
+ </para>
+
+ <programlisting role=""><![CDATA[
+optim(list(costfunc,a1,b1,c1),....
+ ]]></programlisting>
+
+ <para>
+
+ externalはFortranまたはCルーチンとすることもできます:
+
+ これは計算を高速化するために有用です.
+
+ </para>
+
+ <para>
+
+ ルーチンの名前は文字列として高レベルプリミティブに
+
+ 指定することができます.
+
+ このルーチンの呼び出し手順も規定されています.
+
+ </para>
+
+ <para>
+
+ 外部FortranまたはCルーチンも動的にリンクできます
+
+ (<literal>link</literal>参照).
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="ode">ode</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="optim">optim</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="impl">impl</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="dassl">dassl</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="intg">intg</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="schur">schur</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="gschur">gschur</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/funptr.xml b/modules/functions/help/ja_JP/built_in/funptr.xml
new file mode 100755
index 000000000..f560f7602
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/funptr.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="funptr">
+
+ <refnamediv>
+
+ <refname>funptr</refname>
+
+ <refpurpose>プリミティブのコーディング ( 上級者向け ) </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>[numptr] = funptr(name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>name</term>
+
+ <listitem>
+
+ <para>文字列,プリミティブの名前</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>numptr</term>
+
+ <listitem>
+
+ <para>プリミティブの内部ルーチン番号</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ プリミティブ<literal>'name'</literal>の
+
+ 内部的なルーチン番号<literal>numptr</literal>を取得するためのユーティリティ関数(上級者専用).
+
+ <literal>numptr</literal> は,インターフェイス番号 <literal>fun</literal>および
+
+ そのインターフェイス内のプリミティブのルーチン番号 <literal>fin</literal>により
+
+ <literal>numptr = 1000*fun + fin</literal> (fin &lt; 1000) のように計算されます.
+
+ <literal>numptr</literal> により, インターフェイス番号 <literal>fun = floor(numptr/1000)</literal>
+
+ を得ることができます.
+
+ この番号は,参照渡しの引数を有する動的インターフェイスにリンクする際に有用です
+
+ (以下の例を参照).
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// Suppose you want to load some codes via the dynamic
+// loading facilities offers by addinter. By default
+// arguments are passed by values but if you want to
+// pass them by reference you can do the following
+// (name being the scilab name of one of the interfaced
+// routines) :
+//
+// addinter(files,spnames,fcts) // args passed by values
+// num_interface = floor(funptr(name)/1000)
+// intppty(num_interface) // args now passed by reference
+//
+// Note that if you enter the following
+//
+// intppty()
+//
+// you will see all the interfaces working by reference
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="clearfun">clearfun</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="newfun">newfun</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="intppty">intppty</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="addinter">addinter</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/intppty.xml b/modules/functions/help/ja_JP/built_in/intppty.xml
new file mode 100755
index 000000000..dd3e03a24
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/intppty.xml
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="intppty">
+
+ <refnamediv>
+
+ <refname>intppty</refname>
+
+ <refpurpose>プロパティを指定するインターフェイス引数を指定</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>funs=intppty()
+
+ intppty(fun)
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>
+ 整数, インターフェイス番号 (<link linkend="funptr">funptr</link>参照)
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>funs</term>
+
+ <listitem>
+
+ <para>整数ベクトル, インターフェイス番号のベクトル
+
+ (<link linkend="funptr">funptr</link>参照)
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ インターフェイスプログラムでは,関数の引数を渡す手順を
+
+ 2種類の異なる手法で記述することができます.
+
+ </para>
+
+ <para>
+
+ 最初のデフォルトの方法の場合,
+
+ 引数は値で渡されます.
+
+ これは以下の構文となります:
+
+ </para>
+
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+
+ <para>
+
+ <literal>A</literal>で指定した引数は値で渡され
+
+ (<literal>foo</literal>がコールされる前に
+
+ <literal>A</literal>のコピーが作成されます),
+
+ <literal>1+2</literal>で指定した引数も値で渡されます.
+
+ </para>
+
+ <para>
+
+ 2番目の方法では,"名前付きの引数"がある場合,
+
+ 引数をリファレンスで渡すことができます
+
+ (変数の値のコピーは行われません).
+
+
+
+ <literal>fun&gt;0</literal>を指定して<literal>intppty(fun)</literal>とすると,
+
+ 番号 <literal>fun</literal>のインターフェイスにより
+
+ リファレンスに渡しの引数を処理できることがScilabに伝えられます.
+
+ 以下の構文の場合:
+
+ </para>
+
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+
+ <para>
+
+ <literal>A</literal> が指す引数はリファレンス渡しされ,
+
+ <literal>1+2</literal> が指す引数は値で渡されます.
+
+ </para>
+
+ <para>
+
+ <warning>
+
+ 番号<literal>fun</literal>のインターフェイスを宣言することにより,
+
+ 予測不能な結果を生み出す場合でない限り,
+
+ リファレンス渡しの引数を処理できることに注意してください.
+
+ </warning>
+
+ </para>
+
+ <para>
+
+ <literal>fun&lt;0</literal>の場合の<literal>intppty(fun)</literal>は
+
+ インターフェイス<literal>-fun</literal>に関して
+
+ その使用を停止します.
+
+ </para>
+
+ <para>
+
+ <literal>intppty()</literal> は,
+
+ 参照渡しされる引数を処理するインターフェイスのベクトルを返します.
+
+ </para>
+
+ <para>
+
+ この関数は動的にロードされるインターフェイスの場合に有用です
+
+ (<link linkend="addinter">addinter</link>参照).
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="funptr">funptr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="addinter">addinter</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/newfun.xml b/modules/functions/help/ja_JP/built_in/newfun.xml
new file mode 100755
index 000000000..7b1ea2e29
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/newfun.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="newfun">
+
+ <refnamediv>
+
+ <refname>newfun</refname>
+
+ <refpurpose>関数のテーブルに名前を追加する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>newfun(function_name, function_ptr)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>function_name</term>
+
+ <listitem>
+
+ <para>文字列, 有効な関数名を指定する</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>function_ptr</term>
+
+ <listitem>
+
+ <para>整数値を有する正の数 (以下参照)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>ユーティリティ関数 (上級者専用). </para>
+
+ <para>
+
+ 名前 <literal>function-name</literal>を
+
+ インタプリタに既知の関数テーブルに追加します.
+
+ </para>
+
+ <para>
+
+ <literal>function_ptr</literal>は整数<literal>1000*fun+fin</literal>です.
+
+ ただし,<literal>fun</literal> および <literal>fin</literal>は,
+
+ プリミティブ<literal>function_name</literal>の内部的なコーディングです.
+
+ </para>
+
+ <para>
+
+ この関数は,プリミティブを
+
+ <literal>"gw_user.c"</literal> でコールされるゲートウェイ
+
+ (<literal>fun=14</literal>)に関連付ける際に有用です.
+
+ ただし,
+
+ <link linkend="ilib_build">ilib_build</link>関数が
+
+ C, C++ または Fortranコードに基づき新しい関数で
+
+ Scilabを拡張するためのより簡単な方法であることに注意してください.
+
+ </para>
+
+ <para>
+
+ この関数は,既存のプリミティブ関数にエイリアスを追加したり,
+
+ リネームする場合にも使用可能です.
+
+ </para>
+
+ <para>
+
+ <literal>funptr</literal> および <literal>clearfun</literal>
+
+ と共に使用すると,既存のプリミティブ関数にエイリアスを
+
+ 追加したり, リネームすることができます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+ absptr=funptr("abs");// get the function_ptr associated with the abs function
+ newfun("abs_bis",absptr) // create an alias of the abs function
+ abs_bis(-1+%i)
+ clearfun("abs") // remove abs as a known function
+
+ //redefine abs
+ function y=abs(x)
+ y=abs_bis(real(x));
+ endfunction
+
+ abs(-1+%i)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="clearfun">clearfun</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="funptr">funptr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="ilib_build">ilib_build</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/readgateway.xml b/modules/functions/help/ja_JP/built_in/readgateway.xml
new file mode 100755
index 000000000..08e8c8b4e
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/readgateway.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="readgateway" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>readgateway</refname>
+
+ <refpurpose>モジュールのプリミティブの一覧を取得</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>readgateway(module_name)
+
+ primitives = readgateway(module_name);
+
+ [primitives,primitivesID] = readgateway(module_name);
+
+ [primitives,primitivesID,gatewayID] = readgateway(module_name);
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>module_name</term>
+
+ <listitem>
+
+ <para>文字列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>primitives, primitivesID, gatewayID</term>
+
+ <listitem>
+
+ <para>文字列の行列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>readgateway(module_name)</literal>は,
+
+ <literal>module_name</literal>の
+
+ プリミティブの一覧を取得します.
+
+ </para>
+
+ <para>
+
+ <literal>primitives</literal>: <literal>module_name</literal>のプリミティブの一覧.
+
+ </para>
+
+ <para>
+
+ <literal>primitivesID</literal>: プリミティブのIDの一覧.
+
+ </para>
+
+ <para>
+
+ <literal>gatewayID</literal>: <literal>module_name</literal>に関連するゲートウエイのIDの一覧
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+[primitives,primitivesID,gatewayID] = readgateway('core');
+primitives(1) // 'debug' primitive
+primitivesID(1) // 1 is ID of 'debug' in 'core' gateway
+gatewayID(1) // 13 is ID of 'core' gateway in scilab
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="getmodules">getmodules</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/built_in/what.xml b/modules/functions/help/ja_JP/built_in/what.xml
new file mode 100755
index 000000000..8193820f1
--- /dev/null
+++ b/modules/functions/help/ja_JP/built_in/what.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="what">
+
+ <refnamediv>
+
+ <refname>what</refname>
+
+ <refpurpose>Scilabプリミティブの一覧を得る
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>what()
+
+ [primitives,commands]=what();
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>低レベルプリミティブおよびコマンドの一覧を得ます.</para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/bytecode.xml b/modules/functions/help/ja_JP/bytecode.xml
new file mode 100755
index 000000000..44b0ba213
--- /dev/null
+++ b/modules/functions/help/ja_JP/bytecode.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA Serge Steer
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="bytecode">
+
+ <refnamediv>
+
+ <refname>bytecode</refname>
+
+ <refpurpose>
+
+ Scilab関数を指定すると"バイトコード"をScilab配列に返す,
+
+ またはその逆の処理を行う.
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>
+
+ x = bytecode(f)
+
+ f = bytecode(x)
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>f</term>
+
+ <listitem>
+
+ <para>
+
+ Scilab 関数.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>x</term>
+
+ <listitem>
+
+ <para>
+
+ int32 行ベクトル
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <code>f= bytecode(x)</code>は,
+
+ Scilab関数 <varname>f</varname> の "バイトコード"を
+
+ 整数配列<varname>x</varname>に返します.
+
+ </para>
+
+ <para>
+
+ <code>f= bytecode(x)</code> は,
+
+ Scilabの整数配列 <varname>x</varname> で指定した
+
+ "バイトコード"が示す関数 <varname>f</varname> を
+
+ 返します.
+
+ <warning>
+
+ 警告: <varname>x</varname> の有効性は確認されません.
+
+ </warning>
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>注意</title>
+
+ <para>
+
+ Scilab関数のバイトコードは,将来劇的に進化すると予想されるため,
+
+ この関数はプロファイル命令の処理に限って使用するべきです.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+function a=foo(),a=sin(3),endfunction
+bytecode(foo)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="bytecodewalk">bytecodewalk</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macr2lst">macr2lst</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macr2tree">macr2tree</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/bytecodewalk.xml b/modules/functions/help/ja_JP/bytecodewalk.xml
new file mode 100755
index 000000000..1ff879d80
--- /dev/null
+++ b/modules/functions/help/ja_JP/bytecodewalk.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Ajouter ici d'éventuels commentaires sur le fichier XML
+-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="bytecodewalk">
+
+ <refnamediv>
+
+ <refname>bytecodewalk</refname>
+
+ <refpurpose>
+
+ 関数バイトコードを検索し,変換する.
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>c1 = bytecodewalk(code,query,job)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>code</term>
+
+ <listitem>
+
+ <para>
+
+ int32 ベクトル: 入力バイトコード配列
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>query</term>
+
+ <listitem>
+
+ <para>
+
+ 整数, 検索対象のオペコード
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>job</term>
+
+ <listitem>
+
+ <para>
+
+ 指示するオペコードで実行する処理
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>c1</term>
+
+ <listitem>
+
+ <para>
+
+ int32 ベクトル: 出力バイトコード配列
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 関数バイトコードコードを検索し,
+
+ 変換します.
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="bytecode">bytecode</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/code2str.xml b/modules/functions/help/ja_JP/code2str.xml
new file mode 100755
index 000000000..826ea3898
--- /dev/null
+++ b/modules/functions/help/ja_JP/code2str.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="code2str" xml:lang="en">
+
+ <refnamediv>
+
+ <refname>code2str</refname>
+
+ <refpurpose>
+
+ Scilab整数コードに関連した文字列を返す.
+
+ <emphasis role="bold">この関数は廃止されました.</emphasis>
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>str = code2str(c)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>str</term>
+
+ <listitem>
+
+ <para>文字列.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>c</term>
+
+ <listitem>
+
+ <para>整数コードの文字ベクトル.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <code>str = code2str(c)</code> は
+
+ Scilab整数コードに関連する文字列を返します.
+
+ <varname>str</varname>は,
+
+ <literal>c(i)</literal>が<literal>part(str,i)</literal>の
+
+ Scilab整数コードとなるような文字列です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+code2str([-28 12 18 21 10 11])
+str2code('Scilab')'
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="str2code">str2code</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="ascii">ascii</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="part">part</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>履歴</title>
+
+ <revhistory>
+
+ <revision>
+
+ <revnumber>5.4.0</revnumber>
+
+ <revremark>この関数はScilab 6.0.0で削除されます</revremark>
+
+ </revision>
+
+ </revhistory>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/comp.xml b/modules/functions/help/ja_JP/comp.xml
new file mode 100755
index 000000000..173d3f302
--- /dev/null
+++ b/modules/functions/help/ja_JP/comp.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="comp" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>comp</refname>
+
+ <refpurpose>scilab 関数のコンパイル</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>comp(function [,opt])</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>function</term>
+
+ <listitem>
+
+ <para>コンパイルされていないscilab関数 (タイプ 11)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>opt</term>
+
+ <listitem>
+
+ <para>フラグ. 値は 0 (デフォルト), 1 または 2.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>comp(function)</literal> は関数
+
+ <literal>function</literal>をコンパイルします.
+
+ コンパイル済みの関数と解釈された関数は等価ですが,
+
+ 通常はコンパイル済みの関数の方がはるかに高速です.
+
+ 標準ライブラリとして提供される関数はコンパイルされています.
+
+ </para>
+
+ <para>
+ コマンド<literal>exec</literal>と<literal>deff</literal>の短縮構文と
+
+ 同様に,オンライン定義もコンパイルされた関数を生成します.
+
+ このため, <literal>comp</literal>は非常に特殊な
+
+ ケースで使用するべきです.
+
+ コンパイルされていない関数を作成するには,
+
+ <link linkend="exec">exec</link> または
+
+ <link linkend="deff">deff</link> に
+
+ オプション <literal>"n"</literal> を指定する必要があります.
+
+ </para>
+
+ <para>
+
+ 値 <literal>opt==2</literal>は,"プロファイル用に"コンパイルされた
+
+ 関数を作成します.
+
+ <link linkend="add_profiling">add_profiling</link>関数により,
+
+ コンパイル後でもプロファイル命令を追加することが可能になっています.
+
+ </para>
+
+ <para>
+
+ 廃止された <literal>opt==1</literal>オプションは
+
+ コード解析用であり, 現在では無視されます.
+
+ すなわち,<literal>opt==0</literal>とみなされます.
+
+ </para>
+
+ <para>注意: コンパイルは"インプレース"で行われます, すなわち,
+
+ 元の関数は修正され,新しいオブジェクトは生成されません.
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="type">type</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/deff.xml b/modules/functions/help/ja_JP/deff.xml
new file mode 100755
index 000000000..ed8106351
--- /dev/null
+++ b/modules/functions/help/ja_JP/deff.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="deff">
+
+ <refnamediv>
+
+ <refname>deff</refname>
+
+ <refpurpose>関数のオンライン定義</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>deff('[s1, s2,...] = newfunction(e1, e2,...)',text [,opt])</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>e1, e2, ...</term>
+
+ <listitem>
+
+ <para>入力変数.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>s1, s2, ...</term>
+
+ <listitem>
+
+ <para>出力変数.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>text</term>
+
+ <listitem>
+
+ <para>文字列行列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>opt</term>
+
+ <listitem>
+
+ <para>オプションの文字列:</para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>'c'</term>
+
+ <listitem>
+
+ <para>実行効率改善のために関数は "コンパイル" されます (デフォルト);</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>'p'</term>
+
+ <listitem>
+
+ <para>関数は"コンパイル"され,
+
+ プロファイルに備えます (<link linkend="profile">profile</link>参照);
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>'n'</term>
+
+ <listitem>
+
+ <para>関数は"コンパイル"されません.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <function>deff</function> はテキスト文字列で記述された一連の命令から
+
+ 関数を定義する際に使用されます.
+
+ 得られる関数オブジェクトはテキストファイルで定義され,
+
+ <function>exec</function> または <function>exec</function> で
+
+ 定義された他の関数と同じ特性を有しています.
+
+ </para>
+
+ <para>
+
+ 命令の中の引用符(文字列の区切りまたは行列の転置を意味する)は,
+
+ ただしく解釈されるように二重化する必要があります(<link linkend="quote">quote</link>のヘルプを参照).
+
+ この仕様のため,作成作業はやや不便となります.
+
+ このような場合のオプションとしては,通常と同様に関数を
+
+ ファイルで定義し,
+
+ (<literal>'n'</literal> オプションを付けて)
+
+ <function>exec</function>によりScilabにロードし,
+
+ <function>deff</function> 命令と同じ出力を得るために
+
+ <function>sci2exp</function>を使用するという方法があります.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+deff('[x]=myplus(y,z)','x=y+z')
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y'])
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="quote">quote</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/edit.xml b/modules/functions/help/ja_JP/edit.xml
new file mode 100755
index 000000000..f92b10284
--- /dev/null
+++ b/modules/functions/help/ja_JP/edit.xml
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="edit" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>edit</refname>
+
+ <refpurpose>関数を編集</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>edit(functionname[,linenumber])</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>functionname</term>
+
+ <listitem>
+
+ <para>文字列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>linenumber</term>
+
+ <listitem>
+
+ <para>整数</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>functionname</literal> が定義済みの
+
+ Scilab関数の名前の場合,
+
+ <literal>edit(functionname)</literal> は
+
+ 関連するファイル <literal>functionname.sci</literal> を
+
+ オープンします.
+
+ </para>
+
+ <para>
+
+ <literal>functionname</literal>が未定義のScilab関数の名前の場合,
+
+ <literal>edit</literal> はカレントのディレクトリに
+
+ <literal>functionname.sci</literal>ファイルを作成します.
+
+ </para>
+
+ <para>
+
+ <literal>functionname</literal> が有効なマクロまたは
+
+ 関数名でない場合,
+
+ <literal>edit(functionname)</literal> は
+
+ <literal>functionname</literal>に等しいファイル名を有する
+
+ ファイルをオープンします.
+
+ </para>
+
+ <para>
+
+ <literal>linenumber</literal> が指定された場合,
+
+ ファイルはファイル名自体と同じ名前のマクロの
+
+ 定義を基準としてこの行でオープンします.
+
+ マクロ定義が見つからない場合,
+
+ ファイルが指定した<literal>linenumber</literal>行目で
+
+ オープンされます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+//この関数へのテキストを指定したエディタをオープン
+edit('edit')
+
+//新しい関数に関してエディタをオープン
+edit('myfunction')
+
+//TMPDIRディレクトリのファイルbar.sciをオープン
+edit(fullfile(TMPDIR+'bar.sci'))
+
+// test_run()の定義を基準として
+// ファイルtest_run.sciの123行目をオープン
+edit('test_run', 123)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="manedit">manedit</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="names">names</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="editor">editor</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/exec.xml b/modules/functions/help/ja_JP/exec.xml
new file mode 100755
index 000000000..fcd0636d5
--- /dev/null
+++ b/modules/functions/help/ja_JP/exec.xml
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="exec">
+
+ <refnamediv>
+
+ <refname>exec</refname>
+
+ <refpurpose>スクリプトファイルを実行する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>exec(path [,mode])
+
+ exec(fun [,mode])
+
+ ierr = exec(path, 'errcatch' [,mode])
+
+ ierr = exec(fun, 'errcatch' [,mode])
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>path</term>
+
+ <listitem>
+
+ <para>文字列, スクリプトファイルへのパス</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>mode</term>
+
+ <listitem>
+
+ <para>整数スカラー,実行モード (以下参照)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>scilab 関数</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>ierr</term>
+
+ <listitem>
+
+ <para>整数, 0 またはエラー番号</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <code>exec(path [,mode])</code> は,
+
+ <varname>path</varname>で指定したファイルの中のオプションの
+
+ 実行モード<varname>mode</varname> でScilab命令を逐次実行します.
+
+ </para>
+
+ <para>
+
+ 以下の <varname>mode</varname> を指定できます :
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>0</term>
+
+ <listitem>
+
+ <para>
+
+ デフォルト値.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>-1</term>
+
+ <listitem>
+
+ <para>
+
+ 何も出力しない.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>1</term>
+
+ <listitem>
+
+ <para>
+
+ 各コマンド行を出力(エコーバック)する.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>2</term>
+
+ <listitem>
+
+ <para>
+
+ プロンプト <literal>--&gt;</literal> を出力する.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>3</term>
+
+ <listitem>
+
+ <para>
+
+ エコー + プロンプト.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>4</term>
+
+ <listitem>
+
+ <para>
+
+ 各プロンプト出力の前に停止します. キャレッジリターンを入力すると実行が再開します.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>7</term>
+
+ <listitem>
+
+ <para>
+
+ 停止 + プロンプト + エコー : デモを行う際に有用なモード.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <para>
+
+ <code>exec(fun [,mode])</code> は関数
+
+ <varname>fun</varname> をスクリプトとして実行します:
+
+ 入出力の引数も特定の変数環境もありません.
+
+ スクリプトコードはプリコンパイル(<link linkend="comp">comp</link>参照)
+
+ できるため,この形式は最も効率的です.
+
+ スクリプト評価のこの方法により,スクリプトをライブラリの
+
+ 関数として保存することが可能になります.
+
+ </para>
+
+ <para>
+
+ 実行時にエラーが発生し,
+
+ <literal>'errcatch'</literal>フラグが指定されている場合,
+
+ <function>exec</function>はエラーメッセージを出力せずに
+
+ 命令を実行を破棄し,エラー番号を<varname>ierr</varname>に
+
+ 代入して復帰します.
+
+ <literal>'errcatch'</literal> フラグが存在しない場合,標準のエラー処理が
+
+ 機能します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>注意</title>
+
+ <para>
+
+ <function>exec</function> ファイルは,
+
+ インライン関数定義構文(関数の項参照)により関数を定義する際に使用されます
+
+ (<link linkend="function">function</link>参照).
+
+ </para>
+
+ <para>
+
+ <function>exec</function> はANSI/アスキー および UTF-8 エンコード
+
+ されたファイルをサポートします.
+
+ </para>
+
+ <para>ファイル中の各行の長さは 4096 文字に制限されています.</para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// スクリプトファイルを作成
+mputl('a=1;b=2',TMPDIR+'/myscript')
+// スクリプトを実行
+exec(TMPDIR+'/myscript')
+whos -name "a "
+// 関数を作成
+deff('y=foo(x)','a=x+1;y=a^2')
+clear a b
+// 関数をコール
+foo(1)
+// a は関数 foo の環境に作成された変数
+// この変数は foo がリターンする時に破棄されます
+whos -name "a "
+x=1 // xを作成し,スクリプトfooによりアクセス可能とする.
+exec(foo)
+// カレントの環境にa と y が作成されました
+whos -name "a "
+whos -name "y "
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="execstr">execstr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="evstr">evstr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="mode">mode</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="chdir">chdir</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="pwd">pwd</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/execstr.xml b/modules/functions/help/ja_JP/execstr.xml
new file mode 100755
index 000000000..88b68dbbe
--- /dev/null
+++ b/modules/functions/help/ja_JP/execstr.xml
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="execstr">
+
+ <refnamediv>
+
+ <refname>execstr</refname>
+
+ <refpurpose>文字列中のScilabコードを実行</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>execstr(instr)
+
+ ierr = execstr(instr, 'errcatch' [,msg])
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>instr</term>
+
+ <listitem>
+
+ <para>文字列のベクトル, 実行するScilab命令.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>ierr</term>
+
+ <listitem>
+
+ <para>整数, 0 ばたはエラー番号.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>msg</term>
+
+ <listitem>
+
+ <para>
+
+ 値<literal>'m'</literal> または<literal>'n'</literal>
+
+ を有する文字列.
+
+ デフォルト値は<literal>'n'</literal>.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 引数<varname>instr</varname>で指定したScilab命令を実行します.
+
+ </para>
+
+ <note>
+
+ <varname>instr</varname>の中では継続記号 (..) を使用する
+
+ べきではないことに注意してください.
+
+ </note>
+
+ <para>
+
+ <literal>'errcatch'</literal>フラグが指定されない場合,
+
+ エラー処理は通常と同様に行われます.
+
+ </para>
+
+ <para>
+
+ <literal>'errcatch'</literal>フラグが指定された場合,
+
+ <varname>instr</varname>で定義された命令を実行す際に
+
+ 発生したエラーはエラーメッセージを発生せず,
+
+ <varname>instr</varname> 命令の実行を
+
+ (エラーが発生した場所で)破棄し,
+
+ エラー番号に等しい<varname>ierr</varname>を返して
+
+ 復帰します.
+
+ この場合,エラーメッセージの出力は
+
+ <varname>msg</varname>オプションにより次のように
+
+ 制御されます:
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>"m"</term>
+
+ <listitem>
+
+ <para>エラーメッセージは表示され,記録されます.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>"n"</term>
+
+ <listitem>
+
+ <para>
+
+ エラーメッセージは表示されませんが,
+
+ 記録されます ( <link linkend="lasterror">lasterror</link>参照).
+
+ これがデフォルトです.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <para>
+
+ <code>ierr = execstr(instr, 'errcatch')</code> は構文エラーも
+
+ 処理することができます.
+
+ この特徴は,ユーザへの問い合わせにより得られた命令を
+
+ 評価する際に有用です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+execstr('a=1') // sets a=1.
+execstr('1+1') // does nothing (while evstr('1+1') returns 2)
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+execstr('a=zzzzzzz','errcatch')
+execstr('a=zzzzzzz','errcatch','m')
+//syntax errors
+execstr('a=1?02','errcatch')
+lasterror(%t)
+execstr('a=[1 2 3)','errcatch')
+lasterror(%t)
+// variable1 does not exist
+if execstr('variable1;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+// variable2 exists ... no error is triggered by execstr
+variable2=[2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="evstr">evstr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lasterror">lasterror</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="error">error</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="try">try</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/fun2string.xml b/modules/functions/help/ja_JP/fun2string.xml
new file mode 100755
index 000000000..82ab8794c
--- /dev/null
+++ b/modules/functions/help/ja_JP/fun2string.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fun2string">
+
+ <refnamediv>
+
+ <refname>fun2string</refname>
+
+ <refpurpose>Scilab関数のアスキー定義を生成する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>txt = fun2string(fun, name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>
+ <literal>function</literal>型変数
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>name</term>
+
+ <listitem>
+
+ <para>文字列, 生成した関数名</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>txt</term>
+
+ <listitem>
+
+ <para>文字列の列ベクトル, Scilab関数を指定するテキスト</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ ロード済みのScilab関数の擬似コードを指定すると,
+
+ <function>fun2string</function> により,
+
+ そのコードを再度生成することができます.
+
+ 生成したコードはインデントされ, 整形されます.
+
+ </para>
+
+ <para>
+
+ 仕組みは<function>mfile2sci</function>に似ていますが, より簡単です.
+
+ 構文の変換に使用することも可能です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+txt = fun2string(asinh,'foo');
+write(%io(2),txt,'(a)')
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="edit">edit</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macrovar">macrovar</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/funcprot.xml b/modules/functions/help/ja_JP/funcprot.xml
new file mode 100755
index 000000000..1250e710e
--- /dev/null
+++ b/modules/functions/help/ja_JP/funcprot.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="funcprot">
+
+ <refnamediv>
+
+ <refname>funcprot</refname>
+
+ <refpurpose>Scilab関数保護モードを切替える</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>funcprot(prot)
+
+ previousprot = funcprot(prot)
+
+ prot = funcprot()
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>prot</term>
+
+ <listitem>
+
+ <para>
+
+ 整数で,指定可能な値は 0,1,2となります
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>previousprot</term>
+
+ <listitem>
+
+ <para>
+
+ 整数で,指定可能な値は 0,1,2,
+
+ 前の値を返します
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ Scilab 関数が変数の場合,
+
+ <function>funcprot</function> によりこのような変数が再定義された場合の
+
+ Scilabの動作をユーザが指定することができます.
+
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <code>prot==0</code> の場合, 何も特別なことは行われません
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ <code>prot==1</code> の場合, 関数が再定義された時に
+
+ 警告メッセージを出力します (デフォルトのモード).
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ <code>prot==2</code> の場合,関数が再定義された時に
+
+ Scilabはエラーを発生します.
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+previousprot = funcprot(1)
+deff('x = foo(a)','x = a;')
+deff('x = foo(a)','x = a + 1;')
+foo = 33
+funcprot(0)
+deff('x = foo(a)', 'x = a;')
+deff('x = foo(a)', 'x = a + 1;')
+foo = 33
+funcprot(previousprot)
+]]></programlisting>
+
+ </refsection>
+
+ <refsection>
+
+ <title>History</title>
+
+ <revhistory>
+
+ <revision>
+
+ <revnumber>5.4.0</revnumber>
+
+ <revremark>
+
+ 前の値は,新規値を設定する際に
+
+ 出力引数として返されます.
+
+ </revremark>
+
+ </revision>
+
+ </revhistory>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/function.xml b/modules/functions/help/ja_JP/function.xml
new file mode 100755
index 000000000..277b19aec
--- /dev/null
+++ b/modules/functions/help/ja_JP/function.xml
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="function">
+
+ <refnamediv>
+
+ <refname>function</refname>
+
+ <refpurpose>関数定義をオープンする</refpurpose>
+
+ </refnamediv>
+
+ <refnamediv xml:id="endfunction">
+
+ <refname>endfunction</refname>
+
+ <refpurpose>関数定義を閉じる</refpurpose>
+
+ </refnamediv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <programlisting role='no-scilab-exec'><![CDATA[
+function <lhs_arguments>=<function_name><rhs_arguments>
+ <statements>
+endfunction
+ ]]></programlisting>
+
+ <para>
+
+ ただし,
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>&lt;function_name&gt;</term>
+
+ <listitem>
+
+ <para>は関数の名前を意味します.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>&lt;rhs_arguments&gt;</term>
+
+ <listitem>
+
+ <para>は入力引数のリストを意味します.</para>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <literal>(x1,...,xm)</literal>のように括弧で括った
+
+ カンマ区切りの変数名の一覧となります.
+
+ 最後の変数名はキーワード<literal>varargin</literal>と
+
+ することも可能です
+
+ (<link linkend="varargin">varargin</link> 参照)
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ 関数に入力引数がない場合, <literal>()</literal> または
+
+ 何も付けません.
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>&lt;lhs_arguments&gt;</term>
+
+ <listitem>
+
+ <para>は出力引数のリストを意味します.</para>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ これは,<literal>[y1,...,yn]</literal>のように角括弧で括った
+
+ カンマ区切りの変数名の一覧となります.
+
+ 最後の変数名はキーワード <literal>varargout</literal>
+
+ (<link linkend="varargout">varargout</link> 参照)とすること
+
+ が可能です.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ 関数が出力引数を持たない場合,<literal>[]</literal> を指定します.
+
+ この場合,構文を以下のようにすることも可能です:
+
+ <literal>function &lt;function_name&gt;&lt;rhs_arguments&gt;</literal>
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>&lt;statements&gt;</term>
+
+ <listitem>
+
+ <para>
+
+ Scilab命令(ステートメント)の集合を意味します.
+
+ この構文は,インラインまたはスクリプトファイル(exec 参照)の中で
+
+ 関数を定義する (<link linkend="functions">functions</link> 参照)ために使用できます.
+
+ 古いバージョンのScilabとの互換性のため,
+
+ function 定義のみを含むスクリプトファイルで定義された関数は,
+
+ <literal>exec</literal>関数によりScilabに"ロードする"ことができます.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <para>
+
+ <literal>function &lt;lhs_arguments&gt;=&lt;function_name&gt;&lt;rhs_arguments&gt;</literal>
+
+ のシーケンスは複数の行に分割することができません.
+
+ このシーケンスはカンマまたはセミコロンを終端に付けることにより,
+
+ 同じ行に命令を続けることができます.
+
+ </para>
+
+ <note>
+
+ <literal>&lt;function_name&gt;</literal> は
+
+ いくつかの構文規則に従う必要があることに注意してください
+
+ (<link linkend="names">names</link>参照).
+
+ </note>
+
+ <para>
+
+ function の定義はネストすることが可能です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+//インライン定義 (function参照)
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//1行で関数定義
+function y=sq(x),y=x^2,endfunction
+
+sq(3)
+
+//関数定義のネスト
+function y=foo(x)
+a=sin(x)
+function y=sq(x), y=x^2,endfunction
+y=sq(a)+1
+endfunction
+
+foo(%pi/3)
+
+// スクリプトファイル内での定義 (exec参照)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="functions">functions</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="names">names</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/functions.xml b/modules/functions/help/ja_JP/functions.xml
new file mode 100755
index 000000000..eb8286238
--- /dev/null
+++ b/modules/functions/help/ja_JP/functions.xml
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="functions">
+
+ <refnamediv>
+
+ <refname>functions</refname>
+
+ <refpurpose>Scilab プロシージャおよび Scilab オブジェクト</refpurpose>
+
+ </refnamediv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>functions は Scilab プロシージャです
+
+ "macro", "function" および
+
+ "procedure"は同じ意味を有します).
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>関数定義</title>
+
+ <para>
+
+ 通常,これらはエディタによりファイルで定義され,
+
+ <link linkend="exec">exec</link>関数またはライブラリ
+
+ (<link linkend="lib">lib</link> または
+
+ <link linkend="genlib">genlib</link>参照)
+
+ によりScilabにロードされます.
+
+ しかし,オンライン定義
+
+ (<link linkend="deff">deff</link> または
+
+ <link linkend="function">function</link>参照)
+
+ することも可能です.
+
+ 関数は以下の2つの要素により定義されます::
+
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>以下のような "構文定義" 部:</para>
+
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
+ ]]></programlisting>
+
+ </listitem>
+
+ <listitem>
+
+ <para>一連のScilab命令.</para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ <para>"構文定義" 行はこの関数の"完全な"呼び出し手順を指定します.
+
+ <literal>yi</literal> は,入力変数<literal>xi</literal>と
+
+ その関数が実行された際にScilabに存在する変数の関数として
+
+ 計算される出力変数です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>呼び出し手順</title>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ 通常,関数の呼び出し手順は
+
+ <literal>[y1,...,yn]=foo(x1,...,xm)</literal>となります.
+
+ 入力または出力引数の一覧を定義より短くすることができます.
+
+ このような場合,
+
+ 左辺の先頭のいくつかの変数のみが使用され設定されます.
+
+ </para>
+
+ <para>
+
+ 呼び出し時の引数の実際の数は,
+
+ <link linkend="argn">argn</link> により取得することができます.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ 入力または出力最大引数の数が不定の
+
+ 関数を定義することができます.
+
+ これは, <link linkend="varargin">varargin</link>および
+
+ <link linkend="varargout">varargout</link>キーワードを
+
+ 使用して行います.
+
+ 詳細は指定したリンクを参照ください.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ 入力引数を指定する際に"名前付きの引数"を使用することも
+
+ 可能です:
+
+ 関数<function>fun1</function>が
+
+ <code>function y1 = fun1(x1, x2, x3)</code>と
+
+ 定義されていると仮定すると,<function>fun1</function>を
+
+ <code>y = fun1(x1=33, x3=[1 2 3])</code>のような
+
+ 構文でコールすることもできます.
+
+ x2 は未定義となります.
+
+ </para>
+
+ <para>
+
+ <code>y = fun1(x1=33, y='foo')</code>のような構文で
+
+ コールすることも可能です.
+
+ このような場合,<varname>y</varname> 変数を
+
+ 関数<function>fun1</function>のコンテキストで
+
+ 利用可能となります.
+
+ <note>
+
+ 引数の最大数は関数構文部で使用される
+
+ 形式的な入力引数の数以下とする必要があることに注意してください.
+
+ </note>
+
+ </para>
+
+ <para>
+
+ 定義された変数を
+
+ <link linkend="exists">exists</link> 関数で
+
+ 確認することができます.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ 関数が左辺の引数を有さず,
+
+ 文字列引数でのみコールされた場合,
+
+ 呼び出し手順を以下のように簡単化できます:
+
+ </para>
+
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun('a','toto','a string')
+ ]]></programlisting>
+
+ <para>は以下と等価です: </para>
+
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun a toto 'a string'
+ ]]></programlisting>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>その他</title>
+
+ <para>
+
+ 関数はScilabオブジェクト(型番号は13または11)です.
+
+ 関数は他の変数型と同様に操作
+
+ (構築, 保存, 読込み, 引数として指定)できます.
+
+ </para>
+
+ <para>
+
+ 関数の集合は,ライブラリに集約できます.
+
+ <literal>%</literal> 記号で始まる関数
+
+ (例: <literal>%foo</literal>)
+
+ は,しばしば新しいデータ型について演算子や関数をオーバーロード
+
+ (<link linkend="overloading">オーバーローディング</link>参照)
+
+ する際に使用されます.
+
+ </para>
+
+ <para>
+
+ 関数名はいくつかの構文規約
+
+ (<link linkend="names">names</link>参照)に従う必要があることに
+
+ 注意してください.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+//インライン定義 (function参照)
+function [x,y]=myfct(a,b)
+ x=a+b
+ y=a-b
+endfunction
+[x,y]=myfct(3,2)
+//インライン定義 (deff参照)
+deff('[x,y]=myfct(a,b)',['x=a+b';
+ 'y=a-b'])
+// アスキーファイルで定義 (exec参照)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="getd">getd</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="genlib">genlib</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exists">exists</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="varargin">varargin</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="varargout">varargout</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/getd.xml b/modules/functions/help/ja_JP/getd.xml
new file mode 100755
index 000000000..cde9223df
--- /dev/null
+++ b/modules/functions/help/ja_JP/getd.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="getd">
+
+ <refnamediv>
+
+ <refname>getd</refname>
+
+ <refpurpose>ディレクトリで定義された全ての関数を取得する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>getd(path)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>path</term>
+
+ <listitem>
+
+ <para>文字列. ディレクトリのパス名</para>
+
+ <para>
+
+ 入力引数を指定さずに<function>getd</function>が
+
+ コールされた場合, または <varname>path</varname>が空文字列の
+
+ 場合, "."
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <varname>path</varname>ディレクトリで定義された
+
+ (Scilab関数を含む)
+
+ 全ての <literal>.sci</literal>ファイルをロードします.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+getd('SCI/modules/cacsd/macros')
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="pwd">pwd</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="chdir">chdir</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/head_comments.xml b/modules/functions/help/ja_JP/head_comments.xml
new file mode 100755
index 000000000..ebb812bab
--- /dev/null
+++ b/modules/functions/help/ja_JP/head_comments.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="head_comments">
+
+ <refnamediv>
+
+ <refname>head_comments</refname>
+
+ <refpurpose>Scilab関数のヘッダのコメントを表示</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>
+
+ head_comments(name)
+
+ head_comments(name,%paths)
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>name</term>
+
+ <listitem>
+
+ <para>文字列, 関数名</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>%paths</term>
+
+ <listitem>
+
+ <para>文字列ベクトル, sci-ファイルを探す場所のパス
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <code>head_comments(name)</code> は,
+
+ (Matlabヘルプのように)
+
+ 関数ヘッダのコメントを表示します.
+
+ コメントは関連する sci-ファイルから読み込まれます.
+
+ <varname>name</varname>がライブラリ中の関数の場合,
+
+ sci-ファイルはライブラリパスで指定したパスとなります
+
+ (<link linkend="lib">lib</link>参照).
+
+ <varname>name</varname>がライブラリ中ではない関数の場合,
+
+ 変数<varname>%paths</varname>で指定したディレクトリの中で
+
+ <varname>name</varname><literal>.sci</literal>という名前のファイルが
+
+ 探されます.
+
+ </para>
+
+ <warning>
+
+ 警告: Scilabのほとんどの定義済みの関数はもはやヘッダコメントを
+
+ 有していません.
+
+ </warning>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+head_comments sinc
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="help">help</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/CHAPTER b/modules/functions/help/ja_JP/libraries/CHAPTER
new file mode 100755
index 000000000..4cd7693b5
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/CHAPTER
@@ -0,0 +1,2 @@
+title = Libraries
+
diff --git a/modules/functions/help/ja_JP/libraries/genlib.xml b/modules/functions/help/ja_JP/libraries/genlib.xml
new file mode 100755
index 000000000..2b6aa5972
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/genlib.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="genlib">
+
+ <refnamediv>
+
+ <refname>genlib</refname>
+
+ <refpurpose>指定したディレクトリの関数からライブラリを構築する </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>genlib(lib_name [[,dir_name, [ Force [,verb [,Names]]]])
+
+ genlib(lib_name [,path=dir_name] [,verbose=verb] [,force=Force] [,names=Names])
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>lib_name: </term>
+
+ <listitem>
+
+ <para>Scilab文字列. (再)作成するライブラリの変数名.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>dir_name: </term>
+
+ <listitem>
+
+ <para>Scilab文字列.
+
+ <literal>.sci</literal>-ファイルを探すディレクトリの名前.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>Force</term>
+
+ <listitem>
+
+ <para>
+
+ 論理値 (デフォルト値は <literal>%f</literal>).
+
+ sci-ファイルの再コンパイルを強制的に行う場合,
+
+ <literal>%t</literal>に設定してください.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>verb</term>
+
+ <listitem>
+
+ <para>
+
+ 論理値 (デフォルト値は <literal>%f</literal>).
+
+ 情報を取得するには <literal>%t</literal> に設定してください.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>Names</term>
+
+ <listitem>
+
+ <para>文字列のベクトルで, ライブラリに含まれる
+
+ 関数の名前です.
+
+ デフォルトで全ての sci-ファイルが取得されます.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>dir_name</literal>にある各<literal>.sci</literal>ファイル
+
+ (または<literal>Names</literal>引数で指定されたファイルのみ)について,
+
+ <literal>genlib</literal>は<literal>exec</literal>を
+
+ 実行し,対応する<literal>.bin</literal>ファイルに関数を保存します.
+
+ <literal>.sci</literal>ファイルにはScilab関数以外のものを含んでは
+
+ いけません.
+
+ ある<literal>.bin</literal>ファイルが対応する<literal>.sci</literal>ファイルよりも
+
+ 新しい場合, <literal>genlib</literal>はこのファイルを変換/保存しません.
+
+ </para>
+
+ <para>
+
+ このデフォルトの動作は<literal>force</literal>が指定され,
+
+ <literal>%t</literal> に設定された場合に変更できます.
+
+ この場合, 各<literal>.sci</literal>ファイル毎に常に再コンパイルが
+
+ 行われます.
+
+ </para>
+
+ <para>
+
+ 全ての<literal>.sci</literal> ファイルが処理された場合,
+
+ <literal>genlib</literal>は<literal>lib_name</literal>という
+
+ 名前のライブラリ変数を作成し,
+
+ <literal>dir_name</literal>の中のファイル<literal>lib</literal>に
+
+ この変数を保存します.
+
+ Scilab変数
+
+ <literal>lib_name</literal>が保護されていない場合
+
+ (<link linkend="predef">predef</link>参照),
+
+ この変数は更新されます.
+
+ </para>
+
+ <para>
+
+ <literal>verbose</literal> に <literal>%t</literal>が
+
+ 指定された場合, 構築処理中に情報が表示されます.
+
+ </para>
+
+ <para>
+
+ <literal>dir_name</literal> 引数が指定されない場合に,
+
+ Scilab変数<literal>lib_name</literal>が存在し,
+
+ それがライブラリの場合,
+
+ dir_name は,
+
+ <literal>lib_name</literal>ライブラリパスに等しく
+
+ 設定されます (更新モード).
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>制約</title>
+
+ <para>
+
+ Scilab は, ファイル<literal>foo.sci</literal>が,
+
+ 少なくとも<literal>foo</literal>という名前の関数を
+
+ 定義すると仮定します.
+
+ 補助関数が含まれる場合,これらは
+
+ 関数<literal>foo</literal>が参照された後でのみ
+
+ Scilabから既知となります.
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="getd">getd</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="save">save</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/get_function_path.xml b/modules/functions/help/ja_JP/libraries/get_function_path.xml
new file mode 100755
index 000000000..0e05b18df
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/get_function_path.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="get_function_path">
+
+ <refnamediv>
+
+ <refname>get_function_path</refname>
+
+ <refpurpose>ライブラリ関数のソースファイルのパスを取得</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>path=get_function_path(fun_name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun_name</term>
+
+ <listitem>
+
+ <para>文字列, 関数名</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>path</term>
+
+ <listitem>
+
+ <para>文字列, 関数ソースファイル(.sci)の絶対パス名または [].</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 関数名を指定すると,
+
+ その関数が Scilab ライブラリ(lib参照)で定義されている場合,
+
+ get_function_path は関数ソースファイルの
+
+ 絶対パス名を返します.
+
+ 名前がライブラリ関数に一致しない場合 [] が返されます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+get_function_path('median')
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="string">string</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/lib.xml b/modules/functions/help/ja_JP/libraries/lib.xml
new file mode 100755
index 000000000..363fa0280
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/lib.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lib">
+
+ <refnamediv>
+
+ <refname>lib</refname>
+
+ <refpurpose>ライブラリ定義</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>namelib = lib('lib-dir')</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>lib-dir</term>
+
+ <listitem>
+
+ <para>文字列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>namelib</term>
+
+ <listitem>
+
+ <para>'lib'により返されるライブラリ変数.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>lib-dir</literal>は,
+
+ コンパイル済みのScilab関数(<literal>.bin</literal>)ファイルを
+
+ 含むディレクトリを定義する文字列です.
+
+ </para>
+
+ <para>
+
+ これらのファイルに加えて,<literal>lib-dir</literal> には,
+
+ <literal>lib-dir</literal>で定義された関数の名前を保持する
+
+ <literal>names</literal>という名前のファイルがある必要があります.
+
+ 処理が成功すると, <literal>lib-dir</literal> の中の全ての関数が
+
+ Scilabから利用可能になります.
+
+ これらの関数は最初にコールされた時にオンデマンドでロードされます.
+
+ </para>
+
+ <para>
+
+ バイナリファイルは Scilab上でコマンド<literal>save</literal>
+
+ により作成できます.
+
+ ライブラリ変数は,通常,
+
+ オンラインまたはユーザ指定のスタートアップファイル(startup参照)
+
+ のどちらかにより,後でロードするために保存されます.
+
+ </para>
+
+ <para>
+
+ このライブラリのマクロ関数にアクセスするには,
+
+ 'lib'により返された値を変数'namelib'に挿入する必要があります.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>制限</title>
+
+ <para>
+
+ Scilab は, 各ファイル xxxx.bin が<literal>xxxx</literal>という名前の
+
+ 変数を定義するものと暗黙の内にに仮定します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+//いくつかの関数を定義
+function z = myplus(x, y)
+ z = x + y
+endfunction
+
+function z = yourplus(x, y)
+ x = x - y
+endfunction
+
+//*.bin ファイルを libdirに作成
+libdir = TMPDIR;
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+
+//nameファイルを作成
+mputl(['myplus';'yourplus'],TMPDIR+'/names');
+
+//myplus およびyourplusを含むライブラリを構築
+mylibfoo = lib(libdir+'/');
+
+//変数を消去
+clear myplus yourplus
+
+//自動的にロードし,実行
+myplus(1,2)
+
+//変数を消去
+clear myplus yourplus
+
+mylibfoo
+[n,p] = libraryinfo('mylibfoo')
+
+isdef('myplus')
+clear mylibfoo
+isdef('myplus')
+
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="library">library</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="genlib">genlib</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="save">save</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="whereis">whereis</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="libraryinfo">libraryinfo</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/librarieslist.xml b/modules/functions/help/ja_JP/libraries/librarieslist.xml
new file mode 100755
index 000000000..168277892
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/librarieslist.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="librarieslist">
+
+ <refnamediv>
+
+ <refname>librarieslist</refname>
+
+ <refpurpose>scilabライブラリを取得</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>s=librarieslist()</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>s</term>
+
+ <listitem>
+
+ <para>文字列行列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>s</literal>にある
+
+ Scilabスタックの全てのライブラリを返します.
+
+ return in <literal>s</literal> all libraries on scilab stack.
+
+ </para>
+
+ <para>
+
+ ライブラリは最後にロードされたものから最初にロードされたものに
+
+ 向かってスキャンされます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+librarieslist()
+// リストをソート
+l = gsort(librarieslist(),'r','i')
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="libraryinfo">libraryinfo</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="gsort">gsort</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/library.xml b/modules/functions/help/ja_JP/libraries/library.xml
new file mode 100755
index 000000000..9606acbb1
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/library.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="library">
+ <refnamediv>
+ <refname>library</refname>
+ <refpurpose>ライブラリのデータ型の説明
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼び出し手順</title>
+ </refsynopsisdiv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ライブラリは型番号14のデータ型です.
+ これには,パス名と名前の集合が含まれます.
+ これにより,以下のアルゴリズムにより変数を自動的に
+ ロードすることが可能になります:
+ </para>
+ <para>
+ Scilabユーザが<literal>foo</literal>という名前の変数を参照すると
+ 仮定します.
+ Scilabはまず<literal>foo</literal>がプリミティブの名前または
+ すでに定義ずみであるかどうかを調べます.
+ そうでない場合,<literal>foo</literal>を(新しいものから順に)
+ 順番に全ての定義済みのライブラリの中で探します.
+ </para>
+ <para>
+ <literal>foo</literal> がライブラリ<literal>xlib</literal>の
+ 名前の集合に属すると仮定すると,
+ Scilabはファイル &lt;xlib-path-name&gt;/foo.bin をロード
+ します.
+ &lt;xlib-path-name&gt;/foo.bin は
+ <literal>save</literal> 関数により作成されている必要があります.
+ </para>
+ <para>
+ ライブラリはしばしば関数の集約に使用されますが,
+ Scilab変数の集約にも使用することができます.
+ </para>
+ <para>
+ ある関数が1つ以上のライブラリで定義されている場合,
+ デフォルトの探索アルゴリズムは最新のライブラリに
+ 含まれる関数をロードします.
+ ドット表記により
+ 特定のライブラリの関数を強制的に使用することも可能です:
+ </para>
+ <para>
+ <literal>xlib.foo</literal> は
+ <literal>xlib</literal>に含まれる変数<literal>foo</literal>
+ をロードします.
+ <literal>foo</literal>が関数の場合,
+ <literal>xlib.foo(args)</literal>はこの関数を実行します.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+// elemlib は定義済みのライブラリです
+elementary_functionlib //ライブラリの中身を表示
+A=rand(3,3);
+cosm(A) //cosmをロードし実行
+whos -name cosm // ここでcosmは変数です
+elementary_functionlib.sinm //sinmをライブラリからロード
+elementary_functionlib.cosm(A) //cosmを再ロードし,実行
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>参照</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="load">load</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ja_JP/libraries/libraryinfo.xml b/modules/functions/help/ja_JP/libraries/libraryinfo.xml
new file mode 100755
index 000000000..672468281
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/libraryinfo.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="libraryinfo">
+
+ <refnamediv>
+
+ <refname>libraryinfo</refname>
+
+ <refpurpose>マクロとscilabライブラリのパスを取得</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>macros = libraryinfo(libraryname)
+
+ [macros,path] = libraryinfo(libraryname)
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>macros</term>
+
+ <listitem>
+
+ <para>文字列行列 (ライブラリの全ての主関数)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>path</term>
+
+ <listitem>
+
+ <para>文字列 (ライブラリのパス)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>libraryname</term>
+
+ <listitem>
+
+ <para>文字列 (ライブラリ名)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 指定したScilabライブラリの関数名とパスを取得します.
+
+ 返される関数名は対応する .sci または .bin のファイルの名前
+
+ に一致します.
+
+ その他の名前は補助関数です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+[m,p]=libraryinfo('corelib')
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="librarieslist">librarieslist</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/libraries/whereis.xml b/modules/functions/help/ja_JP/libraries/whereis.xml
new file mode 100755
index 000000000..2c9ffc537
--- /dev/null
+++ b/modules/functions/help/ja_JP/libraries/whereis.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="whereis">
+
+ <refnamediv>
+
+ <refname>whereis</refname>
+
+ <refpurpose>関数が属するライブラリの名前</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>[librname]=whereis(function-name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 関数<literal>function-name</literal>が属するライブラリの名前を
+
+ 文字列として返します.
+
+ ライブラリのパス名は<literal>"librname"</literal>と入力することにより
+
+ 返されます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+whereis("ls") // fileiolibを返します
+whereis("plot") // graphicslibを返します
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/listfunctions.xml b/modules/functions/help/ja_JP/listfunctions.xml
new file mode 100755
index 000000000..191326810
--- /dev/null
+++ b/modules/functions/help/ja_JP/listfunctions.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="listfunctions">
+
+ <refnamediv>
+
+ <refname>listfunctions</refname>
+
+ <refpurpose>
+
+ ワークスペースの全ての関数のプロパティ
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>[flist,compiled,profilable,called] = listfunctions([scope])</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>パス名</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>scope</term>
+
+ <listitem>
+
+ <para>
+
+ 文字列, <literal>"local"</literal> (デフォルト) または <literal>"global"</literal>
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>flist</term>
+
+ <listitem>
+
+ <para>文字列の配列,
+
+ 指定した名前空間にある全関数変数の名前
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>compiled</term>
+
+ <listitem>
+
+ <para>論理値配列,
+
+ 対応する<varname>flist</varname>の要素が型=13の場合に真
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>profilable</term>
+
+ <listitem>
+
+ <para>論理値配列,
+
+ 対応する<varname>flist</varname>の要素が型=13の場合に真となり,
+
+ プロファイル情報が関数の擬似コードの中に追加されます.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>called</term>
+
+ <listitem>
+
+ <para>uint32 配列,
+
+ <varname>flist</varname> の対応する要素がコールされた回数
+
+ (プロファイル可能な関数の場合のみ非ゼロ)
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ この関数は,(<link linkend="who">who</link>で指定した)
+
+ ワークスペースの全ての変数を確認し,
+
+ 11型または13型の変数を収集します;
+
+ 後者の場合,
+
+ 最初のコード行の末尾の特殊なプロファイル用エントリ,
+
+ すなわち,
+
+ <code>lst(5)(1)=="25"</code> をチェックするために,
+
+ <code>lst = macr2lst(fun)</code> がコールされます.
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+[flist,compiled,profilable,called] = listfunctions();
+flist(profilable)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="fun2string">fun2string</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macr2lst">macr2lst</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="recompilefunction">recompilefunction</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="who">who</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>参考文献</title>
+
+ <para>
+
+ http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation
+
+ </para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/macr2lst.xml b/modules/functions/help/ja_JP/macr2lst.xml
new file mode 100755
index 000000000..c08b83ae6
--- /dev/null
+++ b/modules/functions/help/ja_JP/macr2lst.xml
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="macr2lst">
+
+ <refnamediv>
+
+ <refname>macr2lst</refname>
+
+ <refpurpose>リスト変換用の関数</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>lst = macr2lst(function_name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>function_name</term>
+
+ <listitem>
+
+ <para>変換する関数.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>lst</term>
+
+ <listitem>
+
+ <para>リスト.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ このプリミティブは,コンパイル済みのScilab関数 <varname>function_name</varname>
+
+ を,関数の内部表現をコード化(逆ポーランド表記)したリストに変換します.
+
+ </para>
+
+ <para>
+
+ リストの最初のエントリは関数名,2番目および3番目のエントリは
+
+ それぞれ左辺引数および右辺引数の変数名となります.
+
+ それ以降のエントリは,基本的な演算子レコードもしくは
+
+ <literal>if</literal>, <literal>for</literal>, ... のような制御構造の階層を含むリストのどちらかです.
+
+ </para>
+
+ <para>
+
+ 基本的な演算子レコードは, 文字列ベクトルにより記述されます.
+
+ その最初の要素はオペコードを表します.
+
+ </para>
+
+ <informaltable border="1">
+
+ <tr>
+
+ <td>オペコード</td>
+
+ <td>意味</td>
+
+ <td>パラメータ</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"0"</td>
+
+ <td>無視されるオペコード</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"1"</td>
+
+ <td>使用停止</td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>"2"</td>
+
+ <td>変数または関数リファレンス</td>
+
+ <td>変数名, #rhs, #lhs</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"3"</td>
+
+ <td>スタック内に文字列を配置</td>
+
+ <td>文字列</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"4"</td>
+
+ <td>スタック内に空の行列を配置</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"5"</td>
+
+ <td>処理を適用</td>
+
+ <td>処理コード, #rhs,#lhs</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"6"</td>
+
+ <td>数値をスタックに配置</td>
+
+ <td>数値</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"12"</td>
+
+ <td>停止コマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"13"</td>
+
+ <td>ブレークコマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"14"</td>
+
+ <td>中断コマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"15"</td>
+
+ <td>行終端記号</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"17"</td>
+
+ <td>quit コマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"18"</td>
+
+ <td>名前のある変数</td>
+
+ <td>変数名</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"19"</td>
+
+ <td>再帰的な添え字構造を作成</td>
+
+ <td>パスの長さ, 最終添え字の番号</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"20"</td>
+
+ <td>関数コール</td>
+
+ <td>関数名, #rhs, #lhs </td>
+
+ </tr>
+
+ <tr>
+
+ <td>"23"</td>
+
+ <td>名前を指定して変数を作成</td>
+
+ <td>変数名</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"24"</td>
+
+ <td>0型の変数をスタックに代入</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"25"</td>
+
+ <td>プロファイル用レコード</td>
+
+ <td>コール数, 消費時間 </td>
+
+ </tr>
+
+ <tr>
+
+ <td>"26"</td>
+
+ <td>文字列ベクトルをスタック内に配置</td>
+
+ <td>#rows, #columns, 要素のシーケンス</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"27"</td>
+
+ <td>組み込みリファレンスをスタックに配置</td>
+
+ <td>インターフェイス番号, インターフェイス内の位置, 関数名</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"28"</td>
+
+ <td>continue コマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"29"</td>
+
+ <td>代入</td>
+
+ <td>#lhs, 表示モード, (変数名, #rhs)*</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"30"</td>
+
+ <td>論理値式 省略形</td>
+
+ <td>型, ジャンプの長さ</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"31"</td>
+
+ <td>コメント</td>
+
+ <td>コメント</td>
+
+ </tr>
+
+ <tr>
+
+ <td>"99"</td>
+
+ <td>return コマンド</td>
+
+ <td>なし</td>
+
+ </tr>
+
+ <tr>
+
+ <td> &gt; "100"</td>
+
+ <td>組み込みコール (古い)</td>
+
+ <td>100*fun, #rhs, #lhs, fin</td>
+
+ </tr>
+
+ </informaltable>
+
+ <para>
+
+ <link linkend="fun2string">fun2string</link> 関数は,
+
+ 初期コードを生成する際に使用できます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+//DISPLAY
+function y=foo(x,flag)
+ if flag then
+ y=sin(x)
+ else
+ y=cos(x)
+ end
+endfunction
+L=macr2lst(foo)
+fun2string(L)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="macrovar">macrovar</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="fun2string">fun2string</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macr2tree">macr2tree</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="tree2code">tree2code</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/macr2tree.xml b/modules/functions/help/ja_JP/macr2tree.xml
new file mode 100755
index 000000000..af06b65a2
--- /dev/null
+++ b/modules/functions/help/ja_JP/macr2tree.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="macr2tree">
+
+ <refnamediv>
+
+ <refname>macr2tree</refname>
+
+ <refpurpose>ツリー変換用の関数</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>t=macr2tree(function-name)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>function-name</term>
+
+ <listitem>
+
+ <para>cilabマクロ</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>t</term>
+
+ <listitem>
+
+ <para>Scilab "ツリー"</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ このプリミティブは, コンパイル済みの Scilab 関数<literal>function-name</literal>
+
+ を関数を内部表現にコード化したツリー (鱗状のtlists)に変換します.
+
+ <literal>tree2code</literal>と共に使用します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="tree2code">tree2code</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/macro.xml b/modules/functions/help/ja_JP/macro.xml
new file mode 100755
index 000000000..3a940942f
--- /dev/null
+++ b/modules/functions/help/ja_JP/macro.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="macro">
+
+ <refnamediv>
+
+ <refname>macro</refname>
+
+ <refpurpose>Scilabプロシージャおよび Scilabオブジェクト</refpurpose>
+
+ </refnamediv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ マクロはScilabプロシージャ("macro", "function" および "procedure"
+
+ は同じ意味です)です.
+
+ 通常,これらはエディタによりファイルの中で定義され,
+
+ <function>exec</function>または
+
+ ライブラリによりScilabにロードされます.
+
+ </para>
+
+ <para>
+
+ マクロをオンラインで定義することも可能です(<link linkend="deff">deff</link>参照).
+
+ マクロを含むファイルは以下のように開始する必要があります:
+
+ </para>
+
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+ ]]></programlisting>
+
+ <para>
+
+ <literal>yi</literal> は,
+
+ 入力変数およびマクロが実行される時点でScilabの中に存在する
+
+ 変数の関数として計算される出力変数です.
+
+ マクロはより高速に実行するためにコンパイルすることが可能です.
+
+ 複数のマクロをライブラリに集約することができます.
+
+ <literal>%</literal>記号で始まり(例: <literal>%foo</literal>),
+
+ その引数がリストであるマクロは,
+
+ 特定の処理を実行する際に使用されます:
+
+ 例えば, <code>z=%rmr(x,y)</code> は
+
+ <varname>x</varname> および <varname>z</varname>が
+
+ 有理数の場合に<code>z=x*y</code>と等価です.
+
+ (すなわち, 多項式<varname>n</varname> および
+
+ <varname>d</varname> を指定した <code>x=list('r',n,d,[])</code>)
+
+ </para>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="lib">lib</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/macrovar.xml b/modules/functions/help/ja_JP/macrovar.xml
new file mode 100755
index 000000000..51c1e8bd8
--- /dev/null
+++ b/modules/functions/help/ja_JP/macrovar.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="macrovar">
+
+ <refnamediv>
+
+ <refname>macrovar</refname>
+
+ <refpurpose>関数の変数</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>vars = macrovar(function)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>vars</term>
+
+ <listitem>
+
+ <para>
+
+ リスト,
+
+ <literal>list(in, out, nolocal, called, locals)</literal>.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>function</term>
+
+ <listitem>
+
+ <para>関数名.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 関数で使用される変数の集合のリストを返します.
+
+ <varname>vars</varname> は以下の5つの文字列の列ベクトルからなる
+
+ リストです:
+
+ </para>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <varname>in</varname> 入力変数 (<code>vars(1)</code>);
+
+ </member>
+
+ <member>
+
+ <varname>out</varname>: 出力変数 (<code>vars(2)</code>);
+
+ </member>
+
+ <member>
+
+ <varname>nolocal</varname>:
+
+ 関数内で定義されていない関数でない変数を参照
+
+ (<code>vars(3)</code>);
+
+ </member>
+
+ <member>
+
+ <varname>called</varname>: コールされた関数の名前 (<code>vars(4)</code>);
+
+ </member>
+
+ <member>
+
+ <varname>locals</varname>: ローカル変数 (<code>vars(5)</code>).
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+deff('y = f(x1, x2)', 'loc = 1; y = a*x1+x2-loc');
+vars = macrovar(f)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="string">string</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="macr2lst">macr2lst</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/mode.xml b/modules/functions/help/ja_JP/mode.xml
new file mode 100755
index 000000000..3099ad19d
--- /dev/null
+++ b/modules/functions/help/ja_JP/mode.xml
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mode" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>mode</refname>
+
+ <refpurpose>ファイル実行のモードを選択</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>mode(k)
+
+ k = mode()
+
+ </synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ ファイル実行またはScilab関数の中で<emphasis role="bold">排他的に</emphasis>に
+
+ 使用され,<literal>mode(k)</literal>は<literal>k</literal>の値に応じて
+
+ 次のように実行時に表示される情報を変更することができます:
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>k = 0</term>
+
+ <listitem>
+
+ <para>
+
+ 新しい変数の値が必要に応じて表示されます
+
+ (<link linkend="semicolon">セミコロン</link>
+
+ または
+
+ <link linkend="comma">カンマ</link>のヘルプを参照).
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>k = -1</term>
+
+ <listitem>
+
+ <para>
+
+ ファイル実行またはScilab関数の実行時の
+
+ 表示を行いません.
+
+ (これはScilab関数に関するデフォルト値です)
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>k = 2</term>
+
+ <listitem>
+
+ <para>Scilabプロンプトのデフォルト値.</para>
+
+ <para>
+
+ <literal>mode(2)</literal>はプロンプトでは使用されず,
+
+ ファイル実行またはScilab関数でのみ使用されることに
+
+ 注意してください.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>k = 1 または k = 3</term>
+
+ <listitem>
+
+ <para>
+
+ 命令の各行はプロンプトの前に表示されます.
+
+ 新しい変数の値は必要に応じて表示されます.
+
+ これはファイル実行時のデフォルトです.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>k = 4 または k = 7</term>
+
+ <listitem>
+
+ <para>
+
+ 新しい変数の値は必要に応じて表示され,
+
+ 各行の命令は表示され,
+
+ プロンプト (&gt;&gt;) がキャレッジリターンを待つ各行の
+
+ 後に出力されます.
+
+ </para>
+
+ <para>キャレッジリターンの後に "p" が続く場合,
+
+ 実行は中断されています(<link linkend="pause">pause</link>参照).
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>k &gt; 7</term>
+
+ <listitem>
+
+ <para>ユーザモード. ユーザが独自のモードを定義した場合,
+
+ 100 より大きい値を使用することが推奨されます.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <para>
+
+ コンパイル済みのScilab関数(<link linkend="comp">comp</link>参照)
+
+ の場合,行の表示は無効化されます.
+
+ デフォルトでScilab関数はサイレントモード("-1")で実行されます.
+
+ </para>
+
+ <para>関数ライブラリ内の関数は, "-1" モードで実行されます.</para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// scilab内にコピー/ペーストしてください
+function example_mode( level_mode )
+ mode(level_mode)
+ a = 3
+ disp(mode());
+endfunction
+mode(2)
+example_mode(0)
+example_mode(-1)
+example_mode(2)
+example_mode(1)
+example_mode(3)
+example_mode(7)
+mode(2)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="exec">exec</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="execstr">execstr</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="semicolon">semicolon</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comma">comma</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/overloading.xml b/modules/functions/help/ja_JP/overloading.xml
new file mode 100755
index 000000000..17481d9cd
--- /dev/null
+++ b/modules/functions/help/ja_JP/overloading.xml
@@ -0,0 +1,1208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>overloading</refname>
+
+ <refpurpose>表示,関数および演算子オーバーロード機能</refpurpose>
+
+ </refnamediv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ Scilabにおいては, 変数表示, 関数および演算子は
+
+ 関数(Scilabコードまたはプリミティブ)により新規オブジェクト用に
+
+ 定義することができます.
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>表示</term>
+
+ <listitem>
+
+ <para>
+
+ <literal>tlist</literal>により定義される 新規オブジェクトの表示は,
+
+ オーバーロードすることができます
+
+ (デフォルトの表示は<literal>list</literal>の出力に似ています).
+
+ オーバーロード関数は入力引数を1つとし,出力引数を持たない必要があります.
+
+ その関数の名前は,<literal>%&lt;tlist_type&gt;_p</literal>のように 作成します.
+
+ ただし,
+
+ <literal>%&lt;tlist_type&gt;</literal> は,
+
+ <literal>tlist</literal>型の要素の最初のエントリを
+
+ 最初の9文字に丸めたものを意味します.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>演算子</term>
+
+ <listitem>
+
+ <para>
+
+ 指定したオペランド型について定義されていない各演算子を定義することができます.
+
+ オーバーロード関数は入力引数を1つ,オペランドの数に基づき 1個または
+
+ 2個の入力を有する必要があります.
+
+ 関数名は以下のように作成されます:
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ <para>2項演算子の場合:
+
+ <literal>%&lt;first_operand_type&gt;_&lt;op_code&gt;_&lt;second_operand_type&gt;</literal>
+
+ </para>
+
+ <para>単項演算子の場合:
+
+ <literal>%&lt;operand_type&gt;_&lt;op_code&gt;</literal>
+
+ </para>
+
+ <para>n項演算子の展開および挿入は以下のように記述されます.</para>
+
+ <warning>
+
+ <function>typename</function>関数に登録された型のみが
+
+ オーバーロードマクロの中で使用できることに注意してください.
+
+ </warning>
+
+ <para>
+
+ <literal>&lt;operand_type&gt;</literal>,
+
+ <literal>&lt;first_operand_type&gt;</literal>,
+
+ <literal>&lt;second_operand_type&gt;</literal> は,
+
+ 以下のテーブルに記述された各データ型に関連する文字シーケンスです:
+
+ </para>
+
+ <informaltable border="1">
+
+ <tr>
+
+ <td>データ型</td>
+
+ <td>文字コード</td>
+
+ <td>typeof</td>
+
+ <td>コメント</td>
+
+ </tr>
+
+ <tr>
+
+ <td>double行列</td>
+
+ <td>
+
+ <literal>s</literal>
+
+ </td>
+
+ <td>
+
+ <literal>定数</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>多項式行列</td>
+
+ <td>
+
+ <literal>p</literal>
+
+ </td>
+
+ <td>
+
+ <literal>多項式</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>論理値行列</td>
+
+ <td>
+
+ <literal>b</literal>
+
+ </td>
+
+ <td>
+
+ <literal>論理値</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>疎行列</td>
+
+ <td>
+
+ <literal>sp</literal>
+
+ </td>
+
+ <td>
+
+ <literal>疎行列</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>論理値疎行列</td>
+
+ <td>
+
+ <literal>spb</literal>
+
+ </td>
+
+ <td>
+
+ <literal>論理値疎行列</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>Matlab 疎行列</td>
+
+ <td>
+
+ <literal>msp</literal>
+
+ </td>
+
+ <td>
+
+ <literal>Matlab疎行列</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>整数行列</td>
+
+ <td>
+
+ <literal>i</literal>
+
+ </td>
+
+ <td>
+
+ <literal>int8, int16, int32, uint8, uint16, uint32</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>文字列行列</td>
+
+ <td>
+
+ <literal>c</literal>
+
+ </td>
+
+ <td>
+
+ <literal>文字列</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>ハンドル</td>
+
+ <td>
+
+ <literal>h</literal>
+
+ </td>
+
+ <td>
+
+ <literal>ハンドル</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>コンパイルされた関数</td>
+
+ <td>
+
+ <literal>fptr</literal>
+
+ </td>
+
+ <td>
+
+ <literal>fptr</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>スクリプト関数</td>
+
+ <td>
+
+ <literal>mc</literal>
+
+ </td>
+
+ <td>
+
+ <literal>関数</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>ライブラリ</td>
+
+ <td>
+
+ <literal>l</literal>
+
+ </td>
+
+ <td>
+
+ <literal>ライブラリ</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>リスト</td>
+
+ <td>
+
+ <literal>l</literal>
+
+ </td>
+
+ <td>
+
+ <literal>リスト</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>tlist</td>
+
+ <td>
+
+ <literal>tlist型</literal>
+
+ </td>
+
+ <td>
+
+ <literal>tlist型</literal>
+
+ </td>
+
+ <td>最初のtlistエントリの最初の文字列</td>
+
+ </tr>
+
+ <tr>
+
+ <td>mlist</td>
+
+ <td>
+
+ <literal>mlist型</literal>
+
+ </td>
+
+ <td>
+
+ <literal>mlist型</literal>
+
+ </td>
+
+ <td>最初のmlistエントリの最初の文字列</td>
+
+ </tr>
+
+ <tr>
+
+ <td>ハイパー行列</td>
+
+ <td>
+
+ <literal>hm</literal>
+
+ </td>
+
+ <td>
+
+ <literal>hypermat</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>ポインタ</td>
+
+ <td>
+
+ <literal>ptr</literal>
+
+ </td>
+
+ <td>
+
+ <literal>ポインタ</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>セル</td>
+
+ <td>
+
+ <literal>ce</literal>
+
+ </td>
+
+ <td>
+
+ <literal>ce</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>structure</td>
+
+ <td>
+
+ <literal>st</literal>
+
+ </td>
+
+ <td>
+
+ <literal>st</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>有理数</td>
+
+ <td>
+
+ <literal>r</literal>
+
+ </td>
+
+ <td>
+
+ <literal>有理数</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>線形状態空間</td>
+
+ <td>
+
+ <literal>lss</literal>
+
+ </td>
+
+ <td>
+
+ <literal>状態空間</literal>
+
+ </td>
+
+ <td/>
+
+ </tr>
+
+ <tr>
+
+ <td>暗黙の多項式</td>
+
+ <td>
+
+ <literal>ip</literal>
+
+ </td>
+
+ <td>
+
+ <literal>size implicit</literal>
+
+ </td>
+
+ <td>1:1:$</td>
+
+ </tr>
+
+ </informaltable>
+
+ <para>
+
+ <literal>&lt;op_code&gt;</literal> は, 以下のテーブルに記述された
+
+ 各演算子に関連する文字です:
+
+ </para>
+
+ <informaltable border="1">
+
+ <tr>
+
+ <td>
+
+ <literal>op</literal>
+
+ </td>
+
+ <td>char code</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>'</literal>
+
+ </td>
+
+ <td>t</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>+</literal>
+
+ </td>
+
+ <td>a</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>-</literal>
+
+ </td>
+
+ <td>s</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>*</literal>
+
+ </td>
+
+ <td>m</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>/</literal>
+
+ </td>
+
+ <td>r</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>\</literal>
+
+ </td>
+
+ <td>l</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>^</literal>
+
+ </td>
+
+ <td>p</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.*</literal>
+
+ </td>
+
+ <td>x</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>./</literal>
+
+ </td>
+
+ <td>d</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.\</literal>
+
+ </td>
+
+ <td>q</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.*.</literal>
+
+ </td>
+
+ <td>k</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>./.</literal>
+
+ </td>
+
+ <td>y</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.\.</literal>
+
+ </td>
+
+ <td>z</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>:</literal>
+
+ </td>
+
+ <td>b</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>*.</literal>
+
+ </td>
+
+ <td>u</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>/.</literal>
+
+ </td>
+
+ <td>v</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>\.</literal>
+
+ </td>
+
+ <td>w</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>[a,b]</literal>
+
+ </td>
+
+ <td>c</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>[a;b]</literal>
+
+ </td>
+
+ <td>f</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>() extraction</literal>
+
+ </td>
+
+ <td>e</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>() insertion</literal>
+
+ </td>
+
+ <td>i</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>==</literal>
+
+ </td>
+
+ <td>o</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&lt;&gt;</literal>
+
+ </td>
+
+ <td>n</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>|</literal>
+
+ </td>
+
+ <td>g</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&amp;</literal>
+
+ </td>
+
+ <td>h</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.^</literal>
+
+ </td>
+
+ <td>j</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>.'</literal>
+
+ </td>
+
+ <td>0</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&lt;</literal>
+
+ </td>
+
+ <td>1</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&gt;</literal>
+
+ </td>
+
+ <td>2</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&lt;=</literal>
+
+ </td>
+
+ <td>3</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>&gt;=</literal>
+
+ </td>
+
+ <td>4</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>~</literal>
+
+ </td>
+
+ <td>5</td>
+
+ </tr>
+
+ <tr>
+
+ <td>
+
+ <literal>iext</literal>
+
+ </td>
+
+ <td>6</td>
+
+ </tr>
+
+ </informaltable>
+
+ <para>
+
+ 展開構文<literal>b=a(i1,...,in)</literal>の オーバーロード関数は,
+
+ 以下のような呼び出し手順となります:
+
+ <literal>b=%&lt;type_of_a&gt;_e_(i1,...,in,a)</literal>
+
+ </para>
+
+ <para>
+
+ そして,構文 <literal>[x1,..,xm]=a(i1,...,in)</literal> は
+
+ 以下のような呼び出し手順となります:
+
+ <literal>[x1,..,xm]=%&lt;type_of_a&gt;_e_(i1,...,in,a)</literal>
+
+ </para>
+
+ <para>
+
+ 挿入構文に関するオーバーロード関数 <literal>a(i1,...,in)=b</literal>
+
+ は以下のような呼び出し手順となります:
+
+ <literal>a=%&lt;type_of_b&gt;_i_&lt;type_of_a&gt;(i1,...,in,b,a)</literal>.
+
+ </para>
+
+ <para>
+
+ 文字コード<literal>6</literal> を
+
+ <code>x.b(2) = 33</code>のような複雑な挿入アルゴリズム で使用することができます.
+
+ ただし,<literal>b</literal>フィールドは構造体<literal>x</literal>で 定義されません.
+
+ 挿入は自動的に<literal>temp=x.b;</literal> <code>temp(2) = 33</code>;
+
+ <code>x.b = temp</code>に分解されます. 文字コード<literal>6</literal>
+
+ がこのアルゴリズムの最初の手順で 使用されます.オーバーロード関数<literal>6</literal> は,
+
+ <literal>e</literal>のものに非常によく似ています.
+
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>関数 :</term>
+
+ <listitem>
+
+ <para>
+
+ いくつかの基本プリミティブ関数新規データ型に関してオーバーロードができます.
+
+ 特定のデータ型に関してこのような関数が未定義の場合,
+
+ 関数<literal>%&lt;type_of_an_argument&gt;_&lt;function_name&gt;</literal>
+
+ がコールされます. ユーザはこのコールされた関数に入力データ型に関する
+
+ 定義を追加することができます.
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ </refsection>
+
+ <refsection>
+
+ <programlisting role="example">//表示
+
+ var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // varの型は 'tab'です
+
+
+
+ typeof(var)
+
+
+
+ function [] = %tab_p(l)
+
+ disp([[' '; l(3)] [l(2); string(l(4))]])
+
+ endfunction
+
+
+
+ var // オーバーローディング後
+
+ </programlisting>
+
+ </refsection>
+
+ <refsection>
+
+ <programlisting role="example">//演算子
+
+ 's' + 1 // 数値は文字列に加算できません
+
+
+
+ function x = %c_a_s(a, b)
+
+ x = a + string(b);
+
+ endfunction
+
+
+
+ 's' + 1 // オーバーローディング後
+
+ </programlisting>
+
+ </refsection>
+
+ <refsection>
+
+ <programlisting role="example">//関数
+
+ sin('2 * x') // sin関数は文字列では動作しません
+
+
+
+ function x = %c_sin(a)
+
+ x = 'sin(' + a + ')'
+
+ endfunction
+
+
+
+ sin('2 * x') // オーバーローディング後
+
+ </programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="tlist">tlist</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="disp">disp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="symbols">symbols</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="typeof">typeof</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="type">type</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="typename">typename</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/add_profiling.xml b/modules/functions/help/ja_JP/profiling/add_profiling.xml
new file mode 100755
index 000000000..453a8fef0
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/add_profiling.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="add_profiling" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>add_profiling</refname>
+
+ <refpurpose>プロファイル命令を関数に追加.</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>add_profiling(funname)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>funname</term>
+
+ <listitem>
+
+ <para>文字列, プロファイルされる関数の名前</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>add_profiling(funname)</literal> は,
+
+ プロファイル命令を関数<literal>funname</literal>に
+
+ 追加します.
+
+ この関数が実行された時に,コール数と消費時間が
+
+ 各行毎に保存されます.
+
+ これらのデータは
+
+ <link linkend="profile">profile</link>関数により
+
+ 取得できます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+add_profiling("foo")
+foo(0.1,100) //関数を実行
+profile(foo) //プロファイル情報を展開
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="plotprofile">plotprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="remove_profiling">remove_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="reset_profiling">reset_profiling</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>使用される関数</title>
+
+ <para>
+
+ この関数は Scilab 関数<literal>bytecode</literal> および
+
+ <literal>walkbytecode</literal> と使用します.
+
+ </para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/plotprofile.xml b/modules/functions/help/ja_JP/profiling/plotprofile.xml
new file mode 100755
index 000000000..b8d103ad7
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/plotprofile.xml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="plotprofile">
+
+ <refnamediv>
+
+ <refname>plotprofile</refname>
+
+ <refpurpose>関数のプロファイルチャートを表示する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>plotprofile(fun)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>コンパイル済みのScilab 関数, または関数名 (文字列), または関数名の配列</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ ある関数に<literal>plotprofile</literal>を使用する場合,
+
+ この関数についてプロファイル機能を有効にしてある必要があります:
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <link linkend="add_profiling">add_profiling</link> コマンド.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ または関数が<link linkend="deff">deff</link>コマンドで定義された場合,
+
+ <link linkend="deff">deff</link>のオプション引数に "p" を指定,
+
+ のどちらか
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+
+ <para>
+
+ この関数を一度実行した後で,
+
+ <literal>plotprofile</literal>をコールすると,
+
+ 2つのメインウインドウが表示され,
+
+ 1番目には関数のソースコード,
+
+ 2番目には以下を示す3つのヒストグラムが含まれます:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>各行のコール回数</para>
+ </listitem>
+
+ <listitem>
+ <para>各行で使用された合計CPU時間 (単位: 秒)</para>
+ </listitem>
+
+ <listitem>
+ <para>各行を解釈するための労力の計測値 (任意の単位)</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+
+
+ <para>
+
+ ヒストグラムのビンをクリックすると,
+
+ ソースコードウインドウ内で関係する行がハイライト表示されます.
+
+ </para>
+
+ <para>
+
+ 注意: "plotprofile"グラフィックウインドウから出るには, "Exist"要素を使用します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// 関数のプロファイルの例
+function foo()
+ runs = 50;
+ b = 0;
+ for i = 1:runs
+ b = zeros(220, 220);
+ for j = 1:220
+ for k = 1:220
+ b(k,j) = abs(j - k) + 1;
+ end
+ end
+ end
+endfunction
+
+// 関数のプロファイルを有効にする
+add_profiling("foo");
+
+// 関数を実行
+foo();
+
+// プロファイルチャートを表示
+plotprofile(foo) // 出るには Exit をクリック
+ ]]></programlisting>
+
+ <programlisting role="example"><![CDATA[
+// deffで定義した関数をプロファイルする例
+deff('x = foo2(n)', ['if n > 0 then'
+ ' x = 0;'
+ ' for k = 1:n'
+ ' s = svd(rand(n, n));'
+ ' x = x + s(1);'
+ ' end'
+ 'else'
+ ' x = [];'
+ 'end'], ..
+ 'p');
+
+// 関数を実行
+foo2(200);
+
+// プロファイルチャートを表示
+plotprofile("foo2") // 出るには Exit をクリック
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="showprofile">showprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="reset_profiling">reset_profiling</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/profile.xml b/modules/functions/help/ja_JP/profiling/profile.xml
new file mode 100755
index 000000000..77fb4056f
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/profile.xml
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="profile">
+
+ <refnamediv>
+
+ <refname>profile</refname>
+
+ <refpurpose>関数のプロファイル結果を返す</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>c = profile(fun)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>Scilab関数</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>c</term>
+
+ <listitem>
+
+ <para>以下のプロファイル結果を含む nx3 行列:
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <literal>c(i,1)</literal> : 関数のi行目の実行回数
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ <literal>c(i,2)</literal> : 関数のi行目を実行する際に費やした累積CPI時間[単位:秒]
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ <literal>c(i,3)</literal> : 関数のi行目を1回実行した際のインタプリタの
+
+ 処理負荷の観測量 [任意の単位]
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ ある関数で<literal>profile</literal>を使用するには,
+
+ この関数についてプロファイル機能を有効にしてある必要があります:
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <link linkend="add_profiling">add_profiling</link> コマンド.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ または関数が<link linkend="deff">deff</link>コマンドで定義された場合,
+
+ <link linkend="deff">deff</link>のオプション引数に "p" を指定,
+
+ のどちらか
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+
+ <para>
+
+ この関数が一度実行された後,<literal>profile</literal>をコールすると,
+
+ 行列が返されます.
+
+ この行列の各行には,(関数のヘッダ行を含む)
+
+ 対応する関数の行に関するプロファイル結果が含まれます.
+
+ この結果は,以下のような
+
+ コール回数, この行に費やした合計CPU時間, この行の実行にかかったインタプリタ負荷
+
+ です:
+
+ </para>
+
+ <para>
+
+ <informaltable border="1">
+
+ <tr>
+
+ <td>Number of calls</td><td>Total CPU time (s)</td><td>Interpretor effort</td>
+
+ </tr>
+
+ <tr>
+
+ <td>1</td><td>0</td><td>0</td>
+
+ </tr>
+
+ <tr>
+
+ <td>300</td><td>0.1</td><td>0</td>
+
+ </tr>
+
+ <tr>
+
+ <td>300</td><td>3.59</td><td>5</td>
+
+ </tr>
+
+ <tr>
+
+ <td>...</td><td>...</td><td>...</td>
+
+ </tr>
+
+ </informaltable>
+
+ </para>
+
+ <para>
+
+ ここでは,関数の3行目が300回コールされ,
+
+ 合計CPU時間が 3.59秒であることがわかります.
+
+ </para>
+
+ <para>
+
+ 注意: CPU時間の精度の制約(通常は1マイクロ秒)により,
+
+ 実行時間が非常に速い実行された行は,CPUの合計時間が0と
+
+ 表示される可能性があります.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// プロファイルする関す
+function x = foo(n)
+ if n > 0 then
+ x = 0;
+ for k = 1:n
+ s = svd(rand(n, n));
+ x = x + s(1);
+ end
+ else
+ x = [];
+ end
+endfunction
+
+// 関数のプロファイルを有効化
+add_profiling("foo");
+
+// 関数を実行
+foo(200);
+
+// 関数のプロファイル結果を返す
+profile(foo)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="plotprofile">plotprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="showprofile">showprofile</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/remove_profiling.xml b/modules/functions/help/ja_JP/profiling/remove_profiling.xml
new file mode 100755
index 000000000..4214f0aed
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/remove_profiling.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="remove_profiling" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>remove_profiling</refname>
+
+ <refpurpose>指定した関数のプロファイルを無効にする</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>remove_profiling(funname)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>funname</term>
+
+ <listitem>
+
+ <para>文字列, プロファイルした関数の名前</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>remove_profiling</literal>は,関数のプロファイルに
+
+ 必要な命令を削除します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+add_profiling("foo")
+foo(0.1,100) //関数を実行
+profile(foo) //プロファイル情報を展開
+remove_profiling("foo")
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="plotprofile">plotprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="add_profiling">remove_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="reset_profiling">reset_profiling</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>使用する関数</title>
+
+ <para>
+
+ この関数は Scilab 関数 <literal>bytecode</literal> および
+
+ <literal>walkbytecode</literal>を使用しています.
+
+ </para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/reset_profiling.xml b/modules/functions/help/ja_JP/profiling/reset_profiling.xml
new file mode 100755
index 000000000..46b43b1c5
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/reset_profiling.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="reset_profiling" xml:lang="ja">
+
+ <refnamediv>
+
+ <refname>reset_profiling</refname>
+
+ <refpurpose>関数のプロファイル用カウンタをリセットする</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>reset_profiling(funname)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>funname</term>
+
+ <listitem>
+
+ <para>文字列, 関数名</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <literal>reset_profiling(funname)</literal> は,
+
+ <literal>funname</literal>という名前の関数のプロファイル用カウンタをリセット
+
+ します.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+add_profiling("foo")
+foo(0.1,100) //関数を実行
+profile(foo) //プロファイル情報を展開
+reset_profiling("foo")
+profile(foo) //プロファイル情報を展開
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection>
+
+ <title>S参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="plotprofile">plotprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="reset_profiling">reset_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="remove_profiling">remove_profiling</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>使用される関数</title>
+
+ <para>
+
+ この関数は Scilab 関数 <literal>bytecode</literal> および
+
+ <literal>walkbytecode</literal>を使用します.
+
+ </para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/profiling/showprofile.xml b/modules/functions/help/ja_JP/profiling/showprofile.xml
new file mode 100755
index 000000000..ea55595c7
--- /dev/null
+++ b/modules/functions/help/ja_JP/profiling/showprofile.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="showprofile">
+
+ <refnamediv>
+
+ <refname>showprofile</refname>
+
+ <refpurpose>関数のプロファイル結果をコンソールに出力</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>showprofile(fun)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>fun</term>
+
+ <listitem>
+
+ <para>Scilab関数</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ ある関数で<literal>showprofile</literal>を使用するには,
+
+ この関数についてプロファイル機能を有効にしておく必要があります:
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ <link linkend="add_profiling">add_profiling</link> コマンド.
+
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+
+ または関数が<link linkend="deff">deff</link>コマンドで定義された場合,
+
+ <link linkend="deff">deff</link>のオプション引数に "p" を指定,
+
+ のどちらか
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+
+ <para>
+
+ この関数が一度コールされた後, <literal>showprofile</literal>をコールすると,
+
+ プロファイル結果がコンソールに出力されます.
+
+ </para>
+
+ <para>
+
+ 出力される各行には(関数のヘッダ行を含む)対応する関数の行のプロファイル結果が含まれます.
+
+ これには,この行のコール回数,合計CPU消費時間,
+
+ この行の解釈に要したインタプリタ負荷, この行のソースコードが
+
+ 含まれます.
+
+ 出力の例を以下に示します:
+
+ </para>
+
+ <screen>
+
+ |1 |0 |0| function x=fun(n)
+
+ |1 |0 |0| if n > 0 then
+
+ |1 |0 |2| x = 0;
+
+ |200 |0.01 |0| for k = 1:n
+
+ |200 |3.99 |5| s = svd(rand(n, n));
+
+ |... |... |.| ...
+
+ </screen>
+
+ <para>
+
+ ここでは,関数の5行目が200回コールされ,合計CPU時間が3.99秒であったことがわかります.
+
+ </para>
+
+ <para>
+
+ <literal>show_profile</literal> は
+
+ <link linkend="profile">profile</link>に似ていますが,
+
+ <link linkend="profile">profile</link> はプロファイル結果を
+
+ 行列に返すのに対して,
+
+ <literal>show_profile</literal> はコンソールに結果を出力するのみです.
+
+ </para>
+
+ <para>
+
+ 注意: CPU時間の精度の制約(通常は1マイクロ秒)により,
+
+ 実行時間が非常に速い実行された行は,CPUの合計時間が0と
+
+ 表示される可能性があります.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+// プロファイルする関数
+function x = foo(n)
+ if n > 0 then
+ x = 0;
+ for k = 1:n
+ s = svd(rand(n, n));
+ x = x + s(1);
+ end
+ else
+ x = [];
+ end
+endfunction
+
+// 関数のプロファイルを有効化
+add_profiling("foo");
+
+// 関数を実行
+foo(200);
+
+// プロファイル結果をコンソールに出力
+showprofile(foo)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="add_profiling">add_profiling</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="plotprofile">plotprofile</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="reset_profiling">reset_profiling</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/recompilefunction.xml b/modules/functions/help/ja_JP/recompilefunction.xml
new file mode 100755
index 000000000..ce0186268
--- /dev/null
+++ b/modules/functions/help/ja_JP/recompilefunction.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="recompilefunction">
+
+ <refnamediv>
+
+ <refname>recompilefunction</refname>
+
+ <refpurpose>型を変更し,Scilab関数を再コンパイルする</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>recompilefunction(funname [,kind [,force]])</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>funname</term>
+
+ <listitem>
+
+ <para>文字列, 再コンパイルする関数の名前
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>kind</term>
+
+ <listitem>
+
+ <para>
+
+ 文字列: <emphasis role="bold">"n"</emphasis> (コンパイル前, 11型),
+
+ <emphasis role="bold">"c"</emphasis>
+
+ (コンパイル済み, 13型) または <emphasis role="bold">"p"</emphasis>
+
+ (コンパイル済み, type 型, プロファイル用). デフォルト: "c".
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>force</term>
+
+ <listitem>
+
+ <para>
+
+ 論理値. falseの場合, 関数は kind が変更された場合のみ再コンパイルされます;
+
+ true の場合, 同じ kind が維持される場合でも再コンパイルされます
+
+ (プロファイル統計をリセットするために "p" 関数を再コンパイルする場合に特に有用です).
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+
+ この関数は<link linkend="fun2string">fun2string</link>により
+
+ 関数変数を逆コンパイルし, <link linkend="deff">deff</link>により
+
+ 指定した種類に再コンパイルします.
+
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+for i=1:100; asinh(rand(100,100)); end
+showprofile(asinh)
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="function">function</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="deff">deff</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="comp">comp</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="fun2string">fun2string</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="profile">profile</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>参考文献</title>
+
+ <para>
+
+ http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation
+
+ </para>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/sciargs.xml b/modules/functions/help/ja_JP/sciargs.xml
new file mode 100755
index 000000000..a5dde6e87
--- /dev/null
+++ b/modules/functions/help/ja_JP/sciargs.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sciargs">
+
+ <refnamediv>
+
+ <refname>sciargs</refname>
+
+ <refpurpose>scilab コマンドライン引数</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼出し手順</title>
+
+ <synopsis>args = sciargs()</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ この関数は,Scilabコマンドライン引数を含む
+
+ 文字列の行ベクトルを返します.
+
+ <literal>args</literal>の最初のエントリには,
+
+ 実行された実行ファイルのパスが含まれます.
+
+ </para>
+
+ <para>
+
+ この関数はC言語の<literal>getarg</literal>関数と等価です.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+args=sciargs()
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="getenv">getenv</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/str2code.xml b/modules/functions/help/ja_JP/str2code.xml
new file mode 100755
index 000000000..0d1520614
--- /dev/null
+++ b/modules/functions/help/ja_JP/str2code.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="str2code" xml:lang="en">
+
+ <refnamediv>
+
+ <refname>str2code</refname>
+
+ <refpurpose>
+
+ 文字列に関するScilab整数コードを返す.
+
+ <emphasis role="bold">この関数は廃止されました.</emphasis>
+
+ </refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>c = str2code(str)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>str</term>
+
+ <listitem>
+
+ <para>文字列.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>c</term>
+
+ <listitem>
+
+ <para>整数コード文字の列ベクトル.</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ <code>c = str2code(str)</code> は列ベクトル
+
+ <varname>c</varname>を返します.
+
+ ただし,<literal>c(i)</literal> は,
+
+ <literal>part(str,i)</literal>のScilab整数コードです.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+str2code('Scilab')'
+code2str([-28 12 18 21 10 11])
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="code2str">code2str</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="ascii">ascii</link>
+
+ </member>
+
+ <member>
+
+ <link linkend="part">part</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>履歴</title>
+
+ <revhistory>
+
+ <revision>
+
+ <revnumber>5.4.0</revnumber>
+
+ <revremark>この関数は Scilab 6.0.0で削除されます.</revremark>
+
+ </revision>
+
+ </revhistory>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/tree2code.xml b/modules/functions/help/ja_JP/tree2code.xml
new file mode 100755
index 000000000..821c87ebb
--- /dev/null
+++ b/modules/functions/help/ja_JP/tree2code.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="tree2code">
+
+ <refnamediv>
+
+ <refname>tree2code</refname>
+
+ <refpurpose>Scilab関数のアスキー定義を生成する</refpurpose>
+
+ </refnamediv>
+
+ <refsynopsisdiv>
+
+ <title>呼び出し手順</title>
+
+ <synopsis>txt = tree2code(tree, prettyprint)</synopsis>
+
+ </refsynopsisdiv>
+
+ <refsection>
+
+ <title>引数</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>tree</term>
+
+ <listitem>
+
+ <para>
+
+ マクロツリー (<function>macr2tree</function>の出力)
+
+ </para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>prettyprint</term>
+
+ <listitem>
+
+ <para>オプションの論理値</para>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>%T</term>
+
+ <listitem>
+
+ <para>生成されるコードはインデント,整形されます</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>%F</term>
+
+ <listitem>
+
+ <para>生成されるコードは整形されません (デフォルト)</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>txt</term>
+
+ <listitem>
+
+ <para>文字列の列ベクトルで, Scilab命令を指定するテキスト</para>
+
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+
+ </refsection>
+
+ <refsection>
+
+ <title>説明</title>
+
+ <para>
+
+ 読み込まれたScilab関数 "ツリー" (<function>macr2tree</function>の出力)を
+
+ 指定することで, <function>tree2code</function>
+
+ によりコードを再生成することができます.
+
+ </para>
+
+ </refsection>
+
+ <refsection>
+
+ <title>例</title>
+
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+
+ </refsection>
+
+ <refsection role="see also">
+
+ <title>参照</title>
+
+ <simplelist type="inline">
+
+ <member>
+
+ <link linkend="macr2tree">macr2tree</link>
+
+ </member>
+
+ </simplelist>
+
+ </refsection>
+
+</refentry>
+
diff --git a/modules/functions/help/ja_JP/varargin.xml b/modules/functions/help/ja_JP/varargin.xml
new file mode 100755
index 000000000..2e136c173
--- /dev/null
+++ b/modules/functions/help/ja_JP/varargin.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargin" xml:lang="ja">
+ <refnamediv>
+ <refname>varargin</refname>
+ <refpurpose>入力引数リストの引数の数を可変にする</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 最後の入力引数が<literal>varargin</literal>となる関数は
+ 入力引数リストに示した数よりも多くの入力引数を指定して
+ コールすることができます.
+ <literal>varargin</literal>キーワードよりも後に渡された入力引数は,
+ 関数内では<literal>varargin</literal>という名前のリストとして取得することが
+ できます.
+ </para>
+ <para>
+ <literal>varargin</literal>キーワードが形式的な入力引数リストの中で
+ <literal>n</literal>番目の引数と仮定すると,
+ 関数が <literal>n-1</literal> 個未満の入力引数を指定して
+ コールされた場合,
+ <literal>varargin</literal>リストは定義されませんが,
+ <literal>n-1</literal>個の引数を指定してコールされた場合には
+ <literal>varargin</literal>リストは空のリストとなります.
+ </para>
+ <para>
+ <literal>function y= ex(varargin)</literal> は
+ 任意の数の入力引数を指定してコールすることが可能です.
+ 関数<literal>ex</literal>の中では, 入力引数は
+ <literal>varargin(i)</literal>, <literal>i=1:length(varargin)</literal>
+ により取得可能です.
+ </para>
+ <para>
+ 関数の最後の入力引数ではない場合,
+ <literal>varargin</literal>は,特殊な意味を持たない通常の
+ 入力引数の名前となります.
+ </para>
+ <para>
+ 実際の入力引数の総数は,<code>argn(2)</code>で取得できます.
+ </para>
+ </refsection>
+ <refsection>
+ <title>注意</title>
+ <para>
+ <literal>foo(...,key=value)</literal> のような名前付き引数構文は
+ <literal>varargin</literal>とは互換性がありません.
+ その理由は,
+ 値に対応する名前(すなわち, keys) が <literal>varargin</literal> リストに
+ 保存されないためです.
+ 例えば,以下について考えてみてください:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+function foo(varargin)
+ disp([varargin(1),varargin(2)])
+endfunction
+ ]]></programlisting>
+ <screen>
+ -->foo(a=1,b=2)
+ 1. 2.
+ -->foo(b=1,a=2)
+ 1. 2.
+ </screen>
+ <para>結果は同じですが, 引数は逆になります.</para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+function exampl(a,varargin)
+ [lhs,rhs]=argn(0)
+ if rhs>=1 then
+ disp(varargin)
+ end
+endfunction
+exampl(1)
+exampl()
+exampl(1,2,3)
+l=list('a',%s,%t);
+exampl(1,l(2:3))
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>参照</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ja_JP/varargout.xml b/modules/functions/help/ja_JP/varargout.xml
new file mode 100755
index 000000000..9472e16ac
--- /dev/null
+++ b/modules/functions/help/ja_JP/varargout.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargout" xml:lang="ja">
+ <refnamediv>
+ <refname>varargout</refname>
+ <refpurpose>出力変数リストの引数の数を可変にする</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 出力引数リスト <literal>varargout</literal>を含む関数は
+ 出力引数に示されたよりも多くの出力引数を指定して
+ コールされる必要があります.
+ <literal>varargout</literal>キーワード以降に指定された引数は
+ 関数で定義された<literal>varargout</literal>リストから
+ 展開することができます.
+ </para>
+ <para>
+ <literal>varargout= function ex()</literal> は任意の数の
+ 出力引数を指定してコールすることができます.
+ 関数<literal>ex</literal>の中では
+ 出力引数を<literal>varargout(i)</literal>に保存することができます.
+ </para>
+ <para>
+ <literal>[X1,...,Xn,varargout] = function ex()</literal> も
+ 使用可能です.
+ この場合,<literal>Xi</literal>引数は,
+ <literal>varargout(i)</literal>と同様に
+ 関数内で代入される必要があります.
+ </para>
+ <para>
+ 出力引数の実際の総数は,<code>argn(1)</code>で取得できます.
+ </para>
+ </refsection>
+ <refsection>
+ <title>注記</title>
+ <para>
+ <literal>varargout</literal> 変数は関数内で作成され,
+ <link linkend="list">list</link>に代入される必要があります.
+ <literal>varargout</literal> が唯一の形式上の出力変数の場合,
+ リストには最低でも一つのエントリを含む必要があります.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+function varargout=exampl()
+ varargout=list(1,2,3,4)
+endfunction
+x=exampl()
+[x,y]=exampl()
+[x,y,z]=exampl()
+function [a,b,varargout]=exampl1()
+ a='first'
+ b='second'
+ varargout=list(1,2,3,4)
+endfunction
+exampl1()
+[a,b]=exampl1()
+[a,b,c]=exampl1()
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>参照</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/addchapter.sce b/modules/functions/help/pt_BR/addchapter.sce
new file mode 100755
index 000000000..a53fdb337
--- /dev/null
+++ b/modules/functions/help/pt_BR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Funções",SCI+"/modules/functions/help/pt_BR",%T);
+
diff --git a/modules/functions/help/pt_BR/argn.xml b/modules/functions/help/pt_BR/argn.xml
new file mode 100755
index 000000000..938f24d80
--- /dev/null
+++ b/modules/functions/help/pt_BR/argn.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="argn" xml:lang="en">
+ <refnamediv>
+ <refname>argn</refname>
+ <refpurpose>nmero de argumentos na chamada de uma funo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>[lhs [,rhs] ]=argn()
+ lhs=argn(1)
+ rhs=argn(2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Esta funo usada dentro da definio de uma funo. Ela fornece
+ os nmeros de parmetros de entrada <literal>rhs</literal> e sada
+ <literal>lhs</literal> passados funo quando esta chamada. Geralmente
+ usada em definies de funes para lidar com parmetros
+ opcionais.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/CHAPTER b/modules/functions/help/pt_BR/built_in/CHAPTER
new file mode 100755
index 000000000..4beffcea0
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/CHAPTER
@@ -0,0 +1,2 @@
+title = Built-in & external
+
diff --git a/modules/functions/help/pt_BR/built_in/clearfun.xml b/modules/functions/help/pt_BR/built_in/clearfun.xml
new file mode 100755
index 000000000..8edda6f8b
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/clearfun.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="clearfun" xml:lang="en">
+ <refnamediv>
+ <refname>clearfun</refname>
+ <refpurpose>remove funo primitiva</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>ret=clearfun('name')</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ <literal>clearfun('name')</literal> remove a primitiva
+ <literal>'name'</literal> do conjunto de primitivas (funes built-in).
+ clearfun retorna %t ou %f. Esta funo permite renomear uma primitiva :
+ uma primitiva Scilab pode ser substituda por uma funo definida pelo
+ usurio. Para usurios experientes...
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/external.xml b/modules/functions/help/pt_BR/built_in/external.xml
new file mode 100755
index 000000000..f3f7399ac
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/external.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="external" xml:lang="en">
+ <refnamediv>
+ <refname>external</refname>
+ <refpurpose>objeto Scilab, funo ou rotina externa</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Funo ou rotina externa para uso com comandos especficos.</para>
+ <para>Uma "external" uma funo ou rotina que usada como argumento em
+ algumas primitivas de alto nvel (tais como <literal>ode</literal>,
+ <literal>optim</literal>, <literal>schur</literal>...).
+ </para>
+ <para>A seqncia de chamamento da "external" (funo ou rotina) imposta
+ pela primitiva de alto nvel que configura os argumentos da
+ external.
+ </para>
+ <para>Por exemplo, a funo externa costfunc um argumento da primitiva
+ optim . Sua seqncia de chamamento deve ser:
+ <literal>[f,g,ind]=costfunc(x,ind)</literal> e <literal>optim</literal> (a
+ primitiva de otimizao de alto nvel) invocada como segue:
+ </para>
+ <programlisting role=""><![CDATA[
+optim(costfunc,...)
+ ]]></programlisting>
+ <para>
+ Aqui <literal>costfunc</literal> (a funo de custo a ser minimizada
+ pela primitiva <literal>optim</literal>) avalia <literal>f=f(x)</literal>
+ e <literal>g=</literal> gradiente de <literal>f</literal> em
+ <literal>x</literal> (<literal>ind</literal> um inteiro. Seu uso
+ esclarecido na ajuda de <literal>optim</literal>).
+ </para>
+ <para>Se a funo externa necessita de outros valores, estas variveis
+ podem ser definidas em seu ambiente. Elas tambm podem ser colocadas em
+ uma lista. Por exemplo, a funo externa
+ </para>
+ <programlisting role=""><![CDATA[
+[f,g,ind]=costfunc(x,ind,a,b,c)
+ ]]></programlisting>
+ <para>
+ vlida para <literal>optim</literal> se o external (funo
+ externa) <literal>list(costfunc,a,b,c)</literal> e a chamada a
+ <literal>optim</literal> , ento:
+ </para>
+ <programlisting role=""><![CDATA[
+optim(list(costfunc,a1,b1,c1),....
+ ]]></programlisting>
+ <para>Um external tambm pode ser uma rotina FORTRAN ou C: isto
+ conveniente para acelerar computaes.
+ </para>
+ <para>TO nome da rotina fornecido para a primitiva de alto nvel como um
+ string. A seqncia de chamamento da rotina tambm imposta.
+ </para>
+ <para>Rotinas FORTRAN ou C podem ser dinamicamente linkadas ("ligadas,
+ conectadas") (ver <literal>link</literal>)
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ode">ode</link>
+ </member>
+ <member>
+ <link linkend="optim">optim</link>
+ </member>
+ <member>
+ <link linkend="impl">impl</link>
+ </member>
+ <member>
+ <link linkend="dassl">dassl</link>
+ </member>
+ <member>
+ <link linkend="intg">intg</link>
+ </member>
+ <member>
+ <link linkend="schur">schur</link>
+ </member>
+ <member>
+ <link linkend="gschur">gschur</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/funptr.xml b/modules/functions/help/pt_BR/built_in/funptr.xml
new file mode 100755
index 000000000..dc0db56df
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/funptr.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="funptr" xml:lang="en">
+ <refnamediv>
+ <refname>funptr</refname>
+ <refpurpose>codificao de primitivas </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>[numptr] = funptr(name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>string, nome de uma primitiva </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>numptr</term>
+ <listitem>
+ <para>o nmero de rotina interno da primitiva</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Fuo utilitria (para usurios mais experientes apenas) para
+ retornar o nmero de rotina interno <literal>numptr</literal> da primitiva
+ <literal>'name'</literal>. <literal>numptr</literal> formado a partir do
+ nmero de interface <literal>fun</literal> e do nmero de rotina
+ <literal>fin</literal> da primitiva em sua interface por <literal>numptr =
+ 100*fun + fin
+ </literal>
+ (fin &lt; 100). De <literal>numptr</literal>
+ pode-se obter o nmero de interface <literal>fun = floor(numptr/100)
+ </literal>
+ que pode ser til para ligar uma interface dinmica com seus
+ argumentos passados por referncia (ver seo de exemplos).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// Suponha que voc queira carregar alguns cdigos atravs
+// das facilidades de carregamento dinmico oferecidas por addinter. Por padro
+// os argumentos so passados por valores, mas se voc quiser
+// pass-los por referncia, voc pode fazer o seguinte
+// (nome sendo o nome scilab de uma das rotinas com
+// interface) :
+//
+// addinter(files,spnames,fcts) // argumentos passados por valores
+// num_interface = floor(funptr(nome)/100)
+// intppty(num_interface) // argumentos agora passados por referncia
+//
+// Note que se voc digitar o seguinte
+//
+// intppty()
+//
+// voc ver todas as interfaces funcionando por referncia
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Tambm </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="intppty">intppty</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/intppty.xml b/modules/functions/help/pt_BR/built_in/intppty.xml
new file mode 100755
index 000000000..ef3b30e0b
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/intppty.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="intppty" xml:lang="en">
+ <refnamediv>
+ <refname>intppty</refname>
+ <refpurpose>ajusta propriedades de passagem de argumentos de
+ interface
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>funs=intppty()
+ intppty(fun)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>inteiro, um nmero de interface (ver funptr)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>funs</term>
+ <listitem>
+ <para>vetor de inteiros, vetor de nmeros de interface (ver
+ funptr)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para> Os programas de interface pode ser escritos de duas formas
+ diferentes para o modo de passagem de argumento de funes.
+ </para>
+ <para> No primeiro modo, que o padro, os argumentos so passados por
+ valor. A sintaxe a seguinte:
+ </para>
+ <programlisting role=""><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ o argumento associado a <literal>A</literal> ser passado por
+ valores (uma cpia de <literal>A</literal> feita antes de
+ <literal>foo</literal> i ser chamada, e o argumento associado a
+ <literal>1+2</literal> ser passado por valor.
+ </para>
+ <para>No segundo modo, os argumentos podem ser passados por referncia, se
+ houver "argumentos nomeados" (nenhuma cpia do valor da varivel feita).
+ <literal>intppty(fun)</literal> com <literal>fun&gt;0</literal> diz ao
+ Scilab que a interface com o nmero <literal>fun</literal> pode manipular
+ argumentos passados por referncia. A sintaxe a seguinte:
+ </para>
+ <programlisting role=""><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ O argumento associado a <literal>A</literal> ser passado por
+ referncia e o argumento associado a <literal>1+2</literal> ser passado
+ por valor.
+ </para>
+ <para>
+ Aviso: a declarao de interface com nmero <literal>fun</literal>
+ pode manipular argumentos passados por referncia se no for o caso de
+ produzir resultados imprevisveis.
+ </para>
+ <para>
+ <literal>intppty(fun)</literal> com <literal>fun&lt;0</literal>
+ suprime esta propriedade para para a interface
+ <literal>-fun</literal>.
+ </para>
+ <para>
+ <literal>intppty()</literal> retorna o vetor de interfaces que
+ manipulam argumentos passados por referncia.
+ </para>
+ <para>Esta funo pode ser til para interfaces dinamicamente carregadas
+ (ver addinter).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/newfun.xml b/modules/functions/help/pt_BR/built_in/newfun.xml
new file mode 100755
index 000000000..116809ec7
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/newfun.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="newfun" xml:lang="en">
+ <refnamediv>
+ <refname>newfun</refname>
+ <refpurpose>adiciona um nome tabela de funes</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>newfun("function-name",nameptr)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Funo utilitria (apenas para peritos). Adiciona o nome
+ <literal>"function-name"</literal> tabela de funes conhecidas pelo
+ interpretador. <literal>"nameptr"</literal> um inteiro
+ <literal>100*fun+fin</literal> onde <literal>fun</literal> e
+ <literal>fin</literal> a codficao interna da primitiva
+ <literal>"function-name"</literal>. Esta funo til para associar uma
+ primitiva a uma rotina com interface em <literal>"matusr.f"</literal>
+ (<literal>fun=14</literal>). Usado com <literal>funptr</literal> e
+ <literal>clearfun</literal> pode-se redefinir uma primitiva por uma funo
+ com o mesmo nome.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/readgateway.xml b/modules/functions/help/pt_BR/built_in/readgateway.xml
new file mode 100755
index 000000000..895e1c093
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/readgateway.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="readgateway" xml:lang="en">
+ <refnamediv>
+ <refname>readgateway</refname>
+ <refpurpose>retorna a lista de primitivas de um módulo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>readgateway(module_name)
+ primitives = readgateway(module_name);
+ [primitives,primitivesID] = readgateway(module_name);
+ [primitives,primitivesID,gatewayID] = readgateway(module_name);
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrição</title>
+ <para>Retorna a lista de primitivas de um módulo.</para>
+ <para>Primitives : lista de primitivas de um módulo.</para>
+ <para>primitivesID : lista de identificadores das primitivas.</para>
+ <para>gatewayID : lista de identificadores de portas de ligaçãos
+ associados ao módulo.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+[primitives,primitivesID,gatewayID] = readgateway('core');
+primitives(1) // primitiva 'debug' primitive
+primitivesID(1) // 1 é o ID de 'debug' na porta de ligação de 'core'
+gatewayID(1) // 13 é o ID da porta de ligação de 'core' no Scilab
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getmodules">getmodules</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/built_in/what.xml b/modules/functions/help/pt_BR/built_in/what.xml
new file mode 100755
index 000000000..fbe0500bc
--- /dev/null
+++ b/modules/functions/help/pt_BR/built_in/what.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="what" xml:lang="pt">
+ <refnamediv>
+ <refname>what</refname>
+ <refpurpose>lista de primitivas do Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqncia de Chamamento </title>
+ <synopsis>what()
+ [primitives,commands]=what();
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Lista de comandos e primitivas de nvel baixo.</para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="whereami">whereami</link>
+ </member>
+ <member>
+ <link linkend="pause">pause</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/bytecode.xml b/modules/functions/help/pt_BR/bytecode.xml
new file mode 100755
index 000000000..7af6fd43d
--- /dev/null
+++ b/modules/functions/help/pt_BR/bytecode.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA Serge Steer
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="bytecode" xml:lang="pt">
+ <refnamediv>
+ <refname>bytecode</refname>
+ <refpurpose>dada uma funo, retorna "bytecode" (cdigo de bytes) da
+ funo em um array Scilab e vice-versa.
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>
+ x = bytecode(f)
+ f = bytecode(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>funo Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>vetor linha int32</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ <code>x = bytecode(f)</code> retorna o "bytecode" da funo
+ <varname>f</varname> no array Scilab de inteiros
+ <varname>x</varname>.
+ </para>
+ <para>
+ <code>f= bytecode(x)</code> retorna em <varname>f</varname> a
+ funo associada ao "bytecode" dado no array Scilab de inteiros
+ <varname>x</varname>.
+ <warning>
+ AVISO: a validade de <varname>x</varname> no
+ verificada.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Observao</title>
+ <para>O bytecode da funo Scilab evoluir drasticamente no futuro, ento
+ o uso dessa funo deve se restringir manipulao de instrues de
+ profiling.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function a=foo(),a=sin(3),endfunction
+bytecode(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="bytecodewalk">bytecodewalk</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/bytecodewalk.xml b/modules/functions/help/pt_BR/bytecodewalk.xml
new file mode 100755
index 000000000..fdd70b356
--- /dev/null
+++ b/modules/functions/help/pt_BR/bytecodewalk.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Ajouter ici d'ventuels commentaires sur le fichier XML
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="bytecodewalk" xml:lang="fr">
+ <refnamediv>
+ <refname>bytecodewalk</refname>
+ <refpurpose>caminha no bytecode (cdigo de bytes) da funo aplicando
+ transformao
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>c1 = bytecodewalk(code,query,job)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>code</term>
+ <listitem>
+ <para>vetor int32: array de bytecode de entrada</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>query</term>
+ <listitem>
+ <para>inteiro, o opcode (cdigo de operao) a ser procurado</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>job</term>
+ <listitem>
+ <para>a operao a ser realizada, requerida para</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c1</term>
+ <listitem>
+ <para>vetor int32: array de bytecode de sada</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>caminha no bytecode da funo aplicando transformao</para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="bytecode">bytecode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/comp.xml b/modules/functions/help/pt_BR/comp.xml
new file mode 100755
index 000000000..635496b9d
--- /dev/null
+++ b/modules/functions/help/pt_BR/comp.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="comp" xml:lang="en">
+ <refnamediv>
+ <refname>comp</refname>
+ <refpurpose>compilação de função Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>comp(function [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>uma função scilab não-compilada (tipo 11)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>flag com valor 0 (padrão), 1 ou 2.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>comp(function)</literal> compila a função
+ <literal>function</literal>. Funções compiladas e interpretadas são
+ equivalentes, mas geralmente as compiladas são mais rápidas. As funções
+ fornecidas nas bibliotecas padrões são compiladas.
+ </para>
+ <para>A definição online bem como a sintaxe curta dos comandos
+ <literal>exec</literal> e <literal>deff</literal> geram funções
+ compiladas. Então comp tem que ser usado apenas em casos bem particulares.
+ Para se produzir uma função não compilada, deve-se usar <link linkend="exec">exec</link> ou <link linkend="deff">deff</link> com a opção
+ <literal>"n"</literal>.
+ </para>
+ <para>O valor opt==2 faz com que a função seja compilada "para definição
+ de perfil". Note que agora é possível adicionar a instrução de definição
+ de perfil após a compilação utilizando a função <link linkend="add_profiling">add_profiling</link> .
+ </para>
+ <para>A opção obsoleta opt==1 era específica para propósitos de análise de
+ códigos e agora é ignorada, i.e tratada como opt==0.
+ </para>
+ <para>Note: na compilação a função original é modificada e nenhum objeto
+ novo é criado.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/deff.xml b/modules/functions/help/pt_BR/deff.xml
new file mode 100755
index 000000000..b7799bc08
--- /dev/null
+++ b/modules/functions/help/pt_BR/deff.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="deff" xml:lang="pt">
+ <refnamediv>
+ <refname>deff</refname>
+ <refpurpose>definio on-line de funo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>deff('[s1, s2, ...] = newfunction(e1, e2,...)',text [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>e1, e2, ...</term>
+ <listitem>
+ <para>variveis de entrada.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>s1, s2, ...</term>
+ <listitem>
+ <para>variveis de sada.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>text</term>
+ <listitem>
+ <para>matriz de strings.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>string opcional:</para>
+ <variablelist>
+ <varlistentry>
+ <term>'c'</term>
+ <listitem>
+ <para>a funo "compilada" para ser eficiente
+ (padro);
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'p'</term>
+ <listitem>
+ <para>a funo compilada e preparada para profiling (ver
+ <link linkend="profile">profile</link>);
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'n'</term>
+ <listitem>
+ <para>a funo no "compilada".</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ <function>deff</function> pode ser usada para definir funes de
+ seqncias de instrues escritas em strings de textos. Objeto funo
+ resultante tem as mesmas propriedades que qualquer outra funo definida
+ em um arquivo de texto e carregada atravs de <function>exec</function> ou
+ <function>exec</function>.
+ </para>
+ <para>Aspas em instrues (delimitando strings ou indicando transposio
+ de matrizes) devem ser dobradas para serem interpretadas corretamente (ver
+ quote). Isto pode tornar a escrita um tanto estranha. Uma alternativa em
+ tais casos definir funes em arquivos, como de uso, para carreg-las no
+ Scilab atravs de <function>exec</function> (com a opo
+ <literal>'n'</literal>) e utilizar <function>sci2exp</function> para uma
+ impresso das instrues <function>deff</function> correspondentes.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+deff('[x]=myplus(y,z)','x=y+z')
+
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y'])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="quote">quote</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/edit.xml b/modules/functions/help/pt_BR/edit.xml
new file mode 100755
index 000000000..f2b5f3870
--- /dev/null
+++ b/modules/functions/help/pt_BR/edit.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="edit" xml:lang="en">
+ <refnamediv>
+ <refname>edit</refname>
+ <refpurpose>edição de funções</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>edit(functionname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>functionname</term>
+ <listitem>
+ <para>string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Se functionname for o nome de uma função Scilab definida
+ <literal>edit(functionname)</literal> tente abrir o arquivo associado
+ <literal>functionname.sci</literal>.
+ </para>
+ <para>Se functionname for o nome de uma função Scilab indefinida,
+ <literal>edit</literal> cria o arquivo functionname.sci no diretório
+ TMPDIR.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+edit('edit') //abre o editor com o texto dessa função
+edit('myfunction') //abre o editor para uma nova função
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="manedit">manedit</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/exec.xml b/modules/functions/help/pt_BR/exec.xml
new file mode 100755
index 000000000..47c004041
--- /dev/null
+++ b/modules/functions/help/pt_BR/exec.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="exec" xml:lang="pt">
+ <refnamediv>
+ <refname>exec</refname>
+ <refpurpose>execução de arquivo script ("script" significa
+ roteiro)
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>exec(path [,mode])
+ exec(fun [,mode])
+ ierr = exec(path,'errcatch' [,mode])
+ ierr = exec(fun,'errcatch' [,mode])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>string, o endereço do arquivo script </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mode</term>
+ <listitem>
+ <para>escalar inteiro, o modo de execução (ver abaixo) </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>uma função do Scilab </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>inteiro, 0 ou número de erro</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <code>exec(path [,mode])</code> executa seqüencialmente as
+ instruções contidas no arquivo fornecido por <varname>path</varname> com
+ um modo de execução opcional <varname>mode</varname> .
+ </para>
+ <para>
+ Os casos diferentes para <varname>mode</varname> são :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ o valor padrão.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-1</term>
+ <listitem>
+ <para>
+ nada é impresso.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>
+ eco de cada linha de comando.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ prompt <literal>--&gt;</literal> é impresso.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>3</term>
+ <listitem>
+ <para>
+ ecos + prompts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ pára antes de cada prompt. A execução retorna
+ após cada retorno de carro.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>
+ paradas + prompts + ecos : útil para demos.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>exec(fun [,mode])</code> executa a função
+ <varname>fun</varname> como um script: sem argumentos de entrada ou saída
+ nem ambientes de variáveis específicos. Esta forma é mais eficiente,
+ porque o código script pode se pré-compilado (ver <link linkend="comp">comp</link>). Este método
+ para avaliação de scripts permite armazenar scripts como funções em
+ bibliotecas.
+ </para>
+ <para>
+ Se um erro é encontrado durante a execução, se o flag <literal>'errcatch'</literal>
+ estiver presente <function>exec</function> não imprime mensagem de erro,
+ aborta execução de instruções e retorna com <varname>ierr</varname> e
+ igual ao número de erro. Se o flag <literal>'errcatch'</literal> não estiver presente, a
+ manipulação de erros padrão é utilizada.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Observação </title>
+ <para>Arquivos executáveis (exec files) podem agora ser usados para
+ definir funções "inline" utilizando a sintaxe de definição (ver
+ <link linkend="function">function</link>).
+ </para>
+ </refsection>
+ <!--
+ <para><function>exec</function> supports files encoded as ANSI/ASCII and UTF-8 (NO-BOM).</para>
+ <para>The length of each line in a file is limited to 4096 characters.</para>
+-->
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// criando um arquivo script
+mputl('a=1;b=2',TMPDIR+'/meuscript')
+// executando-o
+exec(TMPDIR+'/meuscript')
+whos -name "a "
+
+// criando uma função
+deff('y=foo(x)','a=x+1;y=a^2')
+clear a b
+// chamando a função
+foo(1)
+// a é uma variável criada no ambiente da função foo
+// ela é destruída quando foo retorna
+whos -name "a "
+
+x=1 //criando x para torná-la conhecida pelo script foo
+exec(foo)
+// a e y são criadas no ambiente corrente
+whos -name "a "
+whos -name "y "
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="mode">mode</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/execstr.xml b/modules/functions/help/pt_BR/execstr.xml
new file mode 100755
index 000000000..746efa960
--- /dev/null
+++ b/modules/functions/help/pt_BR/execstr.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="execstr" xml:lang="pt">
+ <refnamediv>
+ <refname>execstr</refname>
+ <refpurpose>executa cdigo Scilab em strings</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>execstr(instr)
+ ierr = execstr(instr, 'errcatch' [,msg])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>instr</term>
+ <listitem>
+ <para>vetor de strings, instruo Scilab a ser executada. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>inteiro, 0 ou nmero de erro. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>msg</term>
+ <listitem>
+ <para>
+ string com valores <literal>'m'</literal> ou
+ <literal>'n'</literal>. O padro <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Executa as instrues Scilab fornecidas pelo argumento
+ <varname>instr</varname>.
+ </para>
+ <note>
+ Note que <varname>instr</varname> no deve fazer uso de marcas de continuao (..)
+ </note>
+ <para>
+ Se o flag <literal>'errcatch'</literal> no estiver presente, a manipulao de erros
+ ocorre de maneira usual.
+ </para>
+ <para>
+ Se o flag <literal>'errcatch'</literal> for ajustado, e um erro for encontrado enquanto
+ so executadas as instrues definidas em <varname>instr</varname>,
+ <function>execstr</function> no imprime uma mensagem de erro, mas aborta a
+ execuo das instrues <varname>instr</varname> (no ponto onde o erro
+ ocorreu) e retorna com <varname>ierr</varname> igual ao nmero de erro.
+ Neste caso a exibio da mensagem de erro controlada pela opo
+ <varname>msg</varname> :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"m"</term>
+ <listitem>
+ <para>a mensagem exibida e registrada.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"n"</term>
+ <listitem>
+ <para>nenhuma mensagem de erro exibida, mas a mensagem de erro
+ registrada (ver <literal>lasterror</literal>). Este o
+ padro.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>ierr = execstr(instr, 'errcatch')</code> pode manipular erros sintticos.
+ Isto til para a avaliao de uma instruo obtida por uma pegunta ao
+ usurio.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+execstr('a=1') // ajusta a=1.
+execstr('1+1') // faz nada (enquanto evstr('1+1') retorna 2)
+
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+
+execstr('a=zzzzzzz','errcatch')
+execstr('a=zzzzzzz','errcatch','m')
+
+//erros de sintaxe
+execstr('a=1?02','errcatch')
+lasterror(%t)
+
+execstr('a=[1 2 3)','errcatch')
+lasterror(%t)
+
+// variable1 does not exist
+if execstr('variable1;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+
+// variable2 exists ... no error is triggered by execstr
+variable2=[2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="lasterror">lasterror</link>
+ </member>
+ <member>
+ <link linkend="error">error</link>
+ </member>
+ <member>
+ <link linkend="try">try</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/fun2string.xml b/modules/functions/help/pt_BR/fun2string.xml
new file mode 100755
index 000000000..ce9403d31
--- /dev/null
+++ b/modules/functions/help/pt_BR/fun2string.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fun2string" xml:lang="pt">
+ <refnamediv>
+ <refname>fun2string</refname>
+ <refpurpose>gera definio ASCII de uma funo Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>txt = fun2string(fun, name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>varivel do tipo funo</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>string, o nome da funo gerada</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>vetor coluna de strings, o texto fornecendo as instrues
+ Scilab
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Dado um pseudo-cdigo de funo Scilab carregada <function>fun2string</function> permite
+ gerar novamente o cdigo. O cdigo gerado identado e embelezado.
+ </para>
+ <para>
+ O mecanismo similar, mas mais simples que o de <function>mfile2sci</function>. Tambm
+ pode ser adaptado para tradues de sintaxe.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+txt = fun2string(asinh,'foo');
+write(%io(2),txt,'(a)')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="edit">edit</link>
+ </member>
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/funcprot.xml b/modules/functions/help/pt_BR/funcprot.xml
new file mode 100755
index 000000000..a3b030673
--- /dev/null
+++ b/modules/functions/help/pt_BR/funcprot.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="funcprot" xml:lang="en">
+ <refnamediv>
+ <refname>funcprot</refname>
+ <refpurpose>alterna o modo de proteo de funes Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>funcprot(prot)
+ previousprot = funcprot(prot)
+ prot = funcprot()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>prot</term>
+ <listitem>
+ <para>inteiro com valores possveis 0,1 ou 2</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Funes Scilab so variveis, <function>funcprot</function> permite especificar o que o
+ Scilab faz quando tais variveis so redefinidas.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Se <code>prot==0</code> nada especial feito
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Se <code>prot==1</code> o Scilab exibe uma mensagem de aviso quando a funo
+ redefinida (modo padro)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Se <code>prot==2</code> o Scilab exibe uma mensagem de erro quando a funo
+ redefinida
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+previousprot = funcprot(1)
+deff('x = foo(a)','x = a;')
+deff('x = foo(a)','x = a + 1;')
+foo = 33
+funcprot(0)
+deff('x = foo(a)', 'x = a;')
+deff('x = foo(a)', 'x = a + 1;')
+foo = 33
+funcprot(previousprot)
+]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>Previous value is returned as output argument when setting a new value.</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/function.xml b/modules/functions/help/pt_BR/function.xml
new file mode 100755
index 000000000..396588a4b
--- /dev/null
+++ b/modules/functions/help/pt_BR/function.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="function" xml:lang="pt">
+ <refnamediv>
+ <refname>function</refname>
+ <refpurpose>abre definio de funo</refpurpose>
+ </refnamediv>
+ <refnamediv xml:id="endfunction">
+ <refname>endfunction</refname>
+ <refpurpose>encerra definio de funo</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrio</title>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function <lhs_arguments>=<function_name><rhs_arguments>
+<statements>
+endfunction
+ ]]></programlisting>
+ <para>Onde</para>
+ <variablelist>
+ <varlistentry>
+ <term>&lt;function_name&gt;</term>
+ <listitem>
+ <para> o nome da funo</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;rhs_arguments&gt;</term>
+ <listitem>
+ <para> a lista de argumentos de entrada. Pode ser:</para>
+ <itemizedlist>
+ <listitem>
+ <para>uma seqncia separada por vrgula de nomes de variveis
+ encerrada por parnteses, como <literal>(x1,...,xm)</literal>. O
+ ltimo nome de varivel pode ser a palavra-chave
+ <literal>varargin</literal> (ver <link linkend="varargin">varargin</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ a seqncia <literal>()</literal> ou nada, se a funo no
+ possui argumentos de entrada.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;lhs_arguments&gt;</term>
+ <listitem>
+ <para> a lista de argumentos de sada. Pode ser:</para>
+ <itemizedlist>
+ <listitem>
+ <para>uma seqncia separada por vrgula de nomes de variveis
+ encerrada por colchetes, como <literal>[y1,...,yn]</literal>. O
+ ltimo nome de varivel pode ser a palavra-chave
+ <literal>varargout</literal> (ver <link linkend="varargout">varargout</link>)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ a seqncia <literal>[]</literal>, se a funo no possui
+ argumentos de sada. neste caso, a sintaxe tambm, pode ser:
+ <literal>function
+ &lt;function_name&gt;&lt;rhs_arguments&gt;
+ </literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;statements&gt;</term>
+ <listitem>
+ <para>conjunto de instrues Scilab (declaraes). Esta sintaxe pode
+ ser usada para definir funes (ver <link linkend="functions">functions</link>) inline ou em arquivo
+ script (ver <link linkend="exec">exec</link>). Para compatibilidade com verses Scilab antigas,
+ as funes podem ser definidas em um arquivo script contendo apenas
+ definies de funes podem ser "carregadas" no Scilab atravs da
+ funo <function>exec</function>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ A seqncia <literal>function
+ &lt;lhs_arguments&gt;=&lt;function_name&gt;&lt;rhs_arguments&gt;
+ </literal>
+ no pode ser separada em vrias linhas. Esta seqncia pode ser seguida
+ por declaraes na mesma linha, se uma vrgula ou ponto-e-vrgula for
+ adicionado ao seu fim.
+ </para>
+ <note>
+ Note that <literal>&lt;function_name&gt;</literal> must respect some syntax rules (see <link linkend="names">names</link>).
+ </note>
+ <para>Definies de funes podem ser aninhadas.</para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//definio inline
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//uma definio de funo de uma linha
+function y=sq(x),y=x^2,endfunction
+
+sq(3)
+
+//definio de funo aninhada
+function y=foo(x)
+a=sin(x)
+function y=sq(x), y=x^2,endfunction
+y=sq(a)+1
+endfunction
+
+foo(%pi/3)
+
+// definio em um arquivo script (ver exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="functions">functions</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="names">names</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/functions.xml b/modules/functions/help/pt_BR/functions.xml
new file mode 100755
index 000000000..65b9b0aba
--- /dev/null
+++ b/modules/functions/help/pt_BR/functions.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="functions" xml:lang="pt">
+ <refnamediv>
+ <refname>functions</refname>
+ <refpurpose>procedimentos Scilab e objetos Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Funes so procedimentos Scilab ("macro", "funo" e "procedure"
+ possuem o mesmo significado).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Definio de Funo</title>
+ <para>Geralmente, elas so definidas em arquivos com um edito e carregadas
+ no Scilab atravs da funo <link linkend="exec">exec</link> ou atravs de
+ uma biblioteca (ver <link linkend="lib">lib</link> ou <link linkend="genlib">genlib</link>). Mas tambm podem ser definidas on-line
+ (ver <link linkend="deff">deff</link> ou <link linkend="function">function</link>. Uma funo definida por dois
+ componentes:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>uma parte "definio de sintaxe" como segue:</para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
+ ]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>uma seqncia de instrues Scilab.</para>
+ </listitem>
+ </itemizedlist>
+ <para>A linha de "definio de sintaxe" fornece a sintaxe de chamamento
+ "completa" para esta funo. As variveis <literal>yi</literal> so
+ variveis de sada calculadas em funo das variveis de entrada
+ <literal>xi</literal> e variveis existentes no Scilab quando a funo
+ executada.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Chamada de Funo</title>
+ <itemizedlist>
+ <listitem>
+ <para>A sintaxe de chamamento de funo usual
+ <literal>[y1,...,yn]=foo(x1,...,xm)</literal>. Listas de argumentos de
+ entrada ou sada mais curtos que as da definio podem ser usadas. Em
+ tais casos, apenas as primeiras variveis da esquerda para direita so
+ usadas ou definidas.
+ </para>
+ <para>
+ A funo <link linkend="argn">argn</link> pode ser utilizada
+ para se o nmero total real de argumentos de chamada.
+ </para>
+ </listitem>
+ <listitem>
+ <para> possvel definir funes com nmero mximo indeterminado de
+ argumentos de entrada ou sada. Isto pode ser feito utilizando-se as
+ palavras-chave <link linkend="varargin">varargin</link> e <link linkend="varargout">varargout</link> keywords. Veja os links para
+ detalhes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Tambm possvel utilizar "argumentos nomeados" para
+ especificar argumentos de entrada: suponha que a funo <function>fun1</function> seja
+ definida como <code>function y1 = fun1(x1, x2, x3)</code>, ento pode ser chamada com uma sintaxe
+ como <code>y = fun1(x1=33, x3=[1 2 3])</code>. Dentro de
+ <function>fun1</function> <varname>x2</varname> ser indefinida.
+ </para>
+ <para>Tambm pode ser chamada com sintaxe como
+ <code>y = fun1(x1=33, y='foo')</code>. Em tal caso, a varivel
+ <varname>y</varname> estar disponvel no contexto da funo
+ <function>fun1</function>.
+ <note>
+ Note que o nmero mximo de argumentos deve
+ ser menor que ou igual ao nmero de argumentos de entrada fornais
+ utilizados na parte de sintaxe da funo.
+ </note>
+ </para>
+ <para> possvel buscar por variveis definidas atravs da funo
+ <link linkend="exists">exists</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Quando uma funo no possui argumento de lado esquerdo e
+ chamada apenas com argumentos strings, a sintaxe de chamamento pode
+ ser simplificada:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun('a','toto','a string')
+ ]]></programlisting>
+ <para>is equivalent to:</para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun a toto 'a string'
+ ]]></programlisting>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Miscelnea</title>
+ <para>Funes Scilab so objetos (com nmeros de tipo 13 ou 11). Elas
+ podem ser manipuladas (construdas, salvas, carregadas, passadas como
+ argumentos,...) como outros tipos de variveis.
+ </para>
+ <para>Colees de funes podem ser reunidas em bibliotecas. Funes que
+ comeam pelo sinal <literal>%</literal> (ex: <literal>%foo</literal>) so
+ geralmente utilizadas para operaes de sobrecarga (ver <link linkend="overloading">overloading</link>) ou so funes para novos tipos
+ de dados.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//definio inline (ver function)
+function [x,y]=myfct(a,b)
+ x=a+b
+ y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//definio inline (ver deff)
+deff('[x,y]=myfct(a,b)',['x=a+b';
+ 'y=a-b'])
+// definio em um arquivo ASCI (ver exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="exists">exists</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/getd.xml b/modules/functions/help/pt_BR/getd.xml
new file mode 100755
index 000000000..b4bc6962b
--- /dev/null
+++ b/modules/functions/help/pt_BR/getd.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getd" xml:lang="pt">
+ <refnamediv>
+ <refname>getd</refname>
+ <refpurpose>retorna todas as funes definidas em um
+ diretrio
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>getd(path)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>string Scilab. O endereo do diretrio</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Carrega todos os arquivos <literal>.sci</literal> (contendo funes
+ Scilab) definidos no diretrio <varname>path</varname>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+getd('SCI/modules/cacsd/macros')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/head_comments.xml b/modules/functions/help/pt_BR/head_comments.xml
new file mode 100755
index 000000000..275a4ef2e
--- /dev/null
+++ b/modules/functions/help/pt_BR/head_comments.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="head_comments" xml:lang="pt">
+ <refnamediv>
+ <refname>head_comments</refname>
+ <refpurpose>exibe comentrios do cabealho da funo Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>head_comments(name)
+ head_comments(name,%paths)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>string, nome da funo</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%paths</term>
+ <listitem>
+ <para>vetor de strings, endereos onde se deve procurar o arquivo
+ sci
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ <code>head_comments(name)</code> exibe comentrios do cabealho da
+ funo (como a ajuda do Matlab). Os comentrios so lidos do arquivo sci
+ associado. Se <varname>name</varname> for uma funo em uma biblioteca, o
+ endereo do arquivo sci aquele dado pelo endereo da biblioteca (ver
+ <link linkend="lib">lib</link>). Se <varname>name</varname> for uma funo que no
+ est na biblioteca, um arquivo de nome <varname>name</varname><literal>.sci</literal>
+ procurado nos outros diretrios fornecidos pela varivel
+ <varname>%paths</varname>.
+ </para>
+ <warning>
+ AVISO: a maior parte das funes Scilab predefinidas no possui comentrios de cabealho.
+ </warning>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+head_comments sinc
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="help">help</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/CHAPTER b/modules/functions/help/pt_BR/libraries/CHAPTER
new file mode 100755
index 000000000..4cd7693b5
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/CHAPTER
@@ -0,0 +1,2 @@
+title = Libraries
+
diff --git a/modules/functions/help/pt_BR/libraries/genlib.xml b/modules/functions/help/pt_BR/libraries/genlib.xml
new file mode 100755
index 000000000..43e3f9d72
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/genlib.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="genlib" xml:lang="en">
+ <refnamediv>
+ <refname>genlib</refname>
+ <refpurpose>constri biblioteca a partir de funes em um
+ diretrio
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>genlib(lib_name [[,dir_name, [ Force [,verb [,Names]]]])
+ genlib(lib_name [,path=dir_name] [,verbose=verb] [,force=Force] [,names=Names])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>lib_name:</term>
+ <listitem>
+ <para>string. O nome da varivel biblioteca a ser (re)criada.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>dir_name:</term>
+ <listitem>
+ <para>string. O nome do diretrio onde se deve procurar arquivos
+ <literal>.sci</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Force</term>
+ <listitem>
+ <para>
+ booleano (o padro <literal>%f</literal>). Para forar
+ recompilao de arquivos .sci, ajuste-o para
+ <literal>%t</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>verb</term>
+ <listitem>
+ <para>
+ booleano (o padro <literal>%f</literal>). Para obter
+ informaes ajuste-o para <literal>%t</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Names</term>
+ <listitem>
+ <para>vetor de strings, os nomes das funes a serem inclusas na
+ bibilioteca. Por padro, todos os arquivos sci so levados em
+ conta.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Para cada arquivo <literal>.sci</literal> em
+ <literal>dir_name</literal> (ou apenas para aqueles especificados pelo
+ argumento <literal>Names</literal>), <literal>genlib</literal> executa um
+ <literal>exec</literal> e salva as funes no arquivo
+ <literal>.bin</literal> correspondente. O arquivo <literal>.sci</literal>
+ s pode conter instrues Scilab. Se um arquivo <literal>.bin</literal>
+ for mais novo que o arquivo <literal>.sci</literal> assicuadi,
+ <literal>genlib</literal> no traduz nem salva o arquivo.
+ </para>
+ <para>O comportamento padro pode ser modificado se
+ <literal>force</literal> for fornecido e ajustado para
+ <literal>%t</literal>. Neste ltimo caso, a recompilao sempre feita
+ para cada arquivo <literal>.sci</literal>.
+ </para>
+ <para>
+ Quando todos os arquivos <literal>.sci</literal> tiverem sido
+ processados, <literal>genlib</literal> cria uma biblioteca nomeada
+ <literal>lib_name</literal> e a salva arquivo <literal>lib</literal> em
+ <literal>dir_name</literal>. Se a varivel Scilab
+ <literal>lib_name</literal> no estiver protegida (ver <link linkend="predef">predef</link>), esta varivel atualizada.
+ </para>
+ <para>
+ Se <literal>verb</literal> estiver ajustado para
+ <literal>%t</literal> informaes so exibidas durante o processo de
+ construo.
+ </para>
+ <para>
+ Seo argumento <literal>dir_name</literal> no for fornecido e se a
+ varivel Scilab <literal>lib_name</literal> existe e uma varivel
+ dir_name tomado como sendo igual a o endereo de bibilioteca
+ <literal>lib_name</literal> (modo de atualizao).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Restries</title>
+ <para>
+ Scilab assume implicitamente que <literal>foo.sci</literal> define
+ pelo menos uma funo de nome <literal>foo</literal>. Se funes
+ subsidirias estiverem inlusas, elas so tornadas conhecidas ao Scilab
+ apenas depois que funo <literal>foo</literal> tiver sido
+ referencida.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/get_function_path.xml b/modules/functions/help/pt_BR/libraries/get_function_path.xml
new file mode 100755
index 000000000..2740a6853
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/get_function_path.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="get_function_path" xml:lang="en">
+ <refnamediv>
+ <refname>get_function_path</refname>
+ <refpurpose>retorna o endereo do arquivo fonte de uma funo de
+ biblioteca
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>path=get_function_path(fun_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun_name</term>
+ <listitem>
+ <para>string, o nome da funo</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>string, o nome absoluto do endereo do arquivo fonte da funo
+ (.sci) ou [].
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Dadi o nome de uma uma funo, get_function_path o nome absoluto do
+ endereo do arquivo fonte da funo se a funo estiver definida em uma
+ biblioteca Scilab (ver lib) ou [] se nenhum nome corresponde a uma funo
+ de biblioteca.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+get_function_path('median')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/lib.xml b/modules/functions/help/pt_BR/libraries/lib.xml
new file mode 100755
index 000000000..5228a87a4
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/lib.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="lib" xml:lang="en">
+ <refnamediv>
+ <refname>lib</refname>
+ <refpurpose>definio de biblioteca</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>xlib = lib('lib-dir')</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>lib-dir</term>
+ <listitem>
+ <para>string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ <literal>lib-dir</literal> um string definindo um diretrio que
+ contm arquivos de funes compiladas do Scilab
+ (<literal>.bin</literal>).
+ </para>
+ <para>
+ Em adio a esses arquivos <literal>lib-dir</literal> deve conter um
+ arquivo chamado <literal>names</literal>, que contm os nomes das funes
+ definidas em <literal>lib-dir</literal>. Com sucesso, todas as funes em
+ <literal>lib-dir</literal> estaro disponveis dentro do Scilab. Elas so
+ carregadas em demanda quando so chamadas pela primeira vez.
+ </para>
+ <para>Arquivos binrios podem ser criados de dentro do Scilab com o
+ comando <literal>save</literal>.
+ </para>
+ <para>As bibliotecas padres do Scilab so definidas utilizando-se
+ <literal>lib</literal> nos subdiretrios
+ <literal>SCI/modules/*/macros/*</literal>.
+ </para>
+ <para>Uma varivel biblioteca geralmente salva para carregamento
+ posterior, tanto on-line quanto do arquivo de inicializao especfico do
+ usurio (ver startup).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Restries</title>
+ <para>O Scilab assume tacitamente que cada arquivo xxxx.bin define uma
+ varivel chamada <literal>xxxx</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//define some variables
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+A=1:10;
+
+//create the *.bin files in libdir
+libdir=TMPDIR
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+save(libdir + '/A.bin', A);
+
+//create the name file
+mputl(['myplus';'yourplus';'A'],TMPDIR+'/names');
+
+//build the library containing myplus and yourplus
+xlib = lib(libdir+'/')
+
+//erase the variables
+clear myplus yourplus A
+
+//Automatic loading and execution
+myplus(1,2)
+
+A
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="library">library</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="whereis">whereis</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/librarieslist.xml b/modules/functions/help/pt_BR/libraries/librarieslist.xml
new file mode 100755
index 000000000..3deb18226
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/librarieslist.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="librarieslist" xml:lang="en">
+ <refnamediv>
+ <refname>librarieslist</refname>
+ <refpurpose>retorna as bibliotecas do Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>s=librarieslist()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>uma matriz de strings</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Retorna em <literal>s</literal> todas as bibliotecas na pilha
+ Scilab.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+librarieslist()
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="libraryinfo">libraryinfo</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/library.xml b/modules/functions/help/pt_BR/libraries/library.xml
new file mode 100755
index 000000000..0a45063c5
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/library.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="library" xml:lang="en">
+ <refnamediv>
+ <refname>library</refname>
+ <refpurpose>descrio de tipo de dado bibilioteca</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Uma bibilioteca um tipo de dado com nmero 14. Contm um nome de
+ endereo e um conjunto de nomes. Permite o carregamento automtico de
+ variveis utilizando o seguinte algoritmo:
+ </para>
+ <para>Suponha o usurio Scilab referencie a varivel de nome
+ <literal>foo</literal>. O Scilab procura primeiro se
+ <literal>foo</literal> o nome de uma primitiva, ou de uma varivel j
+ definida. Se na for, procura por <literal>foo</literal> seqencialmente
+ (a mais nova) em toda a biblioteca definida .
+ </para>
+ <para>
+ Suponha que <literal>foo</literal> pertence ao conjunto de nomes da
+ biblioteca <literal>xlib</literal>. Ento o Scilab tenta carregar o
+ arquivo &lt;xlib-path-name&gt;/foo.bin. &lt;xlib-path-name&gt;/foo.bin
+ deve ter sido criado utilizando-se a funo
+ <literal>save</literal>.
+ </para>
+ <para>Bibliotecas geralmente so utilizadas para colees de funes, mas
+ tambm podem ser utilizadas para colees de variveis Scilab.
+ </para>
+ <para>Se uma funo estiver definida em mais de uma biblioteca, o
+ algoritmo de busca padro carrega aquela contida na mais nova. possvel
+ forar o uso de uma biblioteca especfica utilizando a notao de
+ ponto:
+ </para>
+ <para>
+ <literal>xlib.foo</literal> carrega a varivel
+ <literal>foo</literal> contida em <literal>xlib</literal>, if
+ <literal>foo</literal> for uma funo e <literal>xlib.foo(args)</literal>
+ executa as funes.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// elemlib uma biblioteca predefinida
+elementary_functionlib //exibindo o contedo da biblioteca
+A=rand(3,3);
+cosm(A) //carregando cosm e executando-o
+whos -name cosm // agora, cosm uma varivel
+elementary_functionlib.sinm //carregando sinm da biblioteca
+elementary_functionlib.cosm(A) //carregando novamente cosm e executando-o
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="load">load</link>
+ </member>
+ <member>
+ <link linkend="save">save</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/libraryinfo.xml b/modules/functions/help/pt_BR/libraries/libraryinfo.xml
new file mode 100755
index 000000000..d08229a55
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/libraryinfo.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="libraryinfo" xml:lang="en">
+ <refnamediv>
+ <refname>libraryinfo</refname>
+ <refpurpose>retorna macros e endereo de uma biblioteca
+ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>macros = libraryinfo(libraryname)
+ [macros,path] = libraryinfo(libraryname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>macros</term>
+ <listitem>
+ <para>uma matriz de strings (todas as funes principais da
+ biblioteca)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>um string (endereo da biblioteca)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <variablelist>
+ <varlistentry>
+ <term>libraryname</term>
+ <listitem>
+ <para>string (nome da biblioteca)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Retorna nomes de funes e o endereo de uma biblioteca Scilab. Os
+ nomes de funes so aqueles que correspondem aos nomes de arquivo
+ associados .sci ou .bin. Os outros so funes subsidirias.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+[m,p]=libraryinfo('corelib')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="librarieslist">librarieslist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/libraries/whereis.xml b/modules/functions/help/pt_BR/libraries/whereis.xml
new file mode 100755
index 000000000..79bc344f2
--- /dev/null
+++ b/modules/functions/help/pt_BR/libraries/whereis.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="whereis" xml:lang="en">
+ <refnamediv>
+ <refname>whereis</refname>
+ <refpurpose>ome da biblioteca contendo a funo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>[librname]=whereis(function-name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Retorna um string correspondente ao nome da biblioteca onde a funo
+ <literal>function-name</literal>. se encontra. O endereo da biblioteca
+ retornado digitando-se <literal>"librname"</literal>.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/listfunctions.xml b/modules/functions/help/pt_BR/listfunctions.xml
new file mode 100755
index 000000000..eed04b371
--- /dev/null
+++ b/modules/functions/help/pt_BR/listfunctions.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="listfunctions" xml:lang="pt">
+ <refnamediv>
+ <refname>listfunctions</refname>
+ <refpurpose>propriedades de todas as funes no espao de
+ trabalho
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>[flist,compiled,profilable,called] = listfunctions([scope])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>scope</term>
+ <listitem>
+ <para>
+ string, <literal>"local"</literal> (padro) ou <literal>"global"</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flist</term>
+ <listitem>
+ <para>array de strings, names nomes de todas as variveis funes
+ especificadas no espao de trabalho
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>compiled</term>
+ <listitem>
+ <para>array de booleanos, verdadeiro se o elemento correspondente de
+ <varname>flist</varname> for do tipo 13
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>profilable</term>
+ <listitem>
+ <para>array de booleanos, verdadeiro se o elemento correspondente de
+ <varname>flist</varname> for do tipo 13, e adicionalmente informaes sobre profiling
+ forem encontradas no pseudo-cdigo da funo.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>called</term>
+ <listitem>
+ <para>array uint32, nmero de vezes que o elemento correspondente de
+ <varname>flist</varname> foi chamado (no-zero apenas se a funo possuir
+ profiling)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <itemizedlist>
+ <listitem>
+ <para>Esta funo verifica todas as variveis do espao de trabalho
+ (dadas por <link linkend="who">who</link>) e coleta aquelas de tipo 11
+ ou 13; para as ltimas, <code>lst = macr2lst(fun)</code> chamada, de modo a verificar
+ a entrada para magic profiling ao fim da primeira linha de cdigo,
+ i.e. <code>lst(5)(1)=="25"</code>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+[flist,compiled,profilable,called] = listfunctions();
+flist(profilable)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="recompilefunction">recompilefunction</link>
+ </member>
+ <member>
+ <link linkend="who">who</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Bibliografia</title>
+ <para>
+ <ulink url="http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation">http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation</ulink>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/macr2lst.xml b/modules/functions/help/pt_BR/macr2lst.xml
new file mode 100755
index 000000000..06d681905
--- /dev/null
+++ b/modules/functions/help/pt_BR/macr2lst.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="macr2lst" xml:lang="en">
+ <refnamediv>
+ <refname>macr2lst</refname>
+ <refpurpose>converso de funo para lista</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>lst = macr2lst(function_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>a function to be converted.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>a list.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Esta primitiva converte uma verso compilada do Scilab
+ <varname>function_name</varname> em uma lista que codifica a representao
+ interna da funo (notao polonesa inversa).
+ </para>
+ <para>A primeira entrada da lista o nome da funo, as segunda e
+ terceira so, respectivamente, os vetores das variveis de lado esquerdo e
+ direito (lhs e rhs). As entradas seguintes so registros de operao
+ bsica ou listas que contm as estruturas de controle hierrquicas como <literal>if</literal>, <literal>for</literal>, ...
+ </para>
+ <para>Registros de operao bsica so descritos por um vetor de strings
+ cujo primeiro elemento representa cdigo do operador (op code).
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>op codes</td>
+ <td>significado</td>
+ <td>parmetros</td>
+ </tr>
+ <tr>
+ <td>"0"</td>
+ <td>opcode ignorado</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"1"</td>
+ <td>no mais usado</td>
+ <td/>
+ </tr>
+ <tr>
+ <td>"2"</td>
+ <td>referncia funo ou varivel</td>
+ <td>nome da varivel, #rhs, #lhs</td>
+ </tr>
+ <tr>
+ <td>"3"</td>
+ <td>coloca um string na pilha</td>
+ <td>um string</td>
+ </tr>
+ <tr>
+ <td>"4"</td>
+ <td>coloca uma matriz vazia na pilha</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"5"</td>
+ <td>aplica uma operao</td>
+ <td>cdigo de operao, #rhs,#lhs</td>
+ </tr>
+ <tr>
+ <td>"6"</td>
+ <td>coloca um nmero na pilha</td>
+ <td>o nmero</td>
+ </tr>
+ <tr>
+ <td>"12"</td>
+ <td>comando pause</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"13"</td>
+ <td>comando break</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"14"</td>
+ <td>comando abort</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"15"</td>
+ <td>marca de fim da linha</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"17"</td>
+ <td>comando quit</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"18"</td>
+ <td>varivel nomeada</td>
+ <td>nome da varivel</td>
+ </tr>
+ <tr>
+ <td>"19"</td>
+ <td>cria estrutura de ndice recursiva</td>
+ <td>comprimento do endereo, nmero de ndices finais</td>
+ </tr>
+ <tr>
+ <td>"20"</td>
+ <td>chamada a funo</td>
+ <td>nome da funo, #rhs, #lhs</td>
+ </tr>
+ <tr>
+ <td>"23"</td>
+ <td>cria varivel a partir do nome</td>
+ <td>nome da varivel</td>
+ </tr>
+ <tr>
+ <td>"24"</td>
+ <td>coloca uma varivel de tipo 0 na pilha</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"25"</td>
+ <td>registro de perfil</td>
+ <td>nmero da chamada, gasto de tempo</td>
+ </tr>
+ <tr>
+ <td>"26"</td>
+ <td>coloca um vetor de strings na pilha</td>
+ <td>#linhas, #colunas, seqncia de elementos</td>
+ </tr>
+ <tr>
+ <td>"27"</td>
+ <td>coloca uma referncia a um builtin na pilha</td>
+ <td>nmero da interface, posio da interface, nome da funo</td>
+ </tr>
+ <tr>
+ <td>"28"</td>
+ <td>comando continue</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>"29"</td>
+ <td>atribuio</td>
+ <td>#lhs, modo de exibio, (nome da varivel, #rhs)*</td>
+ </tr>
+ <tr>
+ <td>"30"</td>
+ <td>curto circuito de expresso lgica</td>
+ <td>tipo, tamanho do salto (jump)</td>
+ </tr>
+ <tr>
+ <td>"31"</td>
+ <td>comentrio</td>
+ <td>o comentrio</td>
+ </tr>
+ <tr>
+ <td>"99"</td>
+ <td>comando return</td>
+ <td>nenhum</td>
+ </tr>
+ <tr>
+ <td>&gt; "100"</td>
+ <td>chamada a um builtin (obsoleto)</td>
+ <td>100*fun, #rhs, #lhs, fin</td>
+ </tr>
+ </informaltable>
+ <para>
+ A funo <link linkend="fun2string">fun2string</link> pode ser usada
+ para se gerar o cdigo inicial
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//EXIBIO
+function y=foo(x,flag)
+ if flag then
+ y=sin(x)
+ else
+ y=cos(x)
+ end
+endfunction
+L=macr2lst(foo)
+fun2string(L)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/macr2tree.xml b/modules/functions/help/pt_BR/macr2tree.xml
new file mode 100755
index 000000000..685c76e2d
--- /dev/null
+++ b/modules/functions/help/pt_BR/macr2tree.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="macr2tree" xml:lang="en">
+ <refnamediv>
+ <refname>macr2tree</refname>
+ <refpurpose>converso de funo para rvore</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>t=macr2tree(function-name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>function-name</term>
+ <listitem>
+ <para>macro do Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>uma "rvore" do Scilab</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Esta primitiva converte uma funo Scilab compilada
+ <literal>function-name</literal> em uma rvore (tlistas imbricadas) que
+ codifica a representao interna da funo. Deve ser usada com
+ <literal>tree2code</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/macro.xml b/modules/functions/help/pt_BR/macro.xml
new file mode 100755
index 000000000..fb5f1cf7a
--- /dev/null
+++ b/modules/functions/help/pt_BR/macro.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="macro" xml:lang="pt">
+ <refnamediv>
+ <refname>macro</refname>
+ <refpurpose>Procedimento Scilab e objeto Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Macros so procedimentos Scilab ("macro", "funo" e "procedimento"
+ possuem o mesmo significado). Geralmente, eles so definidos em arquivos
+ com um editor e carregados no Scilab com <function>exec</function> ou
+ atravs de uma biblioteca.
+ </para>
+ <para>
+ Tambm podem ser definidos on-line (ver <link linkend="deff">deff</link>). Um
+ arquivo que contm uma macro deve comear como segue:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+ ]]></programlisting>
+ <para>
+ Os <literal>yi</literal> so variveis de sada calculadas como
+ funes de variveis de entrada e variveis existentes no Scilab quando o
+ macro executado. Um macro pode ser compilado para uma execuo mais
+ rpida. Colees de macros podem ser armazenadas em bibliotecas. Macros
+ que comeam pelo smbolo <literal>%</literal> (ex.:
+ <literal>%foo</literal>) e cujos argumentos so listas so usadas para
+ executar operaes especficas: por exemplo,
+ <code>z=%rmr(x,y)</code> equivalente a <code>z=x*y</code>
+ quando <varname>x</varname> e <varname>z</varname> so racionais (i.e.
+ <code>x=list('r',n,d,[])</code> com <varname>n</varname> e
+ <varname>d</varname> polinmios).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/macrovar.xml b/modules/functions/help/pt_BR/macrovar.xml
new file mode 100755
index 000000000..6cecf8cd8
--- /dev/null
+++ b/modules/functions/help/pt_BR/macrovar.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="macrovar" xml:lang="pt">
+ <refnamediv>
+ <refname>macrovar</refname>
+ <refpurpose>variveis de uma funo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>vars = macrovar(function)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>vars</term>
+ <listitem>
+ <para>list
+ <literal>list(in,out,globals,called,locals)</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>nome de uma funo</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>Retorna em uma lista o conjunto de variveis utilizadas por uma
+ funo. <varname>vars</varname> uma lista feita de cinco vetores colunas
+ de strings:
+ </para>
+ <simplelist type="inline">
+ <member>
+ <varname>in</varname>: variveis de entrada
+ (<code>vars(1)</code>);
+ </member>
+ <member>
+ <varname>out</varname>: variveis de sada
+ (<code>vars(2)</code>);
+ </member>
+ <member>
+ <varname>globals</varname>: variveis globais
+ (<code>vars(3)</code>);
+ </member>
+ <member>
+ <varname>called</varname>: nomes de funes chamadas
+ (<code>vars(4)</code>);
+ </member>
+ <member>
+ <varname>locals</varname>: variveis locais
+ (<code>vars(5)</code>).
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+deff('y=f(x1,x2)','loc=1;y=a*x1+x2-loc')
+vars=macrovar(f)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/mode.xml b/modules/functions/help/pt_BR/mode.xml
new file mode 100755
index 000000000..fa082b716
--- /dev/null
+++ b/modules/functions/help/pt_BR/mode.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mode" xml:lang="en">
+ <refnamediv>
+ <refname>mode</refname>
+ <refpurpose>seleciona um modo em um arquivo executvel</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>mode(k)
+ k=mode()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Usado exclusivamente dentro de um arquivo executvel ou uma funo
+ do Scilab, <literal>mode(k)</literal> permite mudar as informaes
+ exibidas durante a execuo, dependendo do valor de
+ <literal>k</literal>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>k=0</term>
+ <listitem>
+ <para>os novos valores de variveis so exibidos, se requeridos (ver
+ ajuda em semi ou comma).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k=-1</term>
+ <listitem>
+ <para>o arquivo executvel ou a funo Scilab roda
+ "silenciosamente". (este o valor padro para funes do Scilab)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k=1 or k=3</term>
+ <listitem>
+ <para>cada linha de instrues ecoada precedida do prompt (se
+ possvel). Os novos valores de variveis so exibidos, se requerido.
+ Este o padro para arquivos executveis.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k=7</term>
+ <listitem>
+ <para>Os novos valores de variveis so exibidos, se requerido. Cada
+ linha de instrues ecoada (se possvel) e um prompt (&gt;&gt;)
+ aparece aps cada linha esperando por um retorno de carro.
+ </para>
+ <para>Se o retorno de carro segue o caractere "p", a execuo
+ pausada (ver <link linkend="pause">pause</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>A exibio de linha desabilitada para funes do Scilab compiladas
+ (ver comp). Por padro, funes do Scilab so executadas no modo
+ "silencioso" ("-1").
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="semicolon">semicolon</link>
+ </member>
+ <member>
+ <link linkend="comma">comma</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/overloading.xml b/modules/functions/help/pt_BR/overloading.xml
new file mode 100755
index 000000000..22f333ad3
--- /dev/null
+++ b/modules/functions/help/pt_BR/overloading.xml
@@ -0,0 +1,489 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="pt">
+ <refnamediv>
+ <refname>overloading</refname>
+ <refpurpose>capacidades de overloading ("sobrecarga") de exibições,
+ funções e operadores
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>No Scilab, exibições, funções e operadores de variáveis podem ser
+ definidos para novos objetos utilizando funções (codificadas no Scilab ou
+ primitivas).
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Exibição (Display)</term>
+ <listitem>
+ <para>a exibição de objetos definidos por uma estrutura
+ <literal>tlist</literal> pode ser sobrecarregada (a exibição padrão
+ é semelhante a de <literal>list</literal>'s). A função de sobrecarga
+ não deve ter argumentos de saída e deve ter um único argumento de
+ entrada. Seu nome é formado como segue:
+ <literal>%&lt;tlist_type&gt;_p</literal> onde
+ <literal>%&lt;tlist_type&gt;</literal> significa a primeira entrada
+ do componente do tipo <literal>tlist</literal> truncado aos 9
+ primeiros caracteres.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Operadores (Operators)</term>
+ <listitem>
+ <para>cada operador que não está definido para dados tipos de
+ operandos pode ser definido. A função de sobrecarga deve ter um
+ único argumento de saída e um ou dois de entrada de acordo com o
+ número de operandos. O nome da função é definido como segue:
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>para operadores binários:
+ <literal>%&lt;tipo_do_primeiro_operando&gt;_&lt;código_do_
+ operador&gt;_&lt;tipo_do_segundo_operando&gt;
+ </literal>
+ </para>
+ <para>para operadores unários:
+ <literal>%&lt;tipo_do_operando&gt;_&lt;código_do_operador&gt;</literal>
+ </para>
+ <para>Operadores de extração e inserção que são n-nários são descritos
+ abaixo.
+ </para>
+ <warning>
+ Be careful, only the types registered by the
+ <function>typename</function> function can be used in an
+ overloading macros.
+ </warning>
+ <para>
+ <literal>&lt;tipo_do_operando&gt;</literal>,
+ <literal>&lt;tipo_do_primeiro_operando&gt;</literal>,
+ <literal>&lt;tipo_do_segundo_operando&gt;</literal> são seqüências de
+ caracteres associadas a cada tipo de dado como descrito na tabela
+ seguinte:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>tipo de dado</td>
+ <td>código "char"</td>
+ <td>tipo de dado</td>
+ <td>código "char"</td>
+ </tr>
+ <tr>
+ <td>constante</td>
+ <td>
+ <literal>s</literal>
+ </td>
+ <td>booleano</td>
+ <td>
+ <literal>b</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>
+ <literal>c</literal>
+ </td>
+ <td>bibilioteca</td>
+ <td>
+ <literal>f</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>ponteiro de função</td>
+ <td>
+ <literal>fptr</literal>
+ </td>
+ <td>manipulador</td>
+ <td>
+ <literal>h</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>inteiro</td>
+ <td>
+ <literal>i</literal>
+ </td>
+ <td>lista</td>
+ <td>
+ <literal>l</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>função</td>
+ <td>
+ <literal>m</literal>
+ </td>
+ <td>função compilada</td>
+ <td>
+ <literal>mc</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>polinômio</td>
+ <td>
+ <literal>p</literal>
+ </td>
+ <td>esparso</td>
+ <td>
+ <literal>sp</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>esparso booleano</td>
+ <td>
+ <literal>spb</literal>
+ </td>
+ <td>tlist</td>
+ <td>
+ <literal>tlist_type</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>polinômio de tamanho implícito</td>
+ <td>
+ <literal>ip</literal>
+ </td>
+ <td>matriz esparsa do Matlab</td>
+ <td>
+ <literal>msp</literal>
+ </td>
+ </tr>
+ <tr>
+ <td>mlist</td>
+ <td>
+ <literal>mlist_type</literal>
+ </td>
+ <td>ponteiro</td>
+ <td>
+ <literal>ptr</literal>
+ </td>
+ </tr>
+ </informaltable>
+ <para>
+ <literal>&lt;código_do_operador&gt;</literal> é um único caractere
+ associado a cada operador como descrito na tabela seguinte:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>
+ <literal>op</literal>
+ </td>
+ <td>char code</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>'</literal>
+ </td>
+ <td>t</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>+</literal>
+ </td>
+ <td>a</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>-</literal>
+ </td>
+ <td>s</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*</literal>
+ </td>
+ <td>m</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/</literal>
+ </td>
+ <td>r</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\</literal>
+ </td>
+ <td>l</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>^</literal>
+ </td>
+ <td>p</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*</literal>
+ </td>
+ <td>x</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./</literal>
+ </td>
+ <td>d</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\</literal>
+ </td>
+ <td>q</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*.</literal>
+ </td>
+ <td>k</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./.</literal>
+ </td>
+ <td>y</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\.</literal>
+ </td>
+ <td>z</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>:</literal>
+ </td>
+ <td>b</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*.</literal>
+ </td>
+ <td>u</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/.</literal>
+ </td>
+ <td>v</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\.</literal>
+ </td>
+ <td>w</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a,b]</literal>
+ </td>
+ <td>c</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a;b]</literal>
+ </td>
+ <td>f</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() extraction</literal>
+ </td>
+ <td>e</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() insertion</literal>
+ </td>
+ <td>i</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>==</literal>
+ </td>
+ <td>o</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;&gt;</literal>
+ </td>
+ <td>n</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>|</literal>
+ </td>
+ <td>g</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&amp;</literal>
+ </td>
+ <td>h</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.^</literal>
+ </td>
+ <td>j</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.'</literal>
+ </td>
+ <td>0</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;</literal>
+ </td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;</literal>
+ </td>
+ <td>2</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;=</literal>
+ </td>
+ <td>3</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;=</literal>
+ </td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>~</literal>
+ </td>
+ <td>5</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>iext</literal>
+ </td>
+ <td>6</td>
+ </tr>
+ </informaltable>
+ <para>A função de sobrecarga para sintaxe de extração
+ <literal>b=a(i1,...,in)</literal> tem a seguinte seqüência de chamamento:
+ <literal>b=%&lt;tipo_de_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para>
+ e a sintaxe<literal>[x1,..,xm]=a(i1,...,in)</literal> tem a seguinte
+ seqüência de chamamento:
+ <literal>[x1,..,xm]=%&lt;tipo_de_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para>A função de sobrecarga associada à sintaxe de inserção
+ <literal>a(i1,...,in)=b</literal> tem a segunite seqüência de
+ chamamento:<literal>
+ a=%&lt;tipo_de_b&gt;_i_&lt;tipo_de_a&gt;(i1,...,in,b,a)
+ </literal>
+ .
+ </para>
+ <para>
+ O código "char" <literal>6</literal> pode ser usado para alguns
+ algoritmos de inserção complexos como <code>x.b(2) = 33</code> onde o
+ campo <literal>b</literal> não está definido na estrutura
+ <literal>x</literal>. A inserção é automaticamente decomposta em
+ <literal>temp=x.b;</literal> <code>temp(2) = 33</code>;
+ <code>x.b = temp</code>. O código "char" <literal>6</literal> é usado
+ para o primeiro passo desse algoritmo. A função de sobrecarga de
+ <literal>6</literal> é muito semelhante à função de
+ <literal>e</literal>'s.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Funções (Functions)</term>
+ <listitem>
+ <para>algumas funções primitivas básicas também podem ser
+ sobrecarregadas para novos tipo de dados. Quando tal função não é
+ definida para tipos de dados particulares, a função <literal>
+ %&lt;tipo_de_um_argumento&gt;_&lt;nome_da_função&gt;
+ </literal>
+ é
+ chamada. O usuário pode adicionar a esta função chamada a definição
+ associada aos tipos de dados de entrada.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//EXIBIÇÃO
+ var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // the type of var is 'tab'
+
+ typeof(var)
+
+ function [] = %tab_p(l)
+ disp([[' '; l(3)] [l(2); string(l(4))]])
+ endfunction
+
+ var // after overloading
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//OPERADOR
+ 's' + 1 // it is impossible to add a number to a string
+
+ function x = %c_a_s(a, b)
+ x = a + string(b);
+ endfunction
+
+ 's' + 1 // after overloading
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">//FUNÇÃO
+ sin('2 * x') // the sin function does not work with a string
+
+ function x = %c_sin(a)
+ x = 'sin(' + a + ')'
+ endfunction
+
+ sin('2 * x') // after overloading
+ </programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="disp">disp</link>
+ </member>
+ <member>
+ <link linkend="symbols">symbols</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typename">typename</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/add_profiling.xml b/modules/functions/help/pt_BR/profiling/add_profiling.xml
new file mode 100755
index 000000000..a59ef4aba
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/add_profiling.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="add_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>add_profiling</refname>
+ <refpurpose>adiciona instruções de profiling (análise de performance) a
+ uma função
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>add_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>string, o nome da função</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>add_profiling(funname)</literal> adiciona instruções de
+ profiling a uma função de nome <literal>funname</literal>. Então, quando
+ esta função é chamada, o número de chamadas e o tempo gasto é armazenado
+ para cada linha da função.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //executando a função
+profile(foo) //extraindo informação de profile
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Funções Utilizadas</title>
+ <para>
+ Esta função utiliza as funções Scilab <literal>bytecode</literal> e
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/plotprofile.xml b/modules/functions/help/pt_BR/profiling/plotprofile.xml
new file mode 100755
index 000000000..0fe19ac87
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/plotprofile.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="plotprofile" xml:lang="en">
+ <refnamediv>
+ <refname>plotprofile</refname>
+ <refpurpose>extrai e exibe execuo de profiles (dossis) de uma funo
+ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>plotprofile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>funo Scilab compilada, ou nome de funo (string), ou array
+ de nomes de funes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Para utilizar <literal>plotprofile</literal>, a funo Scilab deve
+ ter sido preparada para profiling (anlise de desempenho) (ver
+ exec).
+ </para>
+ <para>Quando tal funo executada, o sistema conta quantas vezes cada
+ linha foi executada e quanto tempo de cpu foi gasto para cada linha. Estes
+ dados so armazenados dentro da estrutura de dados da funo. A funo
+ <literal>plotprofile</literal> um comando interativo que exibe os
+ resultados em uma janela grfica. Quando uma linha clcada, a fonte da
+ funo exibida com a linha selecionada realada.
+ </para>
+ <para>NOTA: voc deve clicar no item "Exit" na janela de grficos para
+ sair de "plotprofile".
+ </para>
+ <para>
+ O cdigo da funo gerado com <literal>fun2string</literal> e
+ guardado em um arquivo temporrio.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//definindo funo e preparando-a para profiling
+deff('x=foo(n)',['if n==0 then'
+ ' x=[]'
+ 'else'
+ ' x=0'
+ ' for k=1:n'
+ ' s=svd(rand(n+10,n+10))'
+ ' x=x+s(1)'
+ ' end'
+ 'end'],'p')
+//chamando a funo
+foo(30)
+//obtendo profiles de execuo
+plotprofile(foo) // clique em Exit para sair
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="showprofile">showprofile</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/profile.xml b/modules/functions/help/pt_BR/profiling/profile.xml
new file mode 100755
index 000000000..0a31360cb
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/profile.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="profile" xml:lang="pt">
+ <refnamediv>
+ <refname>profile</refname>
+ <refpurpose>extrai profiles (dossis) de execuo de uma funo do
+ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>c=profile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetro</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>funo Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>uma matriz nx3 contendo os profiles de execuo</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Para utilizar <literal>profile</literal> a funo Scilab deve ter
+ sido preparada para profiling (anlise de desempenho) (ver exec).
+ </para>
+ <para>Pata tal funo, quando tal funo executada, o sistema conta
+ quantas vezes cada linha foi executada e quanto tempo de cpu foi gasto
+ para cada execuo da linha. Estes dados so armazenados na estrutura de
+ dados da funo. A funo profile permite extrair esses dados e
+ retorn-los nas duas primeiras colunas de <literal>c</literal>. A terceira
+ coluna de <literal>c</literal> fornece a medida do esforo do
+ interpretador para a execuo da linha correspondente. A i-sima linha de
+ <literal>c</literal> corresponde i-sima linha da funo (inclusa
+ primeiro)
+ </para>
+ <para>Note que, devido preciso do clock do processador (tipicamente, um
+ microssegundo), algumas linhas executadas aparecem com tempo de execuo
+ 0, mesmo que o tempo de execuo de cpu total realmente gasto seja
+ grande.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//definindo a funo e preparando-a para profiling
+deff('x=foo(n)',['if n==0 then'
+ ' x=[]'
+ 'else'
+ ' x=0'
+ ' for k=1:n'
+ ' s=svd(rand(n+10,n+10))'
+ ' x=x+s(1)'
+ ' end'
+ 'end'],'p')
+//chamando a funo
+foo(10)
+//obtendo profiles de execuo
+profile(foo)
+//chamando a funo
+foo(20)
+profile(foo) //a execuo de profiles acumulada
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="showprofile">showprofile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/remove_profiling.xml b/modules/functions/help/pt_BR/profiling/remove_profiling.xml
new file mode 100755
index 000000000..5ec6ac2f3
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/remove_profiling.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="remove_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>remove_profiling</refname>
+ <refpurpose>remove instruções de profiling (análise de performance) de uma
+ função
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>remove_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>string, o nome da função</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>remove_profiling(funname)</literal> remove instruções de
+ profiling (se houver alguma) da função de nome
+ <literal>funname</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //executando a função
+profile(foo) //extraindo informação de profile
+remove_profiling("foo")
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">remove_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Funções Utilizadas</title>
+ <para>
+ Esta função utiliza as funções Scilab <literal>bytecode</literal> e
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/reset_profiling.xml b/modules/functions/help/pt_BR/profiling/reset_profiling.xml
new file mode 100755
index 000000000..1a24e1c02
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/reset_profiling.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="reset_profiling" xml:lang="fr">
+ <refnamediv>
+ <refname>reset_profiling</refname>
+ <refpurpose>reinicia contadores de profiling de uma função</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>reset_profiling(funname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>string, o nome da função</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>reset_profiling(funname)</literal> reinicia contadores de
+ profiling (se houver) da função de nome <literal>funname</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function x=foo(a,n)
+ x=0;
+ for i=1:n
+ if x<10 then
+ x=x+a
+ else
+ x=x+1
+ end
+ end
+ x=x^2+1
+endfunction
+
+add_profiling("foo")
+foo(0.1,100) //executando a função
+profile(foo) //extraindo informação de profile
+reset_profiling("foo")
+profile(foo) //extraindo informação de profile
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="reset_profiling">reset_profiling</link>
+ </member>
+ <member>
+ <link linkend="remove_profiling">remove_profiling</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Funções Utilizadas</title>
+ <para>
+ Esta função utiliza as funções Scilab <literal>bytecode</literal> e
+ <literal>walkbytecode</literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/profiling/showprofile.xml b/modules/functions/help/pt_BR/profiling/showprofile.xml
new file mode 100755
index 000000000..4af7778e5
--- /dev/null
+++ b/modules/functions/help/pt_BR/profiling/showprofile.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="showprofile" xml:lang="en">
+ <refnamediv>
+ <refname>showprofile</refname>
+ <refpurpose>extrai e exibe profiles (dossis) de execuo de uma funo
+ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>showprofile(fun)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>funo Scilab</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Para utilizar <literal>showprofile</literal> a funo Scilab deve
+ ter sido preparada para profiling (anlise de performance) (ver
+ exec).
+ </para>
+ <para>Para tal funo,Quando tal funo executada, o sistema conta
+ quantas nmero de vezes que cada linha executada e quanto tempo de cpu
+ gasto para execuo de cada linha. Estes dados so armazenados dentro da
+ estrutura de dados da funo. A funo <literal>showprofile</literal>
+ retorna resultados de profiling (ver <literal>profile</literal>) com o
+ texto das linhas da funo.
+ </para>
+ <para>O texto da funo reconstrudo com
+ <literal>fun2string</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//definindo funo e preparando-a para profiling
+deff('x=foo(n)',['if n==0 then'
+ ' x=[]'
+ 'else'
+ ' x=0'
+ ' for k=1:n'
+ ' s=svd(rand(n+10,n+10))'
+ ' x=x+s(1)'
+ ' end'
+ 'end'],'p')
+//chamada funo
+foo(30)
+//obtendo profiles
+showprofile(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="plotprofile">plotprofile</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/recompilefunction.xml b/modules/functions/help/pt_BR/recompilefunction.xml
new file mode 100755
index 000000000..4c35128c8
--- /dev/null
+++ b/modules/functions/help/pt_BR/recompilefunction.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="recompilefunction" xml:lang="en">
+ <refnamediv>
+ <refname>recompilefunction</refname>
+ <refpurpose>recompila uma funo Scilab modificando o seu
+ tipo
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>recompilefunction(funname [,kind [,force]])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>funname</term>
+ <listitem>
+ <para>string, nome da funo a ser recompilada</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>kind</term>
+ <listitem>
+ <para>
+ string: <emphasis role="bold">"n"</emphasis> (no compilado,
+ tipo 11), <emphasis role="bold">"c"</emphasis> (compilado, tipo 13)
+ or <emphasis role="bold">"p"</emphasis> (compilado, tipo 13,
+ preparado para profiling). Pardro: "c".
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>force</term>
+ <listitem>
+ <para>booleano. Se falso, a funo recompilada apenas se seu tipo
+ mudar; se verdadeiro, recompilada ainda que mantenha o tipo
+ (notavelmente til para compilar uma funo "p" function, para
+ reiniciar as estatsticas de profiling).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Esta funo compila reversamente uma varivel funo via <link linkend="fun2string">fun2string</link>, e a recompila para o tipo
+ desejado atravs de <link linkend="deff">deff</link>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+for i=1:100; asinh(rand(100,100)); end
+showprofile(asinh)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Bibliografia</title>
+ <para>
+ <ulink url="http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation">http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation</ulink>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/sciargs.xml b/modules/functions/help/pt_BR/sciargs.xml
new file mode 100755
index 000000000..21aedc18d
--- /dev/null
+++ b/modules/functions/help/pt_BR/sciargs.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sciargs" xml:lang="en">
+ <refnamediv>
+ <refname>sciargs</refname>
+ <refpurpose>scilab command line arguments</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>args=sciargs()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrio</title>
+ <para>Esta funo retorna um vetor de strings contendo os argumentos da
+ linha de comando do Scilab. As primeiras entradas de
+ <literal>args</literal> contm o endereo do arquivo executvel
+ rodado.
+ </para>
+ <para>
+ Esta funo corresponde a <literal>getarg</literal> na linguagem
+ C.
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Tambm </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getenv">getenv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/tree2code.xml b/modules/functions/help/pt_BR/tree2code.xml
new file mode 100755
index 000000000..510803925
--- /dev/null
+++ b/modules/functions/help/pt_BR/tree2code.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="tree2code" xml:lang="pt">
+ <refnamediv>
+ <refname>tree2code</refname>
+ <refpurpose>gera a definio ASCII de uma funo Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqncia de Chamamento</title>
+ <synopsis>txt = tree2code(tree, prettyprint)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>tree</term>
+ <listitem>
+ <para>
+ uma rvore macro (vinda de <function>macr2tree</function>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>prettyprint</term>
+ <listitem>
+ <para>valor opcional booleano</para>
+ <variablelist>
+ <varlistentry>
+ <term>%T</term>
+ <listitem>
+ <para>o cdigo gerado identado e embelezado</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%F</term>
+ <listitem>
+ <para>o cdigo gerado no embelezado (padro)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>um vetor coluna de strings, o texto fornecendo as instrues
+ Scilab
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrio</title>
+ <para>
+ Dada uma funo Scilab carregada "tree" (retornada por <function>macr2tree</function>),
+ <function>tree2code</function> permite gerar novamente o cdigo.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Tambm</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/varargin.xml b/modules/functions/help/pt_BR/varargin.xml
new file mode 100755
index 000000000..5ca92cdb1
--- /dev/null
+++ b/modules/functions/help/pt_BR/varargin.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargin" xml:lang="pt">
+ <refnamediv>
+ <refname>varargin</refname>
+ <refpurpose>variável do número de argumentos de saída em uma lista de
+ argumentos de entrada
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>Uma função cujo último argumento de entrada é
+ <literal>varargin</literal> pode ser chamada com mais argumentos de
+ entrada que os indicados pela lista de argumentos de entrada. Os
+ argumentos de chamada passados da palavra-chave
+ <literal>varargin</literal> em diante podem ser recuperados em uma lista
+ chamada <literal>varargin</literal>.
+ </para>
+ <para>
+ Suponha que a palavra-chave <literal>varargin</literal> é o n-ésimo
+ argumento da lista de argumentos de entrada formal, então, se a função é
+ chamada com <literal>n-1</literal> argumentos de entrada, a lista
+ <literal>varargin</literal> não é definida. Se a função for chamada com
+ <literal>n-1</literal> argumentos, então <literal>varargin</literal> é uma
+ lista vazia
+ </para>
+ <para>
+ <literal>function y= ex(varargin)</literal> pode ser chamada com
+ qualquer número de argumentos de entrada. Dentro da função
+ <literal>ex</literal> argumentos de entrada podem ser recuperados em
+ <literal>varargin(i)</literal>, <literal>i=1:length(varargin)</literal>
+ </para>
+ <para>Se não for o último argumento de entrada da função,
+ <literal>varargin</literal> é um argumento de entrada normal, sem nenhum
+ significado especial.
+ </para>
+ <para>
+ O número de argumentos de entrada real é dado por <code>argn(2)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Observações</title>
+ <para>
+ Sintaxe de argumento nomeada, como <literal>foo(...,key=value)</literal>, é incompatível com o uso de <literal>varargin</literal>. A razão é que os nomes
+ (i.e. keys) associados aos valores value não são armazenados na lista
+ <literal>varargin</literal>. Considere por exemplo:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+function foo(varargin)
+ disp([varargin(1),varargin(2)])
+endfunction
+ ]]></programlisting>
+ <screen>
+ -->foo(a=1,b=2)
+
+ 1. 2.
+
+ -->foo(b=1,a=2)
+
+ 1. 2.
+ </screen>
+ <para>O resultado é o mesmo, mas os argumentos foram invertidos.</para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function exampl(a,varargin)
+ [lhs,rhs]=argn(0)
+ if rhs>=1 then
+ disp(varargin)
+ end
+endfunction
+
+exampl(1)
+exampl()
+exampl(1,2,3)
+l=list('a',%s,%t);
+exampl(1,l(2:3))
+]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/pt_BR/varargout.xml b/modules/functions/help/pt_BR/varargout.xml
new file mode 100755
index 000000000..4a10632a2
--- /dev/null
+++ b/modules/functions/help/pt_BR/varargout.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargout" xml:lang="en">
+ <refnamediv>
+ <refname>varargout</refname>
+ <refpurpose>variável do número de argumentos de saída em uma lista de
+ argumentos de saída
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>Uma função cuja lista de argumentos de saída contém
+ <literal>varargout</literal> deve ser chamada com mais argumentos de saída
+ que indicado na lista de argumentos de saída. A chamada de argumentos
+ passados da palavra-chave <literal>varargout</literal> em diante são
+ extraídos da lista <literal>varargout</literal> definida na função.
+ </para>
+ <para>
+ <literal>varargout = function ex()</literal> pode ser chamado com
+ qualquer número de argumentos de saída. Dentro da função
+ <literal>ex</literal>, argumentos de saída podem ser armazenados em
+ <literal>varargout(i)</literal>.
+ </para>
+ <para>
+ <literal>[X1,...,Xn,varargout] = function ex()</literal> também pode
+ ser usado. Neste caso, as variáveis <literal>Xi</literal> devem estar
+ atribuídas na função tanto quanto <literal>varargout(i)</literal>.
+ </para>
+ <para>
+ O número total real de argumentos de saída é dado por <code>argn(1)</code>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Observação</title>
+ <para>
+ A variável <literal>varargout</literal> deve ser criada dentro de
+ uma função e atribuída a uma <link linkend="list">list</link>. Se
+ <literal>varargout</literal> for a única variável de saída formal, a lista deve conter pelo
+ menos uma entrada.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+function varargout=exampl()
+ varargout=list(1,2,3,4)
+endfunction
+
+x=exampl()
+[x,y]=exampl()
+[x,y,z]=exampl()
+
+function [a,b,varargout]=exampl1()
+ a='first'
+ b='second'
+ varargout=list(1,2,3,4)
+endfunction
+
+exampl1()
+[a,b]=exampl1()
+[a,b,c]=exampl1()
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/addchapter.sce b/modules/functions/help/ru_RU/addchapter.sce
new file mode 100755
index 000000000..7e06fc05b
--- /dev/null
+++ b/modules/functions/help/ru_RU/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Функции",SCI+"/modules/functions/help/ru_RU",%T);
+
diff --git a/modules/functions/help/ru_RU/argn.xml b/modules/functions/help/ru_RU/argn.xml
new file mode 100755
index 000000000..fee66e2e6
--- /dev/null
+++ b/modules/functions/help/ru_RU/argn.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="argn">
+ <refnamediv>
+ <refname>argn</refname>
+ <refpurpose>Возвращает количество входных/выходных аргументов в вызове функции</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[lhs [,rhs] ]=argn()
+ lhs=argn(1)
+ rhs=argn(2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Эта функция используется внутри определения функции. Она даёт количество фактических входных
+ аргументов (<literal>rhs</literal>) и выходных аргументов (<literal>lhs</literal>),
+ переданных в функцию при её вызове. Она обычно используется в определениях функции для работы
+ с необязательными аргументами.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+function concat=myOwnFunction(name,optional)
+ [lhs,rhs]=argn(0)
+ if rhs <= 1 then
+ optional="my Optional value"
+ end
+ if rhs == 0 then
+ error("Ожидался по меньшей мере один аргумент")
+ end
+ concat=name+" "+optional
+endfunction
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/CHAPTER b/modules/functions/help/ru_RU/built_in/CHAPTER
new file mode 100755
index 000000000..06861307a
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/CHAPTER
@@ -0,0 +1,2 @@
+title = Встроенные и внешние
+
diff --git a/modules/functions/help/ru_RU/built_in/clearfun.xml b/modules/functions/help/ru_RU/built_in/clearfun.xml
new file mode 100755
index 000000000..70fda7b78
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/clearfun.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="clearfun">
+ <refnamediv>
+ <refname>clearfun</refname>
+ <refpurpose>удаляет примитивы</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>ret=clearfun('name')</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>'name'</term>
+ <listitem>
+ <para>имя примитива</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ret</term>
+ <listitem>
+ <para>логическое значение</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>clearfun('name')</literal> удаляет примитив с именем <literal>'name'</literal>
+ из набора примитивов (встроенных функций)from the set of
+ primitives (built-in functions). <literal>clearfun</literal> возвращает
+ <literal>%t</literal> или <literal>%f</literal>. Эта функция позволяет переименовывать
+ примитивы: примитивы Scilab'а могут быть заменены функцией, определённой пользователем.
+ Для экспертов...
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/external.xml b/modules/functions/help/ru_RU/built_in/external.xml
new file mode 100755
index 000000000..eff7d19de
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/external.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="external">
+ <refnamediv>
+ <refname>external</refname>
+ <refpurpose>объект Scilab'а, внешняя функция или подпрограмма</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Внешняя функция или подпрограмма для использования со специальными командами.
+ </para>
+ <para>
+ "external" -- это функция или подпрограмма, которая используется в качестве
+ аргумента некоторых примитивов высокого уровня (таких как <literal>ode</literal>,
+ <literal>optim</literal>, <literal>schur</literal>...).
+ </para>
+ <para>
+ Последовательность вызова внешней функции или подпрограммы предписывается
+ примитивом высокого уровня, который устанавливает аргументы данной внешней
+ функции или подпрограммы.
+ </para>
+ <para>
+ Например, внешняя функция <literal>costfunc</literal> является аргументом примитива
+ <literal>optim</literal> (примитив оптимизации высокого уровня). Её последовательность
+ вызова должна быть:
+ <literal>[f,g,ind]=costfunc(x,ind)</literal> и
+ <literal>optim</literal> вызывается следующим образом:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+optim(costfunc,...)
+ ]]></programlisting>
+ <para>
+ Здесь <literal>costfunc</literal> (функция цены должна быть минимизирована примитивом
+ <literal>optim</literal>) вычисляет <literal>f=f(x)</literal> и <literal>g</literal> --
+ градиент <literal>f</literal> в <literal>x</literal> (<literal>ind</literal> -- целое
+ число. Его использование уточняется в справке по <literal>optim</literal>).
+ </para>
+ <para>
+ Если необходимы другие значения для внешней функции, то эти переменные могут быть
+ определены в её окружении. Также они могут быть вложены в список. Например,
+ внешняя функция:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+[f,g,ind]=costfunc(x,ind,a,b,c)
+ ]]></programlisting>
+ <para>
+ является корректной для <literal>optim</literal>, если внешняя функция является списком
+ <literal>list(costfunc,a,b,c)</literal> и тогда вызов <literal>optim</literal>:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+optim(list(costfunc,a1,b1,c1),....
+ ]]></programlisting>
+ <para>
+ Внешняя подпрограмма может быть процедурой Fortran или C: это удобно для быстрых вычислений.
+ </para>
+ <para>
+ Имя подпрограммы указывается примитиву высокого уровня в виде символьной строки.
+ Последовательность подпрограммы также предписывается.
+ </para>
+ <para>
+ Внешние процедуры Fortran или C могут быть также динамически связаны (см.
+ <literal>link</literal>).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ode">ode</link>
+ </member>
+ <member>
+ <link linkend="optim">optim</link>
+ </member>
+ <member>
+ <link linkend="impl">impl</link>
+ </member>
+ <member>
+ <link linkend="dassl">dassl</link>
+ </member>
+ <member>
+ <link linkend="intg">intg</link>
+ </member>
+ <member>
+ <link linkend="schur">schur</link>
+ </member>
+ <member>
+ <link linkend="gschur">gschur</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/funptr.xml b/modules/functions/help/ru_RU/built_in/funptr.xml
new file mode 100755
index 000000000..057b741c4
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/funptr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="funptr">
+ <refnamediv>
+ <refname>funptr</refname>
+ <refpurpose>кодирование примитивов (для экспертов) </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[numptr] = funptr(name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>строка, имя примитива</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>numptr</term>
+ <listitem>
+ <para>число внутренней подпрограммы примитива</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Специальная функция (только для экспертов) для получения числа внутренней подпрограммы
+ <literal>numptr</literal> примитива с именем <literal>'name'</literal>.
+ <literal>numptr</literal> формируется из числа интерфейса <literal>fun</literal>
+ и числа подпрограммы <literal>fin</literal> примитива в его интерфейсе как
+ <literal>numptr = 1000*fun + fin</literal> (fin &lt; 1000). Из <literal>numptr</literal>
+ можно получить число интерфейса <literal>fun = floor(numptr/1000)</literal>, которое может
+ быть полезным для связи динамического интерфейса с аргументами, переданными по ссылке
+ (см. раздел "Примеры").
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// Предположим, что вы хотите загрузить некоторые коды через
+// предлагаемые средства динамической загрузки с помощью addinter.
+// По умолчанию аргументы передаются по значению, но вы можете захотеть
+// передавать их по ссылки, для чего нужно сделать следующее
+// (name - это scilab-имя одной из подпрограмм в интерфейсе):
+//
+// addinter(files,spnames,fcts) // аргументы передаются по значению
+// num_interface = floor(funptr(name)/1000)
+// intppty(num_interface) // теперь аргументы передаются по ссылке
+//
+// Заметьте, что, если вы введете следующее
+//
+// intppty()
+//
+// то вы увидите все интерфейсы, работающие по ссылке
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ <member>
+ <link linkend="newfun">newfun</link>
+ </member>
+ <member>
+ <link linkend="intppty">intppty</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/intppty.xml b/modules/functions/help/ru_RU/built_in/intppty.xml
new file mode 100755
index 000000000..71471786c
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/intppty.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="intppty">
+ <refnamediv>
+ <refname>intppty</refname>
+ <refpurpose>установка свойств передачи аргумента интерфейса</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>funs=intppty()
+ intppty(fun)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>
+ целое число, номер интерфейса (see <link linkend="funptr">funptr</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>funs</term>
+ <listitem>
+ <para>
+ вектор целых чисел, вектор номеров интерфейса (see <link linkend="funptr">funptr</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Программы интерфейса могут быть написаны двумя различными способами для
+ режима передачи аргументов функции.
+ </para>
+ <para>
+ В первом способе (этот способ используется по умолчанию) аргументы
+ передаются по значению. Через следующий синтаксис:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ аргумент, связанный с <literal>A</literal>, будет передан по значению (копия
+ <literal>A</literal> делается до того, как вызывается <literal>foo</literal>), и
+ аргумент, связанный с <literal>1+2</literal> будет передан по значению.
+ </para>
+ <para>
+ В втором способе аргументы могут быть переданы по ссылке, если есть "именованные аргументы"
+ (копия значений переменных не делается). <literal>intppty(fun)</literal> с
+ <literal>fun&gt;0</literal> говорит Scilab'у, что интерфейс с номером <literal>fun</literal>
+ может обрабатывать аргументы, переданные по ссылке. Через следующий интерфейс:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+foo(A,1+2)
+ ]]></programlisting>
+ <para>
+ аргумент, связанный с <literal>A</literal>, будет передан по ссылке, а
+ аргумент, связанный с <literal>1+2</literal>, будет передан по значению.
+ </para>
+ <para>
+ Внимание! Заявление, что интерфейс с номером <literal>fun</literal>
+ может обрабатывать аргументы, переданные по ссылке, в случае, если это
+ не так, может привести к непредсказуемым результатам.
+ </para>
+ <para>
+ <literal>intppty(fun)</literal> с <literal>fun&lt;0</literal> подавляет
+ это свойство для интерфейса <literal>-fun</literal>.
+ </para>
+ <para>
+ <literal>intppty()</literal> возвращает вектор интерфейсов, который обрабатывают аргументы по ссылке.
+ </para>
+ <para>
+ Эта функция может быть полезна для динамически загружаемого интерфейса
+ (см. <link linkend="addinter">addinter</link>).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ <member>
+ <link linkend="addinter">addinter</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/newfun.xml b/modules/functions/help/ru_RU/built_in/newfun.xml
new file mode 100755
index 000000000..40ac83f59
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/newfun.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="newfun" xml:lang="ru">
+ <refnamediv>
+ <refname>newfun</refname>
+ <refpurpose>добавление имени в таблицу функций</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>newfun(function_name, function_ptr)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>
+ символьная строка, указывающая корректное имя функции
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>function_ptr</term>
+ <listitem>
+ <para>
+ положительное целое число (см. ниже)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Специальная функция (только для экспертов).
+ </para>
+ <para>
+ Добавляет имя<literal>function_name</literal> в таблицу функций, известных интерпретатору.
+ </para>
+ <para>
+ <literal>function_ptr</literal> целое число <literal>1000*fun+fin</literal>, где
+ <literal>fun</literal> и <literal>fin</literal> являются внутренним кодом примитива
+ <literal>function_name</literal>.
+ </para>
+ <para>
+ Эта функция может быть полезная для связи примитива со шлюзом, вызываемым в
+ <literal>"gw_user.c"</literal> (<literal>fun=14</literal>). Тем не менее, заметьте, что
+ функция <link linkend="ilib_build">ilib_build</link> является более лёгким способом расширить
+ Scilab новыми функциями, основанными на программном коде C, C++ или Fortran.
+ </para>
+ <para>
+ Эта функция также может быть использована для добавления псевдонимов или для того, чтобы переименовать существующие функции-примитивы.
+ </para>
+ <para>
+ Используя вместе с <literal>funptr</literal> и <literal>clearfun</literal> можно добавить
+ псевдоним или переименовать существующую функцию-примитив.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+ absptr=funptr("abs");// получить function_ptr, связанный с функцией abs
+ newfun("abs_bis",absptr) // создать псевдоним функции abs
+ abs_bis(-1+%i)
+ clearfun("abs") // удалить abs, как известную функцию
+
+ //переопределить abs
+ function y=abs(x)
+ y=abs_bis(real(x));
+ endfunction
+
+ abs(-1+%i)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="clearfun">clearfun</link>
+ </member>
+ <member>
+ <link linkend="funptr">funptr</link>
+ </member>
+ <member>
+ <link linkend="ilib_build">ilib_build</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/readgateway.xml b/modules/functions/help/ru_RU/built_in/readgateway.xml
new file mode 100755
index 000000000..3c6ea5612
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/readgateway.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="readgateway" xml:lang="ru">
+ <refnamediv>
+ <refname>readgateway</refname>
+ <refpurpose>получение списка примитивов модуля</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ readgateway(module_name)
+ primitives = readgateway(module_name);
+ [primitives,primitivesID] = readgateway(module_name);
+ [primitives,primitivesID,gatewayID] = readgateway(module_name);
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>module_name</term>
+ <listitem>
+ <para>строка</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>primitives, primitivesID, gatewayID</term>
+ <listitem>
+ <para>матрицы строк</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>readgateway(module_name)</literal> возвращает список переменных модуля
+ <literal>module_name</literal>.
+ </para>
+ <para>
+ <literal>primitives</literal>: список примитивов модуля <literal>module_name</literal>.
+ </para>
+ <para>
+ <literal>primitivesID</literal>: список идентификаторов примитивов.
+ </para>
+ <para>
+ <literal>gatewayID</literal>: список идентификаторов шлюзов, связанных с модулем
+ <literal>module_name</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+[primitives,primitivesID,gatewayID] = readgateway('core');
+primitives(1) // примитив 'debug'
+primitivesID(1) // идентификатор примитива 'debug' в шлюзе 'core'
+gatewayID(1) // идентификатор шлюза 'core' в Scilab
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getmodules">getmodules</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/built_in/what.xml b/modules/functions/help/ru_RU/built_in/what.xml
new file mode 100755
index 000000000..6c8be9f5d
--- /dev/null
+++ b/modules/functions/help/ru_RU/built_in/what.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="what">
+ <refnamediv>
+ <refname>what</refname>
+ <refpurpose>
+ список примитивов Scilab'а
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ what()
+ [primitives,commands]=what();
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>Список низкоуровневых примитивов и команд.</para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/bytecode.xml b/modules/functions/help/ru_RU/bytecode.xml
new file mode 100755
index 000000000..2ca37b9b5
--- /dev/null
+++ b/modules/functions/help/ru_RU/bytecode.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA Serge Steer
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="bytecode">
+ <refnamediv>
+ <refname>bytecode</refname>
+ <refpurpose>
+ возвращает "байт-код" указанной функции в виде Scilab-массива и наоборот.
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ x = bytecode(f)
+ f = bytecode(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ Scilab-функция.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ вектор-строка значений типа int32
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>x = bytecode(f)</code> возвращает "байт-код" функции
+ <varname>f</varname> в виде целочисленного массива
+ <varname>x</varname>.
+ </para>
+ <para>
+ <code>f= bytecode(x)</code> возвращает в <varname>f</varname>
+ функцию, связанную с "байт-кодом", заданным в целочисленном
+ массиве <varname>x</varname>.
+ <warning>
+ Внимание: корректность <varname>x</varname> не проверяется.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примечание</title>
+ <para>
+ Байт-код Scilab-функции будет в будущем значительно преобразован, поэтому использование этой функции должно быть ограничено обработкой инструкций профилирования.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+function a=foo(),a=sin(3),endfunction
+bytecode(foo)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="bytecodewalk">bytecodewalk</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/code2str.xml b/modules/functions/help/ru_RU/code2str.xml
new file mode 100755
index 000000000..407b3a28b
--- /dev/null
+++ b/modules/functions/help/ru_RU/code2str.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="code2str" xml:lang="ru">
+ <refnamediv>
+ <refname>code2str</refname>
+ <refpurpose>
+ возвращает символьную строку, связанную с целочисленными
+ Scilab-кодами.
+ <emphasis role="bold">Эта функция устарела.</emphasis>
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>str = code2str(c)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>str</term>
+ <listitem>
+ <para>символьная строка.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>вектор целочисленных кодов символов.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>str = code2str(c)</code> возвращает символьную строку,
+ связанную с целочисленными Scilab-кодами.
+ <varname>str</varname> такая, что <literal>c(i)</literal>
+ является целочисленным Scilab-кодом символа
+ <literal>part(str,i)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+code2str([-28 12 18 21 10 11])
+str2code('Scilab')'
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="str2code">str2code</link>
+ </member>
+ <member>
+ <link linkend="ascii">ascii</link>
+ </member>
+ <member>
+ <link linkend="part">part</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>История</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>This function will be removed in Scilab 6.0.0</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/comp.xml b/modules/functions/help/ru_RU/comp.xml
new file mode 100755
index 000000000..9af7788b9
--- /dev/null
+++ b/modules/functions/help/ru_RU/comp.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="comp" xml:lang="ru">
+ <refnamediv>
+ <refname>comp</refname>
+ <refpurpose>компиляция scilab-функции</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>comp(function [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>некомпилированная scilab-функция (тип 11)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>флаг со значениями 0 (по умолчанию), 1 или 2</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>comp(function)</literal> компилирует функцию
+ <literal>function</literal>. Компилированные и интерпретируемые функции
+ эквивалентны, но обычно компилированные функции гораздо быстрее. Функции,
+ предоставленные в стандартных библиотеках, являются компилированными.
+ </para>
+ <para>
+ Определение в реальном времени, как и краткий синтаксис команд
+ <literal>exec</literal> и <literal>deff</literal> генерирует компилированные
+ функции. Так что <literal>comp</literal> используется в исключительных случаях.
+ Чтобы сделать некомпилированные функции нужно использовать <link linkend="exec">exec</link>
+ или <link linkend="deff">deff</link> с опцией <literal>"n"</literal>.
+ </para>
+ <para>
+ Значение <literal>opt==2</literal> приводит к тому, что функция компилируется "для
+ профилирования". Заметьте, что сейчас можно добавлять инструкции профилирования после компиляции, используя функцию <link linkend="add_profiling">add_profiling</link>.
+ </para>
+ <para>
+ Устаревшая опция <literal>opt==1</literal> была специально в целях анализа кода, а сейчас
+ игнорируется, т. е. обрабатывается как <literal>opt==0</literal>.
+ </para>
+ <para>
+ Примечание: компиляция работает "на месте", т.е. исходная функция модифицируется, но никакого
+ нового объекта не создаётся.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="add_profiling">add_profiling</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/deff.xml b/modules/functions/help/ru_RU/deff.xml
new file mode 100755
index 000000000..dfc880298
--- /dev/null
+++ b/modules/functions/help/ru_RU/deff.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="deff">
+ <refnamediv>
+ <refname>deff</refname>
+ <refpurpose>
+ определение функции во время выполнения программы
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>deff('[s1, s2, ...] = newfunction(e1, e2, ...)',text [,opt])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>e1, e2, ...</term>
+ <listitem>
+ <para>входные переменные.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>s1, s2, ...</term>
+ <listitem>
+ <para>выходные переменные.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>text</term>
+ <listitem>
+ <para>матрица символьных строк.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>opt</term>
+ <listitem>
+ <para>необязательная символьная строка:</para>
+ <variablelist>
+ <varlistentry>
+ <term>'c'</term>
+ <listitem>
+ <para>
+ функция "скомпилирована" для большей производительности (по умолчанию);
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'p'</term>
+ <listitem>
+ <para>
+ функция "скомпилирована" и подготовлена к профилированию (см. справку <link linkend="profile">profile</link>);
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>'n'</term>
+ <listitem>
+ <para>
+ функция не "скомпилирована".
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция <function>deff</function> может быть использована
+ для определения функций из ряда инструкций, написанных в
+ текстовых строках. Полученный объект функции имеет те же
+ свойства, что и любая другая функция, определённая в
+ текстовом файле и загруженная с помощью функции
+ <function>exec</function>.
+ </para>
+ <para>
+ Кавычки в инструкциях (разделяющие строки или означающие
+ транспонирование матрицы) должны быть удвоены для правильной
+ интерпретации (см. справку <link linkend="quote">кавычки</link>). Это может сделать написание
+ несколько неудобным. Как вариант, в таких случаях можно
+ определять функции в файлах, как обычно, для загрузки их в
+ Scilab с помощью функции <function>exec</function> (с опцией
+ <literal>'n'</literal>) и можно использовать функцию
+ <function>sci2exp</function> для получения распечатки
+ соответствующих инструкций в функции <function>deff</function>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+deff('[x]=myplus(y,z)','x=y+z')
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y'])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="quote">кавычка</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/edit.xml b/modules/functions/help/ru_RU/edit.xml
new file mode 100755
index 000000000..286172659
--- /dev/null
+++ b/modules/functions/help/ru_RU/edit.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="edit" xml:lang="ru">
+ <refnamediv>
+ <refname>edit</refname>
+ <refpurpose>функция редактирования</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>edit(functionname[,linenumber])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>functionname</term>
+ <listitem>
+ <para>имя функции, символьная строка</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>linenumber</term>
+ <listitem>
+ <para>номер строки, целое число</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Если <literal>functionname</literal> является именем определённой Scilab-функции,
+ то <literal>edit(functionname)</literal> пытается открыть соответствующий файл
+ <literal>functionname.sci</literal>.
+ </para>
+ <para>
+ Если <literal>functionname</literal> является именем неопределённой Scilab-функции, то
+ <literal>edit(functionname)</literal> создаёт файл <literal>functionname.sci</literal> в
+ текущей директории.
+ </para>
+ <para>
+ Если <literal>functionname</literal> является некорректным макросом или функцией, то
+ <literal>edit(functionname)</literal> открывает файл с именем
+ <literal>functionname</literal>.
+ </para>
+ <para>
+ Если задан номер строки <literal>linenumber</literal>, то файл открывается на этой строке относительно определения макроса с тем же именем, что и файл. Если определение макроса не найдено, то файл открывается на строке с номером <literal>linenumber</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+//открыть редактор с текстом этой функции
+edit('edit')
+
+//открыть редактор для новой функции
+edit('myfunction')
+
+//открыть файл bar.sci в директории TMPDIR
+edit(fullfile(TMPDIR+'bar.sci'))
+
+// открыть файл test_run.sci на строке 123
+// относительно определения test_run()
+edit('test_run', 123)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="manedit">manedit</link>
+ </member>
+ <member>
+ <link linkend="names">имена</link>
+ </member>
+ <member>
+ <link linkend="editor">editor</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/exec.xml b/modules/functions/help/ru_RU/exec.xml
new file mode 100755
index 000000000..08388de9b
--- /dev/null
+++ b/modules/functions/help/ru_RU/exec.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="exec">
+ <refnamediv>
+ <refname>exec</refname>
+ <refpurpose>исполнение файла-сценария</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>exec(path [,mode])
+ exec(fun [,mode])
+ ierr = exec(path, 'errcatch' [,mode])
+ ierr = exec(fun, 'errcatch' [,mode])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>
+ строка, путь к файлу-сценарию.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mode</term>
+ <listitem>
+ <para>
+ целочисленный скаляр, режим исполнения (см. ниже).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>Scilab-функция.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>целое число, 0 либо номер ошибки.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>exec(path [,mode])</code> исполняет последовательно
+ Scilab-инструкции, содержащиеся в файле, указанном в пути
+ <varname>path</varname>, в режиме исполнения, указанным
+ необязательным аргументом <varname>mode</varname>.
+ </para>
+ <para>
+ Режим исполнения <varname>mode</varname> имеет следующие
+ значения:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ значение по умолчанию.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-1</term>
+ <listitem>
+ <para>
+ вывод на экран не производится.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>
+ отображает каждую командную строку.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ на экран выводится строка приглашения <literal>--&gt;</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>3</term>
+ <listitem>
+ <para>
+ отображения командных строк + строки приглашения.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ останавливается перед каждой строкой
+ приглашения. Исполнение возобновляется после
+ возврата каретки.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>
+ остановки + строки приглашения + вывод на экран командных строк: режим, полезный для демонстраций.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>exec(fun [,mode])</code> исполняет функцию <varname>fun</varname> как файл-сценарий: ни входного, ни выходного аргумента, ни особого окружения переменных. Эта форма более эффективна, поскольку код сценария может быть предварительно скомпилирован (см. <link linkend="comp">comp</link>). Этот метод исполнения сценария позволяет хранить сценарии в виде функций в библиотеках.
+ </para>
+ <para>
+ Если во время исполнения произойдёт ошибка, и если будет
+ указан флаг <literal>'errcatch'</literal>, то функция
+ <function>exec</function> не будет выдавать сообщения об
+ ошибке, прервёт исполнение инструкций и вернёт номер ошибки
+ <varname>ierr</varname>. Если же флаг
+ <literal>'errcatch'</literal> не будет указан, то будет
+ работать стандартная обработка ошибок.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примечания</title>
+ <para>
+ Теперь файлы для функции <function>exec</function> можно использовать для определения функций, используя синтаксис определения функции в строке (см. <link linkend="function">function</link>).
+ </para>
+ <para>
+ Функция <function>exec</function> поддерживает файлы с кодировкой ANSI/ASCII и UTF-8.
+ </para>
+ <para>
+ Длина каждой строки в файле ограничена 4096 символами.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// создадим файл-сценарий
+mputl('a=1;b=2',TMPDIR+'/myscript')
+// выполним его
+exec(TMPDIR+'/myscript')
+whos -name "a "
+// создадим функцию
+deff('y=foo(x)','a=x+1;y=a^2')
+clear a b
+// вызовем функцию
+foo(1)
+// a - переменная, созданная в окружении функции foo;
+// она будет уничтожена после возврата из foo
+whos -name "a "
+x=1 //создадим x чтобы его узнал сценарий foo
+exec(foo)
+// a и y созданы в текущем окружении
+whos -name "a "
+whos -name "y "
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="mode">mode</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/execstr.xml b/modules/functions/help/ru_RU/execstr.xml
new file mode 100755
index 000000000..e89ab2911
--- /dev/null
+++ b/modules/functions/help/ru_RU/execstr.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) XXXX-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="execstr">
+ <refnamediv>
+ <refname>execstr</refname>
+ <refpurpose>
+ исполняет Scilab-код, заданный в строках
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ execstr(instr)
+ ierr = execstr(instr,'errcatch' [,msg])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>instr</term>
+ <listitem>
+ <para>
+ вектор символьных строк, Scilab-инструкции, которые нужно исполнить.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ierr</term>
+ <listitem>
+ <para>
+ целое число, 0 или номер ошибки.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>msg</term>
+ <listitem>
+ <para>
+ символьная строка со значениями <literal>'m'</literal> или <literal>'n'</literal>. Значение по умолчанию - <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Исполняет Scilab-инструкции, указанные в аргументе
+ <varname>instr</varname>.
+ </para>
+ <note>
+ Заметьте, что инструкции <varname>instr</varname> не должны использовать символы продолжения (..)
+ </note>
+ <para>
+ Если флаг <literal>'errcatch'</literal> не указан, то обработка ошибок ведётся как обычно.
+ </para>
+ <para>
+ Если указан флаг <literal>'errcatch'</literal>, и во время исполнения инструкций в <varname>instr</varname> произойдёт ошибка, то функция <function>execstr</function> не выдаст сообщения об ошибке, но прекратит исполнение инструкций <varname>instr</varname> (в том месте, где произошла ошибка), и вернёт номер ошибки <varname>ierr</varname>. В этом случае отображение ошибки управляется опцией <varname>msg</varname>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"m"</term>
+ <listitem>
+ <para>
+ сообщение об ошибке выводится на экран и записывается.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"n"</term>
+ <listitem>
+ <para>
+ сообщение об ошибке не отображается, однако записывается (see <link linkend="lasterror">lasterror</link>). Это значение по умолчанию.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>ierr = execstr(instr, 'errcatch')</code> может
+ обрабатывать синтаксические ошибки. Это полезно для
+ выполнения инструкций, полученных по запросу пользователя.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+execstr('a=1') // устанавливает a=1.
+
+execstr('1+1') // ничего не делает (тогда как evstr('1+1') возвращает 2)
+
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+
+execstr('a=zzzzzzz','errcatch')
+
+execstr('a=zzzzzzz','errcatch','m')
+
+//syntax errors
+execstr('a=1?02','errcatch')
+lasterror(%t)
+
+execstr('a=[1 2 3)','errcatch')
+lasterror(%t)
+
+// variable1 не существует
+if execstr('variable1;','errcatch')<>0 then
+ disp("Взведена ошибка");
+else
+ disp("execstr полна счастья");
+end
+
+// variable2 существует ... execstr не взводит ошибки
+variable2=[2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Взведена ошибка");
+else
+ disp("execstr полна счастья");
+end
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ <member>
+ <link linkend="lasterror">lasterror</link>
+ </member>
+ <member>
+ <link linkend="error">error</link>
+ </member>
+ <member>
+ <link linkend="try">try</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/fun2string.xml b/modules/functions/help/ru_RU/fun2string.xml
new file mode 100755
index 000000000..2069f208c
--- /dev/null
+++ b/modules/functions/help/ru_RU/fun2string.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="fun2string">
+ <refnamediv>
+ <refname>fun2string</refname>
+ <refpurpose>
+ формирует ASCII-определение Scilab-функции
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>txt = fun2string(fun, name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>fun</term>
+ <listitem>
+ <para>
+ переменная типа <literal>function</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>
+ символьная строка, имя формируемой функции.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>
+ вектор-столбец строковых значений, текст, указывающий Scilab-инструкции.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция <function>fun2string</function> позволяет
+ воспроизвести код псевдокода указанной загруженной функции.
+ Сформированный код имеет отступы и красивый вид.
+ </para>
+ <para>
+ Механизм схож с механизмом <function>mfile2sci</function>, но
+ проще. Он может применяться для переводов синтаксиса.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+txt = fun2string(asinh,'foo');
+write(%io(2),txt,'(a)')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="edit">edit</link>
+ </member>
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/funcprot.xml b/modules/functions/help/ru_RU/funcprot.xml
new file mode 100755
index 000000000..ab4b21f45
--- /dev/null
+++ b/modules/functions/help/ru_RU/funcprot.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="funcprot">
+ <refnamediv>
+ <refname>funcprot</refname>
+ <refpurpose>переключает режим защиты функций Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ funcprot(prot)
+ previousprot = funcprot(prot)
+ prot = funcprot()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>prot</term>
+ <listitem>
+ <para>целое число с возможными значениями 0, 1, 2</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>previousprot</term>
+ <listitem>
+ <para>целое число с возможными значениями 0, 1, 2; возвращает предыдущее значение</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функции Scilab являются переменными. <function>funcprot</function>
+ позволяет пользователю определить что Scilab должен делать при
+ переопределении таких переменных.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Если <code>prot == 0</code>, то ничего особого не будет делаться.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Если <code>prot == 1</code>, то Scilab формирует сообщение с
+ предупреждением во время переопределения функции (это режим по умолчанию).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Если <code>prot == 2</code>, то Scilab формирует ошибку во время переопределения функции.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+previousprot = funcprot(1)
+deff('x = foo(a)','x = a;')
+deff('x = foo(a)','x = a + 1;')
+foo = 33
+funcprot(0)
+deff('x = foo(a)', 'x = a;')
+deff('x = foo(a)', 'x = a + 1;')
+foo = 33
+funcprot(previousprot)
+]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>История</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>Предыдущее значение возвращается в виде выходного аргумента при установке нового значения.</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/function.xml b/modules/functions/help/ru_RU/function.xml
new file mode 100755
index 000000000..1024f37f4
--- /dev/null
+++ b/modules/functions/help/ru_RU/function.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="function">
+ <refnamediv>
+ <refname>function</refname>
+ <refpurpose>
+ открывает определение функции
+ </refpurpose>
+ </refnamediv>
+ <refnamediv xml:id="endfunction">
+ <refname>endfunction</refname>
+ <refpurpose>
+ закрывает определение функции
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function <выходные_аргументы>=<имя_функции><входные_аргументы>
+ <операторы>
+endfunction
+ ]]></programlisting>
+ <para>
+ Где:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>&lt;имя_функции&gt;</term>
+ <listitem>
+ <para>
+ указывает имя функции
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;входные_аргументы&gt;</term>
+ <listitem>
+ <para>
+ указывает список входных аргументов. Он может быть
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ рядом имён переменных, разделённых
+ запятой и заключённым в круглые скобки,
+ например <literal>(x1,...,xm)</literal>.
+ Последнее имя переменной может быть
+ ключевым словом
+ <literal>varargin</literal> (см. <link linkend="varargin">varargin</link>);
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ последовательностью <literal>()</literal>
+ или ничего, если у функции нет входных
+ аргументов.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;выходные_аргументы&gt;</term>
+ <listitem>
+ <para>
+ указывает список выходных аргументов. Он может быть
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ рядом имён переменных, заключённым в
+ квадратные скобки, например <literal>[y1,...,yn]</literal>. Последнее имя переменной может быть ключевым словом <literal>varargout</literal> (см. <link linkend="varargout">varargout</link>);
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ последовательностью <literal>[]</literal>, если у функции нет выходных аргументов. В этом случае синтаксис может быть таким: <literal>function &lt;имя_функции&gt;&lt;входные_аргументы&gt;</literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>&lt;операторы&gt;</term>
+ <listitem>
+ <para>
+ указывает набор Scilab-инструкций (операторов).
+ Этот синтаксис можно использовать для
+ определения функции (см. <link linkend="functions">functions</link>) как встраиваемую, либо в файле-сценарии (см. <link linkend="exec">exec</link>). Для совместимости
+ со старыми версиями Scilab'а функции,
+ определённые в файле-сценарии, содержащем только
+ определения функций, могут быть "загружены" в
+ Scilab используя функцию <function>exec</function>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Последовательность <literal>function &lt;выходные_аргументы&gt;=&lt;имя_функции&gt;&lt;входные_аргументы&gt;</literal>
+ нельзя разделять на несколько строк. После этой последовательности можно ставить в этой же строке операторы, если в конце добавить запятую или точку с запятой.
+ </para>
+ <note>
+ Заметьте, что <literal>&lt;имя_функции&gt;</literal> должно удовлетворять некоторым правилам синтаксиса (см. <link linkend="names">имена</link>).
+ </note>
+ <para>
+ Определения функций могут быть вложенными.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+//определение встраиваемой функции
+function [x,y]=myfct(a,b)
+x=a+b
+y=a-b
+endfunction
+
+[x,y]=myfct(3,2)
+
+//определение функции в одну строку
+function y=sq(x),y=x^2,endfunction
+
+sq(3)
+
+//определение вложенных функций
+function y=foo(x)
+a=sin(x)
+function y=sq(x), y=x^2,endfunction
+y=sq(a)+1
+endfunction
+
+foo(%pi/3)
+
+// определение функции в файле-сценарии (см. exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="functions">functions</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="names">имена</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/functions.xml b/modules/functions/help/ru_RU/functions.xml
new file mode 100755
index 000000000..e536b6f45
--- /dev/null
+++ b/modules/functions/help/ru_RU/functions.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="functions">
+ <refnamediv>
+ <refname>функции</refname>
+ <refpurpose>
+ Scilab-процедуры и Scilab-объекты
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функции являются процедурами Scilab ("макрос", "функция" и
+ "процедура" имеют одно и то же значение).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Определение функции</title>
+ <para>
+ Обычно они определяются в файлах с помощью редактора и загружаются в Scilab, используя функцию <link linkend="exec">exec</link> или через библиотеку (см.
+ <link linkend="lib">lib</link> либо <link linkend="genlib">genlib</link>). Однако, они также могут быть определены во время исполнения программы (см. <link linkend="deff">deff</link> либо <link linkend="function">function</link>).
+ Функция определяется двумя составляющими:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>часть "синтаксис определения", как например:</para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
+ ]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>ряд Scilab-инструкций.</para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Строка "синтаксиса определения" указывает "полный" синтаксис
+ вызова этой функции. <literal>yi</literal> - выходные
+ переменные, вычисленные в зависимости от входных переменных
+ <literal>xi</literal> и переменные, существующие в Scilab'е
+ в момент исполнения функции.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Вызов функции</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Обычно синтаксис вызова функции следующий:
+ <literal>[y1,...,yn]=foo(x1,...,xm)</literal>. Можно
+ использовать более короткий список входных или
+ выходных аргументов, чем определённый. В таких
+ случаях используются или устанавливаются только
+ самые первые переменные, начиная слева.
+ </para>
+ <para>
+ Функция <link linkend="argn">argn</link> может быть
+ использована для получения фактического количества
+ аргументов при вызове.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Можно определять функцию с неопределённым
+ максимальным количеством входных или выходных
+ аргументов. Это можно сделать, используя ключевые
+ слова <link linkend="varargin">varargin</link> и
+ <link linkend="varargout">varargout</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Также можно использовать "именованный аргумент" для определения входных аргументов: предположим, что функция <function>fun1</function>, определённая как
+ <code>function y1 = fun1(x1, x2, x3)</code>, тогда её можно вызвать следующим синтаксисом:
+ <code>y = fun1(x1=33, x3=[1 2 3])</code>; внутри
+ <function>fun1</function> переменная <varname>x2</varname> не будет определена.
+ </para>
+ <para>
+ Её можно также вызвать следующим синтаксисом:
+ <code>y = fun1(x1=33, y='foo')</code>. В таком
+ случае переменная <varname>y</varname> будет
+ доступна в контексте функции
+ <function>fun1</function>.
+ <note>
+ Обратите внимание, что максимальное количество
+ аргументов должно быть меньше или равно числу
+ формальных входных аргументов, используемых в
+ части синтаксиса функции.
+ </note>
+ </para>
+ <para>
+ Проверить определены ли переменные можно с помощью
+ функции <link linkend="exists">exists</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Когда у функции нет аргументов слева и она вызывается только с аргументами символьных строк, синтаксис вызова может быть упрощён:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun('a','toto','a string')
+ ]]></programlisting>
+ <para>что эквивалентно: </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+fun a toto 'a string'
+ ]]></programlisting>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Прочие вопросы</title>
+ <para>
+ Функции являются Scilab-объектами (с номерами типа 13 или
+ 11). И ими можно управлять (создавать, сохранять, загружать,
+ передавать в качестве аргументов, и т. д.) как и другими
+ типами переменных.
+ </para>
+ <para>
+ Коллекции функций можно собирать в библиотеки. Функции,
+ которые начинаются со знака <literal>%</literal> (например,
+ <literal>%foo</literal>) часто используются чтобы
+ перегрузить (см. <link linkend="overloading">перегрузку</link>) операции или
+ функции для нового типа данных.
+ </para>
+ <note>
+ Заметьте, что имя функции должно удовлетворять некоторым правилам синтаксиса (см. <link linkend="names">имена</link>).
+ </note>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+//определение встраиваемой функции (см. function)
+function [x,y]=myfct(a,b)
+ x=a+b
+ y=a-b
+endfunction
+[x,y]=myfct(3,2)
+
+//определение встраиваемой функции (см. deff)
+deff('[x,y]=myfct(a,b)',['x=a+b';
+ 'y=a-b'])
+
+// определение в ASCII-файле (см. exec)
+exec SCI/modules/elementary_functions/macros/asinh.sci;
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="getd">getd</link>
+ </member>
+ <member>
+ <link linkend="genlib">genlib</link>
+ </member>
+ <member>
+ <link linkend="exists">exists</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ <member>
+ <link linkend="names">имена</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/getd.xml b/modules/functions/help/ru_RU/getd.xml
new file mode 100755
index 000000000..bb269185b
--- /dev/null
+++ b/modules/functions/help/ru_RU/getd.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="getd">
+ <refnamediv>
+ <refname>getd</refname>
+ <refpurpose>
+ загрузка всех функций, определённых в директории
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>getd(path)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>path</term>
+ <listitem>
+ <para>
+ строка, имя путь к директории.
+ </para>
+ <para>
+ Если функция <function>getd</function> вызвана без входного аргумента, либо если <varname>path</varname> - пустая строка, то путь к директории ".".
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Загружает все <literal>.sci</literal> файлы (содержащие
+ Scilab-функции), определённые в директории
+ <varname>path</varname>.
+ </para>
+ <para>
+ Если файл не содержит функции, то этот сценарий будет исполнен.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+getd('SCI/modules/cacsd/macros')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ <member>
+ <link linkend="pwd">pwd</link>
+ </member>
+ <member>
+ <link linkend="chdir">chdir</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/head_comments.xml b/modules/functions/help/ru_RU/head_comments.xml
new file mode 100755
index 000000000..0b50faf44
--- /dev/null
+++ b/modules/functions/help/ru_RU/head_comments.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="head_comments">
+ <refnamediv>
+ <refname>head_comments</refname>
+ <refpurpose>
+ выводит на экран комментарии в начале Scilab-функции
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ head_comments(name)
+ head_comments(name,%paths)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>
+ символьная строка, имя функции.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%paths</term>
+ <listitem>
+ <para>
+ вектор символьных строк, пути по которым
+ разыскивается соответствующий sci-файл.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Команда <code>head_comments(name)</code> выводит на экран
+ комментарии в начале функции (как справка в Matlab'е).
+ Комментарии считываются из соответствующего sci-файла. Если
+ <varname>name</varname> - это имя функции из библиотеки, то
+ путь к sci-файлу тогда указывается путём к библиотеке (см.
+ <link linkend="lib">lib</link>). Если <varname>name</varname> -
+ это функция не из библиотеки, то файл с именем
+ <varname>name</varname><literal>.sci</literal> разыскивается
+ в директориях, указанных переменной <varname>%paths</varname>.
+ </para>
+ <warning>
+ Внимание: большинство предопределённых Scilab-функций не имеет начальных комментариев.
+ </warning>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+head_comments sinc
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="help">help</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/libraries/CHAPTER b/modules/functions/help/ru_RU/libraries/CHAPTER
new file mode 100755
index 000000000..9c4df3635
--- /dev/null
+++ b/modules/functions/help/ru_RU/libraries/CHAPTER
@@ -0,0 +1,2 @@
+title = Библиотеки
+
diff --git a/modules/functions/help/ru_RU/listfunctions.xml b/modules/functions/help/ru_RU/listfunctions.xml
new file mode 100755
index 000000000..bd13b34bd
--- /dev/null
+++ b/modules/functions/help/ru_RU/listfunctions.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="listfunctions">
+ <refnamediv>
+ <refname>listfunctions</refname>
+ <refpurpose>
+ свойства всех функций в рабочем пространстве
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ [flist,compiled,profilable,called] = listfunctions([scope])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>scope</term>
+ <listitem>
+ <para>
+ строка, <literal>"local"</literal> (по умолчанию) или <literal>"global"</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flist</term>
+ <listitem>
+ <para>
+ массив строк, имена всех переменных-функций в
+ указанном рабочем пространстве.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>compiled</term>
+ <listitem>
+ <para>
+ массив логических значений, ИСТИНА, если
+ соответствующий элемент из списка
+ <varname>flist</varname> имеет тип 13.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>profilable</term>
+ <listitem>
+ <para>
+ массив логических значений, ИСТИНА, если
+ соответствующий элемент из списка
+ <varname>flist</varname> имеет тип 13 и к тому
+ же в псевдокоде функции найдена информация
+ профилирования.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>called</term>
+ <listitem>
+ <para>
+ массив значений типа uint32, количество раз,
+ когда соответствующий элемент из списка
+ <varname>flist</varname> уже был вызван
+ (ненулевой только для профилируемых функций).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Эта функция проверяет все переменные в рабочем
+ пространстве (указанные с помощью функции
+ <link linkend="who">who</link>) и собирает те,
+ которые имеют тип 11 или 13; для последних
+ вызывается <code>lst = macr2lst(fun)</code> для
+ того, чтобы проверить магический вход профилирования
+ в конце первой строки кода, т. е. <code>lst(5)(1)=="25"</code>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+recompilefunction("asinh","p")
+[flist,compiled,profilable,called] = listfunctions();
+flist(profilable)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ <member>
+ <link linkend="profile">profile</link>
+ </member>
+ <member>
+ <link linkend="recompilefunction">recompilefunction</link>
+ </member>
+ <member>
+ <link linkend="who">who</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Литература</title>
+ <para>
+ <ulink url="http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation">http://wiki.scilab.org/Scilab_function_variables%3A_representation%2C_manipulation</ulink>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/macr2lst.xml b/modules/functions/help/ru_RU/macr2lst.xml
new file mode 100755
index 000000000..d5893f28b
--- /dev/null
+++ b/modules/functions/help/ru_RU/macr2lst.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="macr2lst">
+ <refnamediv>
+ <refname>macr2lst</refname>
+ <refpurpose>преобразование функции в список</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>lst = macr2lst(function_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>
+ функция, которую требуется преобразовать.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>список.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Этот примитив преобразует компилированную функцию Scilab
+ <varname>function_name</varname> в список, который кодирует внутреннее
+ представление функции (обратная бесскобочная запись).
+ </para>
+ <para>
+ Первый элемент списка является именем функции, второй и третий являются, соответственно, именами выходных переменных и входных переменных. Следующие элементы являются или записями основных операций или списками, содержащими иерархические управляющие структуры, такие, как
+ <literal>if</literal>, <literal>for</literal>, ...
+ </para>
+ <para>
+ Записи основных операций описываются вектором символьных строк, чей первый элемент представляет собой код операции.
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>коды операций</td>
+ <td>значение</td>
+ <td>параметры</td>
+ </tr>
+ <tr>
+ <td>"0"</td>
+ <td>игнорируемый код операции</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"1"</td>
+ <td>более не используется</td>
+ <td/>
+ </tr>
+ <tr>
+ <td>"2"</td>
+ <td>ссылка на переменную или функцию</td>
+ <td>имя переменной, #rhs, #lhs</td>
+ </tr>
+ <tr>
+ <td>"3"</td>
+ <td>положить строку в стек</td>
+ <td>строка</td>
+ </tr>
+ <tr>
+ <td>"4"</td>
+ <td>положить пустую матрицу в стек</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"5"</td>
+ <td>применить операцию</td>
+ <td>код операции, #rhs,#lhs</td>
+ </tr>
+ <tr>
+ <td>"6"</td>
+ <td>положить число в стек</td>
+ <td>число</td>
+ </tr>
+ <tr>
+ <td>"12"</td>
+ <td>команда pause</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"13"</td>
+ <td>команда break</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"14"</td>
+ <td>команда abort</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"15"</td>
+ <td>конец метки строки</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"17"</td>
+ <td>команда quit</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"18"</td>
+ <td>именованная переменная</td>
+ <td>имя переменной</td>
+ </tr>
+ <tr>
+ <td>"19"</td>
+ <td>создать рекурсивную структуру индексов</td>
+ <td>длина пути, количество конечных индексов</td>
+ </tr>
+ <tr>
+ <td>"20"</td>
+ <td>вызов функции</td>
+ <td>имя функции, #rhs, #lhs </td>
+ </tr>
+ <tr>
+ <td>"23"</td>
+ <td>создать переменную из имени</td>
+ <td>имя переменной</td>
+ </tr>
+ <tr>
+ <td>"24"</td>
+ <td>положить переменную с типом 0 в стек</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"25"</td>
+ <td>запись профиля</td>
+ <td>количество вызовов, затраченное время</td>
+ </tr>
+ <tr>
+ <td>"26"</td>
+ <td>положить вектор строк в стек</td>
+ <td>кол-во строк, кол-во столбцов, последовательность элементов</td>
+ </tr>
+ <tr>
+ <td>"27"</td>
+ <td>положить встроенную ссылку в стек</td>
+ <td>номер интерфейса, положение в интерфейсе, имя функции</td>
+ </tr>
+ <tr>
+ <td>"28"</td>
+ <td>команда continue</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td>"29"</td>
+ <td>присвоение</td>
+ <td>#lhs, режим отображения, (имя переменной, #rhs)*</td>
+ </tr>
+ <tr>
+ <td>"30"</td>
+ <td>сокращённое вычисление логического выражения</td>
+ <td>тип, размер скачка</td>
+ </tr>
+ <tr>
+ <td>"31"</td>
+ <td>комментарий</td>
+ <td>комментарий</td>
+ </tr>
+ <tr>
+ <td>"99"</td>
+ <td>команда return</td>
+ <td>ничего</td>
+ </tr>
+ <tr>
+ <td> &gt; "100"</td>
+ <td>встроенный вызов (устарело)</td>
+ <td>100*fun, #rhs, #lhs, fin</td>
+ </tr>
+ </informaltable>
+ <para>
+ Функция <link linkend="fun2string">fun2string</link> может быть использована для генерации исходного кода.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// ОТОБРАЖЕНИЕ
+function y=foo(x,flag)
+ if flag then
+ y=sin(x)
+ else
+ y=cos(x)
+ end
+endfunction
+L=macr2lst(foo)
+fun2string(L)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macrovar">macrovar</link>
+ </member>
+ <member>
+ <link linkend="fun2string">fun2string</link>
+ </member>
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/macr2tree.xml b/modules/functions/help/ru_RU/macr2tree.xml
new file mode 100755
index 000000000..a7cf584a3
--- /dev/null
+++ b/modules/functions/help/ru_RU/macr2tree.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="macr2tree">
+ <refnamediv>
+ <refname>macr2tree</refname>
+ <refpurpose>преобразование функции в дерево</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>t=macr2tree(function_name)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>function_name</term>
+ <listitem>
+ <para>макрос Scilab'а</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>"дерево" Scilab'а</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Этот примитив преобразует компилированную функцию Scilab с именем
+ <literal>function_name</literal> в дерево (перекрываемые типизированные
+ списки), которое кодирует внутреннее представление функции.
+ Для использования совместно с <literal>tree2code</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tree2code">tree2code</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/macro.xml b/modules/functions/help/ru_RU/macro.xml
new file mode 100755
index 000000000..e394ed801
--- /dev/null
+++ b/modules/functions/help/ru_RU/macro.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="macro">
+ <refnamediv>
+ <refname>макрос</refname>
+ <refpurpose>Scilab-процедура и Scilab-объект</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Макросы - это Scilab-процедуры ("макрос", "функция" и
+ "процедура" имеют одно и то же значение). Обычно они
+ определяются в файле с помощью редактора и загружаются в
+ Scilab с помощью функции <function>exec</function> или через
+ библиотеку.
+ </para>
+ <para>
+ Они могут быть также определены в ходе выполнения программы
+ (см. <link linkend="deff">deff</link>). Файл, который содержит макрос, должен начинаться следующим образом:
+ </para>
+ <programlisting role='no-scilab-exec'><![CDATA[
+function [y1,...,yn]=foo(x1,...,xm)
+ ]]></programlisting>
+ <para>
+ <literal>yi</literal> - выходные переменные, вычисленные в зависимости от входных переменных и переменных, существующих в Scilab'е в момент исполнения макроса. Макрос может быть скомпилированным для более быстрого исполнения. Коллекции макросов могут быть собраны в библиотеки.
+ </para>
+ <para>
+ Макросы, которые начинаются со знака <literal>%</literal> (например, <literal>%foo</literal>) и чьи аргументы являются списками, используются для выполнения особых операций: например, <code>z=%rmr(x,y)</code> эквивалентно
+ <code>z=x*y</code>, когда <varname>x</varname> и <varname>z</varname> являются рациональными переменными
+ (например, <code>x=list('r',n,d,[])</code>, где <varname>n</varname> и <varname>d</varname> - полиномы).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="deff">deff</link>
+ </member>
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ <member>
+ <link linkend="lib">lib</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/macrovar.xml b/modules/functions/help/ru_RU/macrovar.xml
new file mode 100755
index 000000000..d1b9c7d8d
--- /dev/null
+++ b/modules/functions/help/ru_RU/macrovar.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="macrovar">
+ <refnamediv>
+ <refname>macrovar</refname>
+ <refpurpose>переменные в функции</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>vars = macrovar(function)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>vars</term>
+ <listitem>
+ <para>
+ список, <literal>list(in, out, nolocal, called, locals)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>function</term>
+ <listitem>
+ <para>имя функции.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Возвращает в списке набор переменных, используемых функцией.
+ <varname>vars</varname> - это список, сделанный из пяти вектор-столбцов символьных строк:
+ </para>
+ <simplelist type="inline">
+ <member>
+ <varname>in</varname>: входные переменные (<code>vars(1)</code>);
+ </member>
+ <member>
+ <varname>out</varname>: выходные переменные (<code>vars(2)</code>);
+ </member>
+ <member>
+ <varname>nolocal</varname>: переменные, к которым обращаются, но которые не определены внутри функции и не являются функциями (<code>vars(3)</code>);
+ </member>
+ <member>
+ <varname>called</varname>: имена вызываемых функций (<code>vars(4)</code>);
+ </member>
+ <member>
+ <varname>locals</varname>: локальные переменные (<code>vars(5)</code>);
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+deff('y = f(x1, x2)', 'loc = 1; y = a*x1+x2-loc');
+vars = macrovar(f)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="macr2lst">macr2lst</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/mode.xml b/modules/functions/help/ru_RU/mode.xml
new file mode 100755
index 000000000..bfe6fb705
--- /dev/null
+++ b/modules/functions/help/ru_RU/mode.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.Scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mode" xml:lang="ru">
+ <refnamediv>
+ <refname>mode</refname>
+ <refpurpose>выбор режима отображения информации во время исполнения файла</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>mode(k)
+ k = mode()
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Используется <emphasis role="bold">исключительно</emphasis> внутри исполняемого файла
+ или Scilab-функции. <literal>mode(k)</literal> позволяет менять информацию, отображаемую
+ во время исполнения; зависит от значения <literal>k</literal>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>k = 0</term>
+ <listitem>
+ <para>
+ Новые значения переменных отображаются, если требуется (см. справку
+ по <link linkend="semicolon">точке с запятой</link> или
+ <link linkend="comma">запятой</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = -1</term>
+ <listitem>
+ <para>
+ Исполняемый файл или Scilab-функция работает молча (это для Scilab-функций
+ значение по умолчанию).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 2</term>
+ <listitem>
+ <para>Это значение по умолчанию для командной строки Scilab'а.</para>
+ <para>
+ Обратите внимание, что <literal>mode(2)</literal> не используется в
+ командной строке, только в исполняемом файле или Scilab-функции.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 1 или k = 3</term>
+ <listitem>
+ <para>
+ Каждая строка инструкции выводится в командной строке (если возможно).
+ Новые значения переменных отображаются в случае запроса. Это режим по умолчанию
+ для исполняемых файлов.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k = 4 или k = 7</term>
+ <listitem>
+ <para>
+ Новые значения переменных отображаются в случае запроса, в командной строке
+ отображается каждая строка инструкций (если возможно), и выдаётся приглашение к вводу
+ (&gt;&gt;) после каждой строки в ожидании возврата каретки.
+ </para>
+ <para>
+ Если возврат каретки следует после латинской буквы "p", то исполнение приостанавливается
+ (см. <link linkend="pause">pause</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k &gt; 7</term>
+ <listitem>
+ <para>
+ Пользовательский режим отображения. Если вы определите ваш собственный режим отображения, то рекомендуется использовать
+ значение &gt; 100.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Отображение строк отключено для компилированных Scilab-функций (см. <link linkend="comp">comp</link>).
+ По умолчанию Scilab-функции исполняются в режиме молчания ("-1").
+ </para>
+ <para>Функции из библиотеки функций исполняются в режиме "-1".</para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// скопируйте и вставьте в Scilab
+
+function example_mode( level_mode )
+ mode(level_mode)
+ a = 3
+ disp(mode());
+endfunction
+
+mode(2)
+
+example_mode(0)
+example_mode(-1)
+example_mode(2)
+example_mode(1)
+example_mode(3)
+example_mode(7)
+
+mode(2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="exec">exec</link>
+ </member>
+ <member>
+ <link linkend="execstr">execstr</link>
+ </member>
+ <member>
+ <link linkend="semicolon">точка с запятой</link>
+ </member>
+ <member>
+ <link linkend="comma">запятая</link>
+ </member>
+ <member>
+ <link linkend="comp">comp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/overloading.xml b/modules/functions/help/ru_RU/overloading.xml
new file mode 100755
index 000000000..44616dd9a
--- /dev/null
+++ b/modules/functions/help/ru_RU/overloading.xml
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * Copyright (C) DIGITEO - 2012 - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="ru">
+ <refnamediv>
+ <refname>перегрузка</refname>
+ <refpurpose>
+ возможности перегрузки отображения, функций и операторов
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ В Scilab'е вывод на экран переменной, функции и операторы могут быть определены для новых объектов с помощью функций (в Scilab-коде или примитивов).
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Вывод на экран</term>
+ <listitem>
+ <para>
+ Вывод на экран новых объектов, определённых с
+ помощью структуры типизированного списка
+ <literal>tlist</literal>, может быть перегружен
+ (по умолчанию вывод на экран схож с выводом на
+ экран списка <literal>list</literal>). Функция
+ перегрузки не должна иметь выходных аргументов,
+ но должна иметь один входной аргумент. Её имя
+ формируется следующим образом:
+ <literal>%&lt;тип_tlist&gt;_p</literal>,
+ где <literal>%&lt;тип_tlist&gt;</literal>
+ указывает на первый вход компонента типа
+ <literal>tlist</literal>, усечённого до первых
+ 9-ти символов.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Операторы</term>
+ <listitem>
+ <para>
+ Каждый оператор, который не определён для типов
+ указанных операндов, может быть определён.
+ Функция перегрузки должна иметь один выходной
+ аргумент и один или два входных в соответствии с
+ количеством операндов. Имя функции формируется
+ следующим образом:
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>для бинарных операторов:
+ <literal>%&lt;тип_первого_операнда&gt;_&lt;код_оператора&gt;_&lt;тип_второго_операнда&gt;</literal>;
+ </para>
+ <para>для унарных операторов:
+ <literal>%&lt;operand_type&gt;_&lt;код_оператора&gt;</literal>;
+ </para>
+ <para>
+ операторы выделения и вставки, которые являются n-арными
+ операторами, описаны ниже.
+ </para>
+ <warning>
+ Будьте осторожны. В макросе перегрузки можно использовать
+ только те типы, которые зарегистрированы функцией
+ <function>typename</function>.
+ </warning>
+ <para>
+ <literal>&lt;operand_type&gt;</literal>,
+ <literal>&lt;тип_первого_операнда&gt;</literal>,
+ <literal>&lt;тип_второго_операнда&gt;</literal> являются
+ последовательностями символов, связанных с каждым типом
+ данных как это описано в следующей таблице:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>тип данных</td>
+ <td>символьный код</td>
+ <td>typeof</td>
+ <td>комментарии</td>
+ </tr>
+ <tr>
+ <td>матрица чисел удвоенной точности</td>
+ <td>
+ <literal>s</literal>
+ </td>
+ <td>
+ <literal>constant</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>матрица полиномов</td>
+ <td>
+ <literal>p</literal>
+ </td>
+ <td>
+ <literal>polynomial</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>матрица логических значений</td>
+ <td>
+ <literal>b</literal>
+ </td>
+ <td>
+ <literal>boolean</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>разрежённая матрица</td>
+ <td>
+ <literal>sp</literal>
+ </td>
+ <td>
+ <literal>sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>разрежённая матрица логических значений</td>
+ <td>
+ <literal>spb</literal>
+ </td>
+ <td>
+ <literal>boolean sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>разрежённая матрица Matlab'а</td>
+ <td>
+ <literal>msp</literal>
+ </td>
+ <td>
+ <literal>Matlab sparse</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>матрица целочисленных значений</td>
+ <td>
+ <literal>i</literal>
+ </td>
+ <td>
+ <literal>int8, int16, int32, uint8, uint16, uint32</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>матрица строк</td>
+ <td>
+ <literal>c</literal>
+ </td>
+ <td>
+ <literal>string</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>дескриптор</td>
+ <td>
+ <literal>h</literal>
+ </td>
+ <td>
+ <literal>handle</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>компилированная функция</td>
+ <td>
+ <literal>fptr</literal>
+ </td>
+ <td>
+ <literal>fptr</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>сценарий, функция</td>
+ <td>
+ <literal>mc</literal>
+ </td>
+ <td>
+ <literal>function</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>библиотека</td>
+ <td>
+ <literal>f</literal>
+ </td>
+ <td>
+ <literal>library</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>список</td>
+ <td>
+ <literal>l</literal>
+ </td>
+ <td>
+ <literal>list</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>типизированный список</td>
+ <td>
+ <literal>tlist type</literal>
+ </td>
+ <td>
+ <literal>tlist type</literal>
+ </td>
+ <td>первая строка первого элемента типизированного списка</td>
+ </tr>
+ <tr>
+ <td>матричноориентированный список</td>
+ <td>
+ <literal>mlist type</literal>
+ </td>
+ <td>
+ <literal>mlist type</literal>
+ </td>
+ <td>первая строка первого элемента матричноориентированного списка</td>
+ </tr>
+ <tr>
+ <td>гиперматрица</td>
+ <td>
+ <literal>hm</literal>
+ </td>
+ <td>
+ <literal>hypermat</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>указатель</td>
+ <td>
+ <literal>ptr</literal>
+ </td>
+ <td>
+ <literal>pointer</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>cell-массив</td>
+ <td>
+ <literal>ce</literal>
+ </td>
+ <td>
+ <literal>ce</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>структура</td>
+ <td>
+ <literal>st</literal>
+ </td>
+ <td>
+ <literal>st</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>рациональное значение</td>
+ <td>
+ <literal>r</literal>
+ </td>
+ <td>
+ <literal>rational</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>линейное пространство состояний</td>
+ <td>
+ <literal>lss</literal>
+ </td>
+ <td>
+ <literal>state-space</literal>
+ </td>
+ <td/>
+ </tr>
+ <tr>
+ <td>неявный полином</td>
+ <td>
+ <literal>ip</literal>
+ </td>
+ <td>
+ <literal>size implicit</literal>
+ </td>
+ <td>1:1:$</td>
+ </tr>
+ </informaltable>
+ <para>
+ <literal>&lt;код_оператора&gt;</literal> - это одиночный
+ символ, связанный с каждым оператором, как описано в
+ следующей таблице:
+ </para>
+ <informaltable border="1">
+ <tr>
+ <td>
+ оператор
+ </td>
+ <td>
+ символьный код
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <literal>'</literal>
+ </td>
+ <td>t</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>+</literal>
+ </td>
+ <td>a</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>-</literal>
+ </td>
+ <td>s</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*</literal>
+ </td>
+ <td>m</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/</literal>
+ </td>
+ <td>r</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\</literal>
+ </td>
+ <td>l</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>^</literal>
+ </td>
+ <td>p</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*</literal>
+ </td>
+ <td>x</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./</literal>
+ </td>
+ <td>d</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\</literal>
+ </td>
+ <td>q</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.*.</literal>
+ </td>
+ <td>k</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>./.</literal>
+ </td>
+ <td>y</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.\.</literal>
+ </td>
+ <td>z</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>:</literal>
+ </td>
+ <td>b</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>*.</literal>
+ </td>
+ <td>u</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>/.</literal>
+ </td>
+ <td>v</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>\.</literal>
+ </td>
+ <td>w</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a,b]</literal>
+ </td>
+ <td>c</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>[a;b]</literal>
+ </td>
+ <td>f</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() выделение</literal>
+ </td>
+ <td>e</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>() вставка</literal>
+ </td>
+ <td>i</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>==</literal>
+ </td>
+ <td>o</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;&gt;</literal>
+ </td>
+ <td>n</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>|</literal>
+ </td>
+ <td>g</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&amp;</literal>
+ </td>
+ <td>h</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.^</literal>
+ </td>
+ <td>j</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>.'</literal>
+ </td>
+ <td>0</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;</literal>
+ </td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;</literal>
+ </td>
+ <td>2</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&lt;=</literal>
+ </td>
+ <td>3</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>&gt;=</literal>
+ </td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>~</literal>
+ </td>
+ <td>5</td>
+ </tr>
+ <tr>
+ <td>
+ <literal>iext</literal>
+ </td>
+ <td>6</td>
+ </tr>
+ </informaltable>
+ <para>
+ Функция перегрузки для синтаксиса выделения
+ <literal>b= a(i1, ..., in)</literal>
+ имеет следующую последовательность вызова:
+ <literal>b = %&lt;тип_a&gt;;_e_(i1, ..., in, a)</literal>
+ </para>
+ <para>
+ и синтаксис <literal>[x1, .., xm] = a(i1, ..., in)</literal>
+ имеет следующую последовательность вызова:
+ <literal>[x1, .., xm] = %&lt;тип_a&gt;;_e_(i1, ..., in, a)</literal>.
+ </para>
+ <para>
+ Функция перегрузки, связанная с синтаксисом вставки
+ <literal>a(i1, ..., in) = b</literal> имеет следующую
+ последовательность вызова:
+ <literal>a = %&lt;тип_b&gt;;_i_&lt;тип_a&gt;;(i1, ..., in, b, a)</literal>.
+ </para>
+ <para>
+ Символьный код <literal>6</literal> может использоваться в
+ некоторых сложных алгоритмах вставки, таких как <code>x.b(2) = 33</code>,
+ где поле <literal>b</literal> не определено в структуре
+ <literal>x</literal>. Вставка автоматически разлагается на
+ <code>temp = x.b</code>; <code>temp(2) = 33</code>;
+ <code>x.b = temp</code>. Символьный код <literal>6</literal>
+ используется для первого шага этого алгоритма. Функция
+ перегрузки <literal>6</literal> очень похожа на функцию
+ перегрузки <literal>e</literal>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Функции:</term>
+ <listitem>
+ <para>
+ Некоторые основные функции-примитивы могут быть
+ также перегружены для новых типов данных. Когда
+ такая функция не определена для особого типа
+ данных, то вызывается функция
+ <literal>%&lt;тип_аргумента&gt;_&lt;имя_функции&gt;</literal>.
+ Пользователь может добавить в этой вызываемой
+ функции определение, связанное с типами входных данных.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ </refsection>
+ <refsection>
+ <programlisting role="example">
+ //ВЫВОД НА ЭКРАН
+ var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // у переменной var тип 'tab'
+
+ typeof(var)
+
+ function [] = %tab_p(l)
+ disp([[' '; l(3)] [l(2); string(l(4))]])
+ endfunction
+
+ var // после перегрузки
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">
+ //ОПЕРАТОР
+ 's' + 1 // нельзя прибавить число к строке
+
+ function x = %c_a_s(a, b)
+ x = a + string(b);
+ endfunction
+
+ 's' + 1 // после перегрузки
+ </programlisting>
+ </refsection>
+ <refsection>
+ <programlisting role="example">
+ //ФУНКЦИЯ
+ sin('2 * x') // sin не работает со строкой
+
+ function x = %c_sin(a)
+ x = 'sin(' + a + ')'
+ endfunction
+
+ sin('2 * x') // после перегрузки
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="disp">disp</link>
+ </member>
+ <member>
+ <link linkend="symbols">symbols</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typename">typename</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/sciargs.xml b/modules/functions/help/ru_RU/sciargs.xml
new file mode 100755
index 000000000..684981e27
--- /dev/null
+++ b/modules/functions/help/ru_RU/sciargs.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="sciargs">
+ <refnamediv>
+ <refname>sciargs</refname>
+ <refpurpose>аргументы командной строки Scilab'а</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>args = sciargs()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Эта функция возвращает вектор-строку символьных строк, содержащую аргументы командной
+ строки Scilab'а. Первый элемент <literal>args</literal> содержит путь до запущенного
+ исполняемого файла.
+ </para>
+ <para>
+ Эта функция соответствует функции <literal>getarg</literal> в языке C.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="getenv">getenv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/str2code.xml b/modules/functions/help/ru_RU/str2code.xml
new file mode 100755
index 000000000..dfcf6d998
--- /dev/null
+++ b/modules/functions/help/ru_RU/str2code.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="str2code" xml:lang="ru">
+ <refnamediv>
+ <refname>str2code</refname>
+ <refpurpose>
+ возвращает целочисленные Scilab-коды, связанные с символьной строкой.
+ <emphasis role="bold">Эта функция устарела.</emphasis>
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>c = str2code(str)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>str</term>
+ <listitem>
+ <para>символьная строка.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>c</term>
+ <listitem>
+ <para>
+ вектор-столбец целочисленных кодов символов.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>c = str2code(str)</code> возвращает такой вектор-
+ столбец <varname>c</varname>, что <literal>c(i)</literal>
+ является целочисленным Scilab-кодом символа
+ <literal>part(str,i)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+str2code('Scilab')'
+code2str([-28 12 18 21 10 11])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="code2str">code2str</link>
+ </member>
+ <member>
+ <link linkend="ascii">ascii</link>
+ </member>
+ <member>
+ <link linkend="part">part</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>История</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>
+ Эта функция будет удалена в Scilab 6.0.0
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/tree2code.xml b/modules/functions/help/ru_RU/tree2code.xml
new file mode 100755
index 000000000..e90784e7a
--- /dev/null
+++ b/modules/functions/help/ru_RU/tree2code.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA -
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="tree2code">
+ <refnamediv>
+ <refname>tree2code</refname>
+ <refpurpose>
+ формирует ASCII-определение Scilab-функции
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>txt = tree2code(tree, prettyprint)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>tree</term>
+ <listitem>
+ <para>
+ дерево функции (полученное с помощью <function>macr2tree</function>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>prettyprint</term>
+ <listitem>
+ <para>необязательное логическое значение:</para>
+ <variablelist>
+ <varlistentry>
+ <term>%T</term>
+ <listitem>
+ <para>
+ генерирует код, который имеет отступы и красивый вид;
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>%F</term>
+ <listitem>
+ <para>
+ генерируемый код не приукрашен (по умолчанию).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>txt</term>
+ <listitem>
+ <para>
+ вектор-столбец строк, текст, предоставляющий Scilab-инструкции.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Задавая "дерево" загруженной в Scilab функции (полученное с
+ помощью функции <function>macr2tree</function>),
+ <function>tree2code</function> позволяет восстановить код.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+tree=macr2tree(cosh);
+txt=tree2code(tree,%T);
+write(%io(2),txt,'(a)');
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="macr2tree">macr2tree</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/varargin.xml b/modules/functions/help/ru_RU/varargin.xml
new file mode 100755
index 000000000..e802b5e45
--- /dev/null
+++ b/modules/functions/help/ru_RU/varargin.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargin" xml:lang="ru">
+ <refnamediv>
+ <refname>varargin</refname>
+ <refpurpose>
+ переменное число аргументов в списке входных аргументов
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция, чьим последним входным аргументом является
+ <literal>varargin</literal>, может быть вызвана с
+ бОльшим числом входных аргументов, чем указано в списке
+ входных аргументов. Аргументы вызова, переданные внутрь в форме ключевого слова <literal>varargin</literal> затем могут быть получены внутри функции в
+ списке с именем <literal>varargin</literal>.
+ </para>
+ <para>
+ Допустим, что ключевое слово <literal>varargin</literal>
+ является <literal>n</literal>-ным аргументом в списке
+ формальных входных аргументов, тогда, если функция
+ вызывается с меньшим числом, чем <literal>n-1</literal>,
+ входных аргументов, то список
+ <literal>varargin</literal> не будет определён. Если же
+ функция вызывается с <literal>n-1</literal> аргументами,
+ то список <literal>varargin</literal> будет пустым
+ списком.
+ </para>
+ <para>
+ <literal>function y = ex(varargin)</literal> может быть
+ вызвана с любым числом аргументов. Внутри функции
+ <literal>ex</literal> входные аргументы могут быть
+ получены в <literal>varargin(i)</literal>,
+ <literal>i=1:length(varargin)</literal>.
+ </para>
+ <para>
+ Если же это не последний аргумент функции, то
+ <literal>varargin</literal> будет обычным именем
+ входного аргумента без особого значения.
+ </para>
+ <para>
+ Общее число фактических входных аргументов даётся с
+ помощью <code>argn(2)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примечание</title>
+ <para>
+ Синтаксис именованных аргументов, такой как <literal>foo(...,key=value)</literal>, не совместим с использованием <literal>varargin</literal>. Причина в том, что имена (то есть ключи), связанные со значениями, не хранятся в списке <literal>varargin</literal>. Рассмотрим пример:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+function foo(varargin)
+ disp([varargin(1),varargin(2)])
+endfunction
+ ]]></programlisting>
+ <screen>
+ -->foo(a=1,b=2)
+ 1. 2.
+ -->foo(b=1,a=2)
+ 1. 2.
+ </screen>
+ <para>
+ Результат одинаковый, но аргументы были переставлены.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+function exampl(a,varargin)
+ [lhs,rhs]=argn(0)
+ if rhs>=1 then
+ disp(varargin)
+ end
+endfunction
+
+exampl(1)
+exampl()
+exampl(1,2,3)
+l=list('a',%s,%t);
+exampl(1,l(2:3))
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargout">varargout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/help/ru_RU/varargout.xml b/modules/functions/help/ru_RU/varargout.xml
new file mode 100755
index 000000000..30132b0c3
--- /dev/null
+++ b/modules/functions/help/ru_RU/varargout.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varargout" xml:lang="ru">
+ <refnamediv>
+ <refname>varargout</refname>
+ <refpurpose>
+ переменное число аргументов в списке выходных аргументов
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция, чей список выходных аргументов содержит <literal>varargout</literal> должен вызываться с бОльшим числом аргументов, чем указано в списке выходных аргументов. Аргументы вызова, переданные внутрь в форме ключевого слова <literal>varargout</literal>, извлекаются из списка <literal>varargout</literal>, определённого внутри функции.
+ </para>
+ <para>
+ <literal>varargout = function ex()</literal> может вызываться с любым количеством выходных аргументов. Внутри функции <literal>ex</literal> выходные аргументы могут храниться в <literal>varargout(i)</literal>.
+ </para>
+ <para>
+ Может также использоваться <literal>[X1,...,Xn,varargout] = function ex()</literal>. В этом случае переменные <literal>Xi</literal> и <literal>varargout(i)</literal> должны быть определены в функции.
+ </para>
+ <para>
+ Фактическое общее количество выходных аргументов даётся с помощью <code>argn(1)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примечание</title>
+ <para>
+ Переменная <literal>varargout</literal> должна быть создана внутри функции и определена в виде <link linkend="list">списка</link>. Если <literal>varargout</literal> является единственной формальной выходной переменой, то список должен содержать хотя бы один элемент.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+function varargout=exampl()
+ varargout=list(1,2,3,4)
+endfunction
+
+x=exampl()
+[x,y]=exampl()
+[x,y,z]=exampl()
+
+function [a,b,varargout]=exampl1()
+ a='first'
+ b='second'
+ varargout=list(1,2,3,4)
+endfunction
+
+exampl1()
+[a,b]=exampl1()
+[a,b,c]=exampl1()
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="argn">argn</link>
+ </member>
+ <member>
+ <link linkend="function">function</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="varargin">varargin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/functions/includes/dynlib_functions.h b/modules/functions/includes/dynlib_functions.h
new file mode 100755
index 000000000..4a54c100d
--- /dev/null
+++ b/modules/functions/includes/dynlib_functions.h
@@ -0,0 +1,28 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#ifndef __DYNLIB_FUNCTIONS_H__
+#define __DYNLIB_FUNCTIONS_H__
+
+#ifdef _MSC_VER
+#ifdef FUNCTIONS_EXPORTS
+#define FUNCTIONS_SCILAB_IMPEXP __declspec(dllexport)
+#else
+#define FUNCTIONS_SCILAB_IMPEXP __declspec(dllimport)
+#endif
+#else
+#define FUNCTIONS_SCILAB_IMPEXP
+#endif
+
+#endif /* __DYNLIB_FUNCTIONS_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/includes/getmacroslist.h b/modules/functions/includes/getmacroslist.h
new file mode 100755
index 000000000..e343961ee
--- /dev/null
+++ b/modules/functions/includes/getmacroslist.h
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - 2010 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#ifndef __GETMACROSLIST_H__
+#define __GETMACROSLIST_H__
+
+#include "dynlib_functions.h"
+
+/**
+* get scilab macros list (sorted by name)
+* macros on stack and in libraries
+* @param[out] size of returned array
+* @return array of strings
+*/
+FUNCTIONS_SCILAB_IMPEXP char **getmacroslist(int *sizearray);
+
+#endif /* __GETMACROSDICTIONARY_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/includes/gw_functions.h b/modules/functions/includes/gw_functions.h
new file mode 100755
index 000000000..b9026e160
--- /dev/null
+++ b/modules/functions/includes/gw_functions.h
@@ -0,0 +1,33 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __GW_FUNCTIONS_H__
+#define __GW_FUNCTIONS_H__
+/*--------------------------------------------------------------------------*/
+#include "dynlib_functions.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+FUNCTIONS_SCILAB_IMPEXP int gw_functions(void);
+/*--------------------------------------------------------------------------*/
+FUNCTIONS_SCILAB_IMPEXP int C2F(sci_lib)(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int C2F(sci_deff)(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int C2F(sci_exec)(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int C2F(sci_execstr)(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int sci_librarieslist(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int sci_libraryinfo(char *fname, unsigned long fname_len);
+FUNCTIONS_SCILAB_IMPEXP int sci_whereis(char *fname, unsigned long fname_len);
+/*--------------------------------------------------------------------------*/
+#endif /* __GW_FUNCTIONS_H__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/functions/includes/isScilabFunction.h b/modules/functions/includes/isScilabFunction.h
new file mode 100755
index 000000000..018313217
--- /dev/null
+++ b/modules/functions/includes/isScilabFunction.h
@@ -0,0 +1,52 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef ___ISSCILABFUNCTION_H__
+#define ___ISSCILABFUNCTION_H__
+
+#include "dynlib_functions.h"
+#include "BOOL.h"
+
+/**
+* check if a function name already exists in Scilab
+* function eqs builtin or macro in library or macro as variable
+* @param[in] function name
+* @return TRUE (exists) or FALSE (Not exists)
+*/
+FUNCTIONS_SCILAB_IMPEXP BOOL isScilabFunction(const char * functionName);
+
+/**
+* check if a function name already exists in Scilab
+* as macro in a library
+* @param[in] function name
+* @return TRUE (exists) or FALSE (Not exists)
+*/
+FUNCTIONS_SCILAB_IMPEXP BOOL isScilabMacro(const char * functionName);
+
+/**
+* check if a function name already exists in Scilab
+* as macro variable
+* @param[in] function name
+* @return TRUE (exists) or FALSE (Not exists)
+*/
+FUNCTIONS_SCILAB_IMPEXP BOOL isScilabMacroVariable(const char * functionName);
+
+/**
+* check if a function name already exists in Scilab
+* as builtin
+* @param[in] function name
+* @return TRUE (exists) or FALSE (Not exists)
+*/
+FUNCTIONS_SCILAB_IMPEXP BOOL isScilabBuiltIn(const char * functionName);
+
+#endif /* ___ISSCILABFUNCTION_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/includes/librarieslist.h b/modules/functions/includes/librarieslist.h
new file mode 100755
index 000000000..340707c9f
--- /dev/null
+++ b/modules/functions/includes/librarieslist.h
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __LIBRARIESLIST_H__
+#define __LIBRARIESLIST_H__
+
+#include "dynlib_functions.h"
+
+/**
+* get list of libraries in scilab's stack
+* @param[out] int size of array returned
+* @return list of libraries
+*/
+FUNCTIONS_SCILAB_IMPEXP char **getlibrarieslist(int *sizearray);
+
+#endif /* __LIBRARIESLIST_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/includes/libraryinfo.h b/modules/functions/includes/libraryinfo.h
new file mode 100755
index 000000000..6f575d515
--- /dev/null
+++ b/modules/functions/includes/libraryinfo.h
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#ifndef __LIBRARYINFO_H__
+#define __LIBRARYINFO_H__
+
+#include "dynlib_functions.h"
+
+/**
+* get path of scilab library
+* @param[in] name of scilab library
+* @return a string : path of library
+*/
+FUNCTIONS_SCILAB_IMPEXP char *getlibrarypath(char *libraryname);
+
+/**
+* get macros list in a scilab's library
+* @param[in] name of scilab library
+* @param[out] size of array returned
+* @return an array of string (macros list)
+*/
+FUNCTIONS_SCILAB_IMPEXP char **getlistmacrosfromlibrary(char *libraryname, int *sizearray);
+
+#endif /* __LIBRARYINFO_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/libscifunctions-algo.la b/modules/functions/libscifunctions-algo.la
new file mode 100755
index 000000000..1e578c10f
--- /dev/null
+++ b/modules/functions/libscifunctions-algo.la
@@ -0,0 +1,41 @@
+# libscifunctions-algo.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libscifunctions-algo.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscifunctions-algo.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/functions/libscifunctions.la b/modules/functions/libscifunctions.la
new file mode 100755
index 000000000..0a37c4d18
--- /dev/null
+++ b/modules/functions/libscifunctions.la
@@ -0,0 +1,41 @@
+# libscifunctions.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libscifunctions.so.5'
+
+# Names of this library.
+library_names='libscifunctions.so.5.5.2 libscifunctions.so.5 libscifunctions.so'
+
+# The name of the static archive.
+old_library=''
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscifunctions.
+current=10
+age=5
+revision=2
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/local/lib/scilab'
diff --git a/modules/functions/license.txt b/modules/functions/license.txt
new file mode 100755
index 000000000..db1d06612
--- /dev/null
+++ b/modules/functions/license.txt
@@ -0,0 +1,11 @@
+Copyright:
+Copyright (c) 2008 - DIGITEO
+Copyright (c) 1989-2008 - INRIA
+Copyright (c) 1989-2007 - ENPC
+
+License:
+This module must be used under the terms of the CeCILL.
+This module file is licensed as described in the file COPYING, which
+you should have received as part of this distribution. The terms
+are also available at
+http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
diff --git a/modules/functions/locales/ca_ES.po b/modules/functions/locales/ca_ES.po
new file mode 100755
index 000000000..e9126fe13
--- /dev/null
+++ b/modules/functions/locales/ca_ES.po
@@ -0,0 +1,290 @@
+# Catalan translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2011-09-01 09:38+0000\n"
+"Last-Translator: oriolsbd <oriolsbd@yahoo.es>\n"
+"Language-Team: Catalan <ca@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ca\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: L'argument d'entrada #%d té una mida incorrecta.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser un escalar "
+"o una cadena de caràcters.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta. Ha de ser un escalar.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser un enter.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser 'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Error de memòria.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Error d'assignació de memòria.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Els arguments d'entrada tenen valors incorrectes.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser una cadena "
+"de caràcters.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser una cadena de "
+"text.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser 'm' o 'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: La llibreria %s no és vàlida.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte. Ha de ser una cadena "
+"de text.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: L'argument d'entrada #%d és d'un tipus incorrecte.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: Codi d'operació incorrecte %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Comprovant: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Comproveu: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: El fitxer %s no existeix.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Creació de [%s] (Macros) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: No s'ha trobat cap fitxer amb extensió %s a %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: S'ha forçat la compilació del fitxer %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Processant el fitxer: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Regeneració dels noms i les llibreries\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: No es pot crear el fitxer %s\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"S'ha actualitzar la llibreria %s,\n"
+"però no s'ha pogut carregar al Scilab perquè la variable %s és protegida.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: No s'ha pogut obrir el fitxer %s per escriptura\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: El fitxer %s no conté cap funció.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: No s'ha pogut trobar cap fitxer amb l'extensió %s a %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Hi ha una funció incorrecta al fitxer %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser una cadena "
+"de text.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: No s'ha definit la variable %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser el nom d'una "
+"funció de Scilab.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser una funció "
+"de Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: L'argument d'entrada té un valor incorrecte: No hi ha dades del perfil a "
+"la funció\n"
+
+msgid "Complexity"
+msgstr "Complexitat"
+
+msgid "Tools"
+msgstr "Eines"
+
+msgid "Edit"
+msgstr "Edita"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Surt"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Feu clic per obtenir la línia corresponent, moveu amb a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "línia %s [crida %s, %s seg] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "línia %s [%s crides, %s seg] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: No s'ha fet la funció per al perfil"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser el nom d'una "
+"funció de Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr ""
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr ""
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "La funcció %s és obsoleta."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Utilitzeu %s."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "S'eliminarà permanentment aquesta funció del Scilab %s"
diff --git a/modules/functions/locales/cs_CZ.po b/modules/functions/locales/cs_CZ.po
new file mode 100755
index 000000000..c14c02baf
--- /dev/null
+++ b/modules/functions/locales/cs_CZ.po
@@ -0,0 +1,272 @@
+# Czech translation for scilab
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-04-19 21:59+0000\n"
+"Last-Translator: Zbyněk Schwarz <Unknown>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Nelze přečíst vstupní argument #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: Špatná velikost vstupního argumentu #%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: Špatný typ vstupního argumentu #%d: Očekáván skalár, nebo řetězec.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s: Špatná velikost vstupního argumentu #%d: Očekáván skalár.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr "%s: Špatná hodnota vstupního argumentu #%d: Očekáváno celé číslo.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr "%s: Špatná hodnota vstupního argumentu #%d: očekáván 'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Chyba při přidělování paměti.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Chyba při přidělování paměti.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Špatné hodnoty pro vstupní argumenty.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván řetězec.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr "%s: Špatná velikost vstupního argumentu #%d: Očekáván řetězec.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Špatná hodnota vstupního argumentu #%d: očekáváno 'm' nebo 'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr "%s: Špatná velikost vstupního argumentu #%d: Očekáván řetězec.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: Neplatná knihovna %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván řetězec.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: zastaralý op-kód %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Kontroluji: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Prosím zkontrolujte: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: Soubor %s neexistuje.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván boolean.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr "%s: Špatná velikost vstupního argumentu #%d: Byl očekáván boolean.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Vytváření [%s] (Makra) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Žádné soubory s příponou %s ve %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr "%s: Špatná typ vstupního argumentu #%d: Očekávána matice řetězců.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: vynucená kompilace souboru %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Zpracovávám soubor: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Obnovit názvy a knihovny\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s. soubor %s nelze vytvořit.\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Soubor knihovny %s byl aktualizován.\n"
+"ale nemůže být načten do Scilab protože %s je chráněná proměnná.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s: Chyba v souboru %s : %s.\n"
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: Nelze otevřít soubor %s pro zápis\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: Soubor %s neobsahuje žádnou funkci.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: Špatný počet vstupních argumentů: očekáváno %d.\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: Nemůžu nalézt žádné soubory s příponou %s ve %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Nesprávná funkce v souboru %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván řetězec znaku.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: Neurčená proměnná %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Špatná hodnota vstupního argumentu #%d: Očekáváno jméno funkce Scilab.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr "%s: Špatný typ vstupního argumentu #%d: Očekávána funkce Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Špatná hodnota vstupního argumentu: Žádná profilová data ve funkci\n"
+
+msgid "Complexity"
+msgstr "Složitost"
+
+msgid "Tools"
+msgstr "Nástroje"
+
+msgid "Edit"
+msgstr "Upravit"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Zavřít"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Klikněte pro získání odpovídajícího řádku, posunujte pomocí a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "řádek %s [volání %s, %s sek] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "řádek %s [volání %s, %s sek] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: Funkce nebyla sestavena pro profilování"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Žádná proměnná jménem %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: Špatná hodnota vstupního argumentu #%d: Očekáváno jméno funkce Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s je již nezkompilován.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s je již zkompilován.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s je již zkompilován pro profilování.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s: Soukromá funkce: k této funkci nelze přistoupit přímo.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "Funkce %s je zastaralá."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Použijte místo toho %s prosím."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Tato funkce bude navždy odstraněna ve Scilab %s"
diff --git a/modules/functions/locales/de_DE.po b/modules/functions/locales/de_DE.po
new file mode 100755
index 000000000..fa2b04f0d
--- /dev/null
+++ b/modules/functions/locales/de_DE.po
@@ -0,0 +1,284 @@
+# German translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-11-08 15:35+0000\n"
+"Last-Translator: Dennis Baudys <Unknown>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: de\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s:Falscher Typ für Eingangsargument #%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: falscher Typ für Eingangsargument #%d: ein Skalar oder Zeichenkette "
+"erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s: falsche Größe für Eingangsargument #%d: ein Skalar erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr "%s: falscher Wert für Eingangsargument #%d: ein Integer erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr "%s: falscher Wert für Eimgangsargument #%d: 'errcatch' erwartet\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Fehler in Speicherreservierung.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: Fehler bei der Speicherbelegung.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: falsche(r) Wert(e) für Eingangsargument(e)\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: falscher Typ für Eingangsargument #%d: eine Zeichenkette erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: eine Zeichenkette erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr "%s: falscher Wert für Eingangsargument #%d: 'm' oder 'n' erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: Falsche Größe für Eingangsargument #%d: eine Zeichenkette erwartet.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: ungültige Bibliothek %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s: falscher Typ von Eingangsargumenten #%d: Variable erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: falscher Typ für Eingangsargument #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: unnötiger Opcode %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Überprüfe: %s\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: überprüfen Sie: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: Datei %s ist nicht vorhanden.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "--Erzeugung von [%s] (Makros) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Es wurden keine Dateien mit der Erweiterung %s in %s gefunden.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: %s muss kompiliert werden.\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: verarbeite Datei: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Erneuere Namen und Abhängigkeiten.\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: Datei %s kann nicht erzeugt werden\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Bibliothek%s wurde auf den neusten Stand gebracht, \n"
+"kann aber nicht in Scilab importiert werden, da %s eine geschützte Variable "
+"ist.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: kann Datei %s nicht zum Schreiben öffnen\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: Datei %s enthält keine Funktion.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: Kann keine Datei mit der Erweiterung %s in %s finden.\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Ungültige Funktion in Datei %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: Falscher Typ des Eingangsarguments #%d: Eine Zeichenkette mit Buchstaben "
+"wird erwartet.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: undefinierte Variable %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Falscher Wert für Argument #%d: Name einer Scilab Funktion erwartet.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: falscher Typ für Eingangsargument #%d: es wird eine Scilab Funktion "
+"erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Falsche Werte für Eingabeargument: Keine Profilinformationen in der "
+"Funktion enthalten.\n"
+
+msgid "Complexity"
+msgstr "Komplexität"
+
+msgid "Tools"
+msgstr "Extras"
+
+msgid "Edit"
+msgstr "Bearbeiten"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Beenden"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Klicken, um zur entrsprechenden Zeile zu erhalten, springe mit a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "Zeile %s [%s Aufruf, %s Sektion]:: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "Zeile %s [%s Aufrufe, %s Sektion]:: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: Die Funktion für das Profil wurde noch nicht erstellt."
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: falscher Wert für Eingangsargument #%d: ein Name der Scilab Funktion "
+"wird erwartet.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr ""
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr ""
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s: private Funktion: kann auf diese Funktion nicht direkt zugreifen.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "Funktion %s ist unnötig."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Bitte verwenden Sie stattdessen %s."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Diese Funktion wird aus Scilab dauerhaft entfernt %s"
diff --git a/modules/functions/locales/es_ES.po b/modules/functions/locales/es_ES.po
new file mode 100755
index 000000000..22521ca6d
--- /dev/null
+++ b/modules/functions/locales/es_ES.po
@@ -0,0 +1,290 @@
+# Spanish translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-02-01 22:21+0000\n"
+"Last-Translator: Fido <Unknown>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: es\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: No se puede leer el argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: Tamaño incorrecto para el argumento de entrada #%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un escalar o "
+"un string.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un escalar.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: Valor incorrecto del argumento de entrada #%d: Se esperaba un entero.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: valor incorrecto de argumento de entrada nº %d. Se experaba un "
+"'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Error de asignación de memoria.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Error de asignación de memoria.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Valores incorrectos de los argumentos de entrada.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un string.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un string.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Valor incorrecto del argumento de entrada #%d: Se esperaba 'm' o 'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un string.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: Biblioteca %s inválida.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un string.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: Tipo incorrecto del argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: op-code %d obsoleto.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Revisando: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Por favor revise: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: El archivo %s no existe.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Creación de [%s] (Macros) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: No se encontraron archivos con extensión %s en %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: Se forzó la compilación del archivo %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Procesando el archivo: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Regenerar nombres y bibliotecas\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: El archivo %s no pudo ser creado\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"El archivo de biblioteca %s fue actualizado,\n"
+"pero no puede ser cargado en Scilab porque %s es una variable protegida.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: Imposible abrir el archivo %s para escritura\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: El archivo %s no contiene ninguna función.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: No puedo encontrar ningún archivo con la extensión %s en %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Función incorrecta en el archivo %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un caracter "
+"string.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: Variable indefinida %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Valor incorrecto del argumento de entrada #%d: Se esperaba el nombre de "
+"una función de Scilab.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba una función de "
+"Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Valores incorrectos de argumentos de entrada: No hay perfil de datos en "
+"la función\n"
+
+msgid "Complexity"
+msgstr "Complejidad"
+
+msgid "Tools"
+msgstr "Herramientas"
+
+msgid "Edit"
+msgstr "Editar"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Salir"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Click para obtener la línea correspondiente, mover con a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "línea %s [%s llamado, %s seg] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "línea %s [%s llamados, %s seg] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: La función no fue construida para hacer perfiles"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "No hay una variable llamada: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: Valor incorrecto del argumento de entrada #%d: Se esperaba el nombre de "
+"una función de Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s ya está no-compilado.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s ya está compilado.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s ya está compilado para profiling.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s: Función privada: no se puede acceder directamente a esta función.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "La función %s es obsoleta."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Por favor use %s en su lugar."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Esta función será removida permanentemente de Scilab %s"
diff --git a/modules/functions/locales/fr_FR.po b/modules/functions/locales/fr_FR.po
new file mode 100755
index 000000000..53f0c5414
--- /dev/null
+++ b/modules/functions/locales/fr_FR.po
@@ -0,0 +1,296 @@
+# French translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-12-11 15:30+0000\n"
+"Last-Translator: Julie PAUL <Unknown>\n"
+"Language-Team: French <fr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: fr\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s : Impossible de lire l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s : Dimension erronée de l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Un scalaire ou une chaîne de "
+"caractères attendu.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Un scalaire attendu.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : Un entier attendu.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : 'errcatch' attendu.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s : Erreur d'allocation mémoire.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Erreur d'allocation mémoire.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr ""
+"%s : Valeur(s) erronée(s) de l'argument d'entrée ou des arguments d'entrée.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une chaîne de caractères "
+"attendue.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Une chaîne de "
+"caractères attendue.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : 'm' ou 'n' attendu.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Une chaîne de "
+"caractères attendue.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s : Bibliothèque %s invalide.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une chaîne de caractères "
+"attendue.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s : Type erroné de l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s : Nombre erroné d'argument(s) d'entrée : %d attendu(s).\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s : op-code obsolète %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Vérification : %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s : Veuillez vérifier : %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s : Le fichier %s n'existe pas.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr "%s : Nombre erroné d'argument(s) d'entrée : %d à %d attendu(s).\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr "%s : Type erroné de l'argument d'entrée n°%d : Un booléen attendu.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Un booléen attendu.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Création de [%s] (Macros) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s : Pas de fichiers avec l'extension %s trouvés dans %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une matrice de chaîne de "
+"caractères attendue.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s : %s compilation du fichier forcée\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s : Traitement du fichier : %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s : Régénère les noms et les bibliothèques\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s : Impossible de créer le fichier %s\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Le fichier bibliothèque %s a été mis à jour,\n"
+"mais ne peut pas être chargé dans Scilab car %s est une variable protégée.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s : Erreur dans le fichier %s : %s.\n"
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s : Impossible d'ouvrir le fichier %s en écriture\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s : Le fichier %s ne contient aucune fonction.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s : Nombre erroné d'arguments d'entrée : %d attendus.\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s : Impossible de trouver un fichier avec l'extension %s dans %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s : Fonction incorrecte dans le fichier %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Un caractère attendu.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s : Variable non définie %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : Un nom de fonction Scilab "
+"attendu.\n"
+
+msgid "No comment available."
+msgstr "Aucun commentaire n'est disponible"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une fonction Scilab "
+"attendue.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s : Valeurs erronées de l'argument d'entrée : Pas de données de profil dans "
+"la fonction\n"
+
+msgid "Complexity"
+msgstr "Complexité"
+
+msgid "Tools"
+msgstr "Outils"
+
+msgid "Edit"
+msgstr "Édition"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Quitter"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Cliquez pour obtenir les lignes correspondantes, déplacez avec a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "ligne %s [%s appel, %s sec] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "ligne %s [%s appels, %s sec] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s : La fonction n'a pas été construite pour le profilage"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Aucune variable du nom : %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : Un nom de fonction Scilab "
+"attendu.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s n'est pas compilée.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s est déjà compilé.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s est déjà compilé pour le profilage.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s : Fonction privée : Impossible d'accéder directement à cette fonction.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "La fonctionnalité %s est obsolète."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Veuillez utiliser %s à la place."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Cette fonctionnalité va être définitivement supprimée dans Scilab %s"
diff --git a/modules/functions/locales/functions.pot b/modules/functions/locales/functions.pot
new file mode 100755
index 000000000..958a78265
--- /dev/null
+++ b/modules/functions/locales/functions.pot
@@ -0,0 +1,452 @@
+# Localization of the module functions
+# Please see in SCI/tools/localization for localization management
+# Copyright (C) 2007-2008 - INRIA
+# Copyright (C) 2008-2011 - DIGITEO
+# Copyright (C) 2012-2014 - Scilab-Enterprises
+# This file is distributed under the same license as the Scilab package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n"
+"Language-Team: Scilab Localization <localization@lists.scilab.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Revision-Date: 2015-03-27 13:54+0100\n"
+
+# File: sci_gateway/c/sci_exec.c, line: 52
+# File: sci_gateway/c/sci_exec.c, line: 60
+# File: sci_gateway/c/sci_exec.c, line: 70
+# File: sci_gateway/c/sci_exec.c, line: 78
+# File: sci_gateway/c/sci_exec.c, line: 89
+# File: sci_gateway/c/sci_exec.c, line: 97
+# File: sci_gateway/c/sci_exec.c, line: 113
+# File: sci_gateway/c/sci_exec.c, line: 143
+# File: sci_gateway/c/sci_exec.c, line: 170
+# File: sci_gateway/c/sci_exec.c, line: 181
+# File: sci_gateway/c/sci_exec.c, line: 225
+# File: sci_gateway/c/sci_exec.c, line: 252
+# File: sci_gateway/c/sci_exec.c, line: 263
+# File: sci_gateway/c/sci_execstr.c, line: 49
+# File: sci_gateway/c/sci_execstr.c, line: 57
+# File: sci_gateway/c/sci_execstr.c, line: 70
+# File: sci_gateway/c/sci_execstr.c, line: 114
+# File: sci_gateway/c/sci_execstr.c, line: 122
+# File: sci_gateway/c/sci_execstr.c, line: 136
+# File: sci_gateway/c/sci_execstr.c, line: 153
+# File: sci_gateway/c/sci_execstr.c, line: 187
+# File: sci_gateway/c/sci_execstr.c, line: 195
+# File: sci_gateway/c/sci_execstr.c, line: 209
+# File: sci_gateway/c/sci_execstr.c, line: 226
+# File: sci_gateway/c/sci_lib.c, line: 53
+# File: sci_gateway/c/sci_lib.c, line: 61
+# File: sci_gateway/c/sci_lib.c, line: 75
+# File: sci_gateway/c/sci_lib.c, line: 99
+# File: sci_gateway/c/sci_libraryinfo.c, line: 33
+# File: sci_gateway/c/sci_whereis.c, line: 39
+# File: sci_gateway/c/sci_whereis.c, line: 47
+# File: sci_gateway/c/sci_whereis.c, line: 90
+# File: sci_gateway/c/sci_whereis.c, line: 111
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 119
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 128
+# File: sci_gateway/c/sci_exec.c, line: 210
+# File: sci_gateway/c/sci_exec.c, line: 303
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 149
+# File: sci_gateway/c/sci_exec.c, line: 231
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 156
+# File: sci_gateway/c/sci_exec.c, line: 238
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 187
+# File: sci_gateway/c/sci_exec.c, line: 269
+# File: sci_gateway/c/sci_execstr.c, line: 159
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 198
+# File: sci_gateway/c/sci_execstr.c, line: 80
+# File: sci_gateway/c/sci_execstr.c, line: 170
+# File: sci_gateway/c/sci_execstr.c, line: 243
+# File: sci_gateway/c/sci_libraryinfo.c, line: 77
+# File: sci_gateway/c/sci_libraryinfo.c, line: 116
+# File: sci_gateway/c/sci_libraryinfo.c, line: 121
+# File: sci_gateway/c/sci_whereis.c, line: 103
+# File: sci_gateway/c/sci_whereis.c, line: 124
+# File: sci_gateway/c/sci_whereis.c, line: 137
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 280
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_exec.c, line: 293
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_execstr.c, line: 91
+# File: sci_gateway/c/sci_execstr.c, line: 98
+# File: sci_gateway/c/sci_execstr.c, line: 128
+# File: sci_gateway/c/sci_execstr.c, line: 201
+# File: sci_gateway/c/sci_lib.c, line: 67
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_execstr.c, line: 142
+# File: sci_gateway/c/sci_execstr.c, line: 215
+# File: sci_gateway/c/sci_whereis.c, line: 96
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_execstr.c, line: 232
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_libraryinfo.c, line: 43
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_libraryinfo.c, line: 105
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_libraryinfo.c, line: 126
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_whereis.c, line: 155
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr ""
+
+# File: macros/add_profiling.sci, line: 13
+# File: macros/bytecode.sci, line: 15
+# File: macros/bytecodewalk.sci, line: 14
+# File: macros/createfun.sci, line: 16
+# File: macros/macrovar.sci, line: 21
+# File: macros/plotprofile.sci, line: 13
+# File: macros/profile.sci, line: 13
+# File: macros/remove_profiling.sci, line: 13
+# File: macros/reset_profiling.sci, line: 13
+# File: macros/showprofile.sci, line: 14
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#
+# File: macros/bytecodewalk.sci, line: 167
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr ""
+
+#
+# File: macros/check_gateways.sci, line: 18
+#, c-format
+msgid "Checking: %s.\n"
+msgstr ""
+
+#
+# File: macros/check_gateways.sci, line: 28
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr ""
+
+#
+# File: macros/check_gateways.sci, line: 31
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr ""
+
+#
+# File: macros/fun2string.sci, line: 20
+# File: macros/genlib.sci, line: 17
+# File: macros/head_comments.sci, line: 14
+# File: macros/recompilefunction.sci, line: 12
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 32
+# File: macros/genlib.sci, line: 44
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 36
+# File: macros/genlib.sci, line: 48
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 62
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 123
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 131
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 151
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 175
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 195
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 211
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 222
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 242
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 265
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr ""
+
+#
+# File: macros/genlib.sci, line: 277
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr ""
+
+#
+# File: macros/get_function_path.sci, line: 18
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#
+# File: macros/getd.sci, line: 42
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr ""
+
+#
+# File: macros/getd.sci, line: 52
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr ""
+
+#
+# File: macros/head_comments.sci, line: 18
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+
+#
+# File: macros/head_comments.sci, line: 22
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr ""
+
+#
+# File: macros/head_comments.sci, line: 27
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+
+#
+# File: macros/head_comments.sci, line: 39
+msgid "No comment available."
+msgstr ""
+
+#
+# File: macros/macrovar.sci, line: 25
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 48
+#, c-format
+msgid "%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 79
+msgid "Complexity"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 94
+msgid "Tools"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 95
+msgid "Edit"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 96
+msgid "?"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 98
+msgid "Exit"
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 101
+msgid "Click to get corresponding line, move with a-z."
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 156
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr ""
+
+#
+# File: macros/plotprofile.sci, line: 158
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr ""
+
+#
+# File: macros/profile.sci, line: 25
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr ""
+
+#
+# File: macros/recompilefunction.sci, line: 17
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr ""
+
+#
+# File: macros/recompilefunction.sci, line: 22
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+
+#
+# File: macros/recompilefunction.sci, line: 27
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr ""
+
+#
+# File: macros/recompilefunction.sci, line: 43
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr ""
+
+#
+# File: macros/recompilefunction.sci, line: 47
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr ""
+
+#
+# File: macros/warnobsolete.sci, line: 21
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+
+#
+# File: macros/warnobsolete.sci, line: 24
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr ""
+
+#
+# File: macros/warnobsolete.sci, line: 26
+#, c-format
+msgid "Please use %s instead."
+msgstr ""
+
+#
+# File: macros/warnobsolete.sci, line: 29
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr ""
diff --git a/modules/functions/locales/it_IT.po b/modules/functions/locales/it_IT.po
new file mode 100755
index 000000000..e4d201691
--- /dev/null
+++ b/modules/functions/locales/it_IT.po
@@ -0,0 +1,309 @@
+# Italian translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2015-02-15 22:10+0000\n"
+"Last-Translator: Carml <mighty.carml@gmail.com>\n"
+"Language-Team: Italian <it@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: it\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Impossibile leggere l'argomento in ingresso #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: L'argomento in ingresso #%d ha una dimensione sbagliata.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso uno scalare "
+"o una stringa.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso uno "
+"scalare.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso un "
+"intero.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso "
+"'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Errore di allocazione della memoria.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Errore di allocazione della memoria\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Gli argomenti in ingresso hanno dei valori sbagliati.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era 'm' o 'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: La libreria %s non è valida.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: L'argomento in ingresso #%d è di tipo sbagliato.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi %d.\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: lo op-code %d è obsoleto.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Controllo di %s in corso.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Verificare %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: Il file %s non esiste.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: era atteso da %d a "
+"%d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un valore "
+"booleano.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un "
+"valore booleano.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Creazione di [%s] (Macro) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Non è stato trovato alcun file con estensione %s in %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una matrice "
+"di stringhe.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: forzata la compilazione del file %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Elaborazione in corso del file: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Rigenerare nomi e lib\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: il file %s non può essere creato\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Il file di libreria %s è stato aggiornato,\n"
+"ma non può essere caricato in Scilab poiché %s è una variabile protetta.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s: Errore nel file %s: %s.\n"
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: È impossibile aprire il file %s in scrittura\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: Il file %s non contiene alcuna funzione.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi %d.\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr ""
+"%s: Non è stato possibile trovare alcun file con estensione %s in %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: C'è una funzione non corretta nel file %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una stringa "
+"di caratteri.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: La variabile %s non è definita.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso il nome "
+"di una funzione di Scilab.\n"
+
+msgid "No comment available."
+msgstr "Nessun commento disponibile."
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una funzione "
+"di Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: L'argomento in ingresso ha dei valori sbagliati: nella funzione non c'è "
+"alcun dato sul profilo\n"
+
+msgid "Complexity"
+msgstr "Complessità"
+
+msgid "Tools"
+msgstr "Strumenti"
+
+msgid "Edit"
+msgstr "Modifica"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Esci"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr ""
+"Fare un click per raggiungere la linea corrispondente, muoversi con a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "linea %s [chiamata %s, %s sec] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "linea %s [%s chiamate, %s sec] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: La funzione non è stata costruita per creare il profilo"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Nessuna variabile chiamata: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso il nome "
+"di una funzione di Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s è già non compilato.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s è già compilato.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s è gia compilato per la profilazione.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s: Funzione privata: non è possibile accedere direttamente a questa "
+"funzione.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "La funzione %s è obsoleta."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Usare %s invece."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Questa funzione sarà rimossa in modo permanente in Scilab %s"
diff --git a/modules/functions/locales/ja_JP.po b/modules/functions/locales/ja_JP.po
new file mode 100755
index 000000000..245628c87
--- /dev/null
+++ b/modules/functions/locales/ja_JP.po
@@ -0,0 +1,310 @@
+# Japanese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-12-08 11:22+0000\n"
+"Last-Translator: Rui Hirokawa <Unknown>\n"
+"Language-Team: Japanese <z-saito@guitar.ocn.ne.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"X-Poedit-Country: Japan\n"
+"Language: ja\n"
+"X-Poedit-Language: Japanese\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: 入力引数 #%d を読み込めません.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: 入力引数 #%d の大きさが間違っています.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: スカラーまたは文字列を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s: 入力引数 #%d の大きさが正しくありません: スカラーを1つ指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr "%s: 入力引数 #%d の値が間違っています: 整数を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr "%s: 入力引数 #%d の値が間違っています: 'errcatch' を指定してください.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: メモリ確保エラー.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: メモリの割り当てに失敗しました。\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: 入力引数の値が間違っています.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: 文字列を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr "%s: 入力引数 #%d の大きさが正しくありません: 文字列を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr "%s: 入力引数 #%d の値が間違っています: 'm' または'n'を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr "%s: 入力引数 #%d の大きさが間違っています: 文字列を指定してください.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: 無効なライブラリ %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: 文字列を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: 入力引数の数に誤りがあります: %d 個の引数を指定してください.\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: 廃止されたオペコード %d です.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "チェック中: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: %s を確認してください.\n"
+
+#
+# File: macros/check_gateways.sci, line: 31
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: ファイル %s は存在しません。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr "%s: 入力引数の数が間違っています: %d から %d 個の引数を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: 論理値を指定してください.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr "%s: 入力引数 #%d の大きさが間違っています: 論理値を指定してください.\n"
+
+#
+# File: macros/genlib.sci, line: 23
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- [%s] の作成(マクロ) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: 拡張子 %s を有するファイルが %s で見つかりませんでした.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: 文字列の行列を指定してください.\n"
+
+#
+# File: macros/genlib.sci, line: 102
+# File: macros/genlib_old.sci, line: 72
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: %s ファイルの強制コンパイル\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: ファイルを処理中: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: names と lib を再度生成する\n"
+
+#
+# File: macros/genlib.sci, line: 151
+# File: macros/genlib_old.sci, line: 114
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: ファイル %s を作成できません。\n"
+
+#
+# File: macros/genlib.sci, line: 161
+# File: macros/genlib_old.sci, line: 123
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"ライブラリ・ファイル %s は、更新されました。\n"
+"しかし、%s は保護された変数なのでScilabへロードできません。\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s: ファイル %s にエラーが発生: %s.\n"
+
+#
+# File: macros/genlib.sci, line: 204
+# File: macros/genlib_old.sci, line: 153
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: 書き込みのためのファイル %s を開くことができません。\n"
+
+#
+# File: macros/genlib.sci, line: 212
+# File: macros/genlib_old.sci, line: 159
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: ファイル %s は、どんな関数も含みません。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: 入力引数の数が間違っています: %d 個の引数を指定してください.\n"
+
+#
+# File: macros/getd.sci, line: 45
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%1$s: 私は、どんなファイルも %3$s の拡張 %2$s で見つけることができません。\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: ファイル %s に正しくない関数があります.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: 文字列を指定してください.\n"
+
+#
+# File: macros/head_comments.sci, line: 17
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: 変数 %s は定義されていません。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr "%s: 入力引数 #%d の値が間違っています: Scilab関数の名前を指定してください.\n"
+
+msgid "No comment available."
+msgstr "コメントがありません."
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr "%s: 入力引数 #%d の型が間違っています: Scilab関数を指定してください.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr "%s: 入力引数の値が間違っています: プロファイルデータが関数に存在しません.\n"
+
+#
+# File: macros/plotprofile.sci, line: 77
+msgid "Complexity"
+msgstr "複雑性"
+
+#
+# File: macros/plotprofile.sci, line: 243
+msgid "Tools"
+msgstr "ツール"
+
+#
+# File: macros/plotprofile.sci, line: 94
+# File: macros/plotprofile.sci, line: 235
+msgid "Edit"
+msgstr "編集"
+
+msgid "?"
+msgstr "その他"
+
+#
+# File: macros/plotprofile.sci, line: 102
+msgid "Exit"
+msgstr "終了"
+
+#
+# File: macros/plotprofile.sci, line: 104
+msgid "Click to get corresponding line, move with a-z."
+msgstr "一致する行をクリックしてください、 a-z を移動"
+
+#
+# File: macros/plotprofile.sci, line: 153
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "行 %s [%s 呼び出し, %s 秒] :: "
+
+#
+# File: macros/plotprofile.sci, line: 155
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "行 %s [%s 呼び出し, %s 秒] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: 関数がプロファイル用に構築されていません."
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "%s という変数は存在しません.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr "%s: 入力引数 #%d の値が間違っています: Scilab関数名を指定してください.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s はコンパイル除外済みです.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s はコンパイル済みです.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s はプロファイル用にコンパイル済みです.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s: プライベート関数: この関数に直接アクセスできません.\n"
+
+#
+# File: macros/warnobsolete.sci, line: 22
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "関数 %s は廃れました。"
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "代わりに %s を使用してください."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "この関数は Scilab %s 以降では削除される予定です."
diff --git a/modules/functions/locales/pl_PL.po b/modules/functions/locales/pl_PL.po
new file mode 100755
index 000000000..6e3b6084f
--- /dev/null
+++ b/modules/functions/locales/pl_PL.po
@@ -0,0 +1,302 @@
+# Polish translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-10-25 20:44+0000\n"
+"Last-Translator: Grzegorz Szostek <Unknown>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pl\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Brak możliwości odczytu argumentu wejściowego nr %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: Nieprawidłowy rozmiar argumentu wejściowego nr %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ dla argumentu wejściowego #%d: oczekiwany skalar lub "
+"łańcuch.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar dla argumentu wejściowego nr %d: Oczekiwany "
+"skalar.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość dla argumentu wejściowego nr %d: Oczekiwano "
+"wartości całkowitej.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość dla argumentu wejściowego nr %d: Oczekiwany "
+"'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Błąd przedzielania pamięci\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: Błąd alokacji pamięci.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Nieprawidłowe wartości dla argumentów wejściowych.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: oczekiwano łańcuch.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar parametru wejściowego nr %d: oczekiwano ciągu "
+"znaków.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość dla argumentu wejściowego nr %d: oczekiwane 'm' "
+"lub 'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar dla argumentu wejściowego #%d: Oczekiwano wartości "
+"typu string.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: Nieprawidłowa biblioteka %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: oczekiwany łańcuch.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: Nieprawidłowy typ dla argumentu wejściowego nr %d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: zdezaktualizowany op-code %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Sprawdzanie: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Proszę sprawdzić: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: Plik %s nie istnieje.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: oczekiwano typu "
+"boolean.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar argumentu wejściowego nr %d: oczekiwano typu "
+"boolean.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Tworzenie [%s] (Makra) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Pliki z rozszerzeniem %s nie zostały znalezione w %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego #%d: Oczekiwano macierzy typu "
+"string.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: %s wymuszono kompilację pliku\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Przetwarzanie pliku: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Regeneracja nazw i bibliotek\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: %s plik nie może zostać utworzony\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Plik biblioteki %s został uaktualniony,\n"
+"ale nie może zostać załadowany do Scilaba ponieważ %s jest zmienną "
+"chronioną.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: Nie można otworzyć pliku %s do zapisu\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: Plik %s nie zawiera żadnych funkcji.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: Nie można znaleźć żadnych plików z rozszerzeniem %s w %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Niepoprawna funkcja w pliku %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ dla argumentu wejściowego nr %d: oczekiwany łańcuch.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: Niezdefiniowana zmienna %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość dla argumentu wejściowego nr %d: oczekiwana nazwa "
+"funkcji Scilab.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ dla argumentu wejściowego nr %d: oczekiwana funkcja "
+"Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Nieprawidłowe wartości dla argumentu wejściowego: Brak danych profilu w "
+"funkcji\n"
+
+msgid "Complexity"
+msgstr "Złożoność"
+
+msgid "Tools"
+msgstr "Narzędzia"
+
+msgid "Edit"
+msgstr "Edycja"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Wyjście"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Kliknij aby otrzymać odpowiadającą linię, poruszanie za pomocą a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "linia %s [%s wywołanie, %s sekunda] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "linia %s [wywołana przez %s, %s sekunda] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: Funkcja nie została zbudowana do profilowania"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Brak zmiennej o nazwie: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość dla argumentu wejściowego nr %d: oczekiwana nazwa "
+"funkcji Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s jest już nieskompilowany.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s jest już skompilowany.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s jest już skompilowany dla profilowania.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s: Funkcja prywatna: Nie można uzyskać dostępu do tek funkcji "
+"bezpośrednio.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "Funkcja %s jest zdezaktualizowana."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Proszę w zamian użyć %s."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Ta funkcja zostanie na stałe usunięta w Scilab %s"
diff --git a/modules/functions/locales/pt_BR.po b/modules/functions/locales/pt_BR.po
new file mode 100755
index 000000000..981f50c77
--- /dev/null
+++ b/modules/functions/locales/pt_BR.po
@@ -0,0 +1,299 @@
+# Brazilian Portuguese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-06-12 15:27+0000\n"
+"Last-Translator: Roberto Coelho de Berredo <rcberredo@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pt_BR\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Não foi possível ler argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: Tamanho incorreto para o argumento de entrada #%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um escalar "
+"ou um texto.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"escalar.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: esperava-se um número "
+"inteiro.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: esperava-se "
+"'errcatch'.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Erro de alocação de memória.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s : Erro na alocação de memória.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Valores incorretos para os argumentos de entrada.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um texto.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"texto.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: esperava-se 'm' ou "
+"'n'.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"texto.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: Biblioteca inválida %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um texto.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: Tipo incorreto para o argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: Código obsoleto de operação %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Verificando: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Por favor verifique: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: O arquivo %s não existe.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um "
+"booleano.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"booleano.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Criação de [%s] (Macros) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Nenhum arquivo com extensão %s encontrado em %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se uma "
+"matriz de texto.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: Compilação forçada do arquivo %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Processando arquivo: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Regenerando nomes e biblioteca\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: O arquivo %s não pode ser criado\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"O arquivo bibilioteca %s foi atualizado,\n"
+"mas não pode ser carregado no Scilab porque %s é uma variável protegida.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: Impossível abrir o arquivo %s para escrita\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: O arquivo %s não contém nenhuma função.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: Não é encontrou nenhum arquivo com a extensão %s em %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Função incorreta no arquivo %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um texto.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: Variável indefinida %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: esperava-se o nome de "
+"uma função Scilab.\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se uma função "
+"do Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Valores incorretos para os argumentos de entrada: nenhum dado de perfil "
+"na função\n"
+
+msgid "Complexity"
+msgstr "Complexidade"
+
+msgid "Tools"
+msgstr "Ferramentas"
+
+msgid "Edit"
+msgstr "Editar"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "Sair"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Clique para obter a linha correspondente, mova com a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "linha %s [%s chamada, %s segundos] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "linha %s [%s chamadas, %s segundos] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: Esta função não foi construída para perfilamento"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Não há variável chamada: %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: esperava-se um nome de "
+"função do Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s já é não-compilado.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s já está compilado.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s já está compilado para perfilagem.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s Função privada: não se pode acessar esta função diretamente.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "A função %s está obsoleta."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Por favor, utilize %s no lugar."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Esta função será permanentemente removida no Scilab %s"
diff --git a/modules/functions/locales/ru_RU.po b/modules/functions/locales/ru_RU.po
new file mode 100755
index 000000000..4c8ffbc45
--- /dev/null
+++ b/modules/functions/locales/ru_RU.po
@@ -0,0 +1,281 @@
+# Russian translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-12-12 16:37+0000\n"
+"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ru\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Не могу прочитать входной аргумент №%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: Неверный размер входного параметра №%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: Неверный тип входного параметра №%d: ожидался скаляр или строка.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s: Неверный размер входного параметра №%d: ожидался скаляр.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: Неверное значение входного параметра №%d: ожидалось целое число.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: Неверное значение входного параметра №%d: ожидалось «errcatch».\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Ошибка выделения памяти.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: Ошибка выделения памяти.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: Неверные значения входных параметров.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: Неверный тип входного параметра №%d: ожидалась строка.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr "%s: Неверный размер входного параметра №%d: ожидалась строка.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Неверное значение входного параметра №%d: ожидалось «m» или «n».\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr "%s: Неверный размер входного параметра №%d: ожидалась строка.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: Некорректная библиотека %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s: Неверный тип входного параметра №%d: ожидалась строка.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: Неверный тип входного параметра №%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Неверное количество входных аргументов: Ожидалось %d.\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: устаревший код операции %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Проверяется: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: Проверьте: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: Файл %s не существует.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr "%s: Неверное количество входных аргументов: Ожидалось от %d до %d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Неверный тип входного аргумента №%d: ожидалось логическое значение.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: Неверный размер входного параметра №%d: ожидалось логическое значение.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Создание [%s] (Макросы) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: Файлы с расширением %s не найдены в %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr "%s: Неверный тип входного аргумента №%d: ожидалась матрица строк.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: Вынужденная компиляция файла %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: Обрабатывается файл: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: Обновляются файлы names и lib\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: не удалось создать файл %s\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Файл библиотеки %s был обновлён,\n"
+"но не может быть загружен в Scilab, потому что %s является защищённой "
+"переменной.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s: Ошибка в файле %s : %s.\n"
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: Не удалось открыть файл %s для записи\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: Файл %s не содержит ни одной функции.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: Неверное количество входных аргументов: ожидалось %d.\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: Не удалось найти файлов с расширением %s в %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: Неверная функция в файле %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: Неверный тип входного параметра №%d: ожидалась символьная строка.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: Переменная %s не определена.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: Неверное значение входного параметра №%d: ожидалось имя функции Scilab.\n"
+
+msgid "No comment available."
+msgstr "Комментарий недоступен."
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: Неверный тип входного параметра №%d: ожидалось имя функции Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: Неверные значения входного аргумента: функция не подготовлена к "
+"профилированию\n"
+
+msgid "Complexity"
+msgstr "Сложность"
+
+msgid "Tools"
+msgstr "Инструменты"
+
+msgid "Edit"
+msgstr "Правка"
+
+msgid "?"
+msgstr "Справка"
+
+msgid "Exit"
+msgstr "Выход"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "Нажатие - получить соответствующую строку, a-z - перемещение."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "строка %s [%s вызов, %s с] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "строка %s [%s вызовов, %s с] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: Функция не подготовлена к профилированию"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Нет переменной с именем: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: Неверное значение входного параметра №%d: ожидалось имя функции Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s уже не скомпилирован.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s уже скомпилирован.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s уже скомпилирован для профилирования.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s: Частная функция: невозможен прямой доступ к этой функции.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "Функция %s устарела."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Используйте %s."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Эта функция будет окончательно удалена в Scilab %s"
diff --git a/modules/functions/locales/uk_UA.po b/modules/functions/locales/uk_UA.po
new file mode 100755
index 000000000..412574892
--- /dev/null
+++ b/modules/functions/locales/uk_UA.po
@@ -0,0 +1,306 @@
+# Ukrainian translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-12-06 19:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
+"Language-Team: Ukrainian <translation@linux.org.ua>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: uk\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: не вдалося прочитати вхідний параметр №%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: помилкова розмірність вхідного параметра №%d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати тип «string» "
+"або скалярний тип.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr ""
+"%s: помилкова розмірність вхідного параметра №%d: слід використовувати "
+"дійсне число.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr ""
+"%s: помилкове значення вхідного параметра №%d: слід використовувати ціле "
+"значення.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr ""
+"%s: помилкове значення вхідного параметра №%d: слід використовувати "
+"«errcatch».\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: помилка виділення пам’яті.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: помилка під час спроби виділення пам’яті.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: помилкові значення вхідних параметрів.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати тип "
+"«string».\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: помилковий розмір вхідного параметра №%d: слід використовувати рядок.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr ""
+"%s: Помилкове значення вхідного параметра №%d: слід використовувати «m» або "
+"«n».\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr ""
+"%s: помилковий розмір вхідного параметра №%d: слід використовувати рядок.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s: некоректна бібліотека %s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати тип "
+"«string».\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: помилковий тип вхідного параметра №%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: помилкова кількість вхідних параметрів: мало бути %d.\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: застарілий код операції %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "Перевірка: %s\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s: будь ласка, перевірте: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: файла з назвою %s не існує.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+"%s: помилкова кількість вхідних параметрів: слід використовувати від %d до "
+"%d параметрів.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати тип "
+"«boolean».\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+"%s: помилкова розмірність вхідного параметра №%d: слід використовувати "
+"булівське значення.\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- Створення [%s] (макрос) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: файлів з суфіксом назви %s у %s не знайдено\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: мало бути використано матрицю з "
+"рядків.\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s: примусовий режим збирання файла %s\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: обробка файла: %s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: оновлення файлів names і lib\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s: не вдалося створити файл %s\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"Файл бібліотеки %s було оновлено,\n"
+"але його завантаження до Scilab неможливе, оскільки %s — захищена змінна.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr "%s: помилка у файлі %s: %s.\n"
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: не вдалося відкрити файл %s для запису\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: у файлі %s не міститься жодної функції.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: помилкова кількість вхідних параметрів: мало бути %d.\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s: не вдалося знайти жодного файла з суфіксом назви %s у %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: помилкова функція у файлі %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати рядок з "
+"символів.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: невизначена змінна %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr ""
+"%s: помилкове значення вхідного параметра №%d: слід використовувати назву "
+"функції Scilab.\n"
+
+msgid "No comment available."
+msgstr "Немає коментаря."
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: слід використовувати функцію "
+"Scilab.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr ""
+"%s: помилкові значення вхідного параметра: у функції не знайдено даних "
+"профілювання.\n"
+
+msgid "Complexity"
+msgstr "Складність"
+
+msgid "Tools"
+msgstr "Інструменти"
+
+msgid "Edit"
+msgstr "Зміни"
+
+msgid "?"
+msgstr "Довідка"
+
+msgid "Exit"
+msgstr "Вийти"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr ""
+"Клацання кнопкою миші — перехід до відповідного рядка, пересування — a-z."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "рядок %s [%s виклик, %s с] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "рядок %s [%s викликів, %s с] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: функцію не було зібрано для профілювання"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "Змінної з такою назвою немає: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr ""
+"%s: помилкове значення вхідного параметра №%d: слід використовувати назву "
+"функції Scilab.\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s вже виключено зі збирання.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s вже включено до збирання.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s вже зібрано для профілювання.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr ""
+"%s: закрита (private) функція: безпосередній доступ до цієї функції "
+"неможливий.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "Функція %s вважається застарілою."
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "Будь ласка, використовуйте %s."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "Цю функцію буде назавжди вилучено у Scilab %s"
diff --git a/modules/functions/locales/zh_CN.po b/modules/functions/locales/zh_CN.po
new file mode 100755
index 000000000..6c4165fb9
--- /dev/null
+++ b/modules/functions/locales/zh_CN.po
@@ -0,0 +1,268 @@
+# Simplified Chinese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2014-04-20 06:42+0000\n"
+"Last-Translator: Wesh <Unknown>\n"
+"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s:不能读取第%d个输入参数。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s:输入参数#%d的大小错误。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr "%s:输入参数#%d的类型错误:应该是一个标量或者一个字符串。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s:输入参数#%d的大小错误:应该为一个标量。\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr "%s:输入参数#%d的值错误:应该是一个整数。\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr "%s:输入参数#%d的值错误:应该为 'errcatch'。\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s:内存分配错误。\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s:内存申请错误。\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s:输入参数的值错误。\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s:输入参数#%d的类型错误:应该为一个字符串。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr "%s:输入参数#%d的大小错误:应该为字符串。\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr "%s:输入参数#%d的值错误:应该为'm'或'n'。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr "%s:第%d个输入参数的大小错误:应该为字符串。\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s:不正确的库%s。\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s:输入参数#%d的类型错误:应该为字符串。\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s:输入参数#%d的类型错误。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s:输入参数的数目错误:应该为%d。\n"
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s:弃用的操作码 %d。\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "检查中:%s。\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s:请检查:%s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s:文件 %s 不存在。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr "%s:输入参数的数目出错:应该为%d到%d个。\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr "%s:第%d个输入参数的类型错误:应该为布尔型。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr "%s:第%d个输入参数的大小错误:应该为布尔值。\n"
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- 创建 [%s](宏) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s:没有扩展名为 %s 的文件存在于 %s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr "%s:第%d个输入参数的类型错误:应该为字符串矩阵。\n"
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s:文件 %s 强制编译\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s:处理文件:%s\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s:重新生成 names 和 lib\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s:不能创建文件 %s\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"库文件%s已被更新,但是不能装载到Scilab中,\n"
+"因为%s是一个被保护的变量。\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s:不能打开文件 %s 进行写操作\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s:文件 %s 不包含任何函数。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s:输入参数的数目错误:应该为%d个。\n"
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s:无法找到扩展名为 %s 的文件于 %s 中。\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s:文件 %s 中存在不正确的函数。\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr "%s:输入参数#%d的类型错误:应该为一个字符串。\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s:没定义的变量 %s。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr "%s:输入参数#%d的值错误:应该为一个Scilab函数名。\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr "%s:输入参数#%d的类型错误:应该为Scilab函数。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr "%s:输入参数的值错误:函数中无 profile 数据。\n"
+
+msgid "Complexity"
+msgstr "复杂度"
+
+msgid "Tools"
+msgstr "工具"
+
+msgid "Edit"
+msgstr "编辑"
+
+msgid "?"
+msgstr "?"
+
+msgid "Exit"
+msgstr "退出"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "点击以得到相关行,使用 a-z 来移动。"
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "行 %s [从 %s 调用, %s sec] :: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "行 %s [从 %s 调用, %s sec] :: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s:该函数没有被为 profiling 生成。"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "没有变量命名为:%s。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr "%s:输入参数#%d的值错误:应该为一个Scilab函数名。\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s已经未编译。\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s已编译。\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s已经为提取轮廓而编译。\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s:私有函数:不能直接访问此函数。\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "函数 %s 已被弃用。"
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "请使用 %s 替代。"
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "该函数将被永久地从 Scilab %s 中移除。"
diff --git a/modules/functions/locales/zh_TW.po b/modules/functions/locales/zh_TW.po
new file mode 100755
index 000000000..26852bdd3
--- /dev/null
+++ b/modules/functions/locales/zh_TW.po
@@ -0,0 +1,268 @@
+# Traditional Chinese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-02-04 02:10+0000\n"
+"Last-Translator: TzuYuan Lin <Unknown>\n"
+"Language-Team: Traditional Chinese <zh_TW@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: 無法讀取第 #%d 個參數值.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d.\n"
+msgstr "%s: 第 %d 個輸入參數長度錯誤.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A scalar or a string expected.\n"
+msgstr "%s: 第 %d 的輸入參數型態錯誤:應該是一個純量或是字串.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A scalar expected.\n"
+msgstr "%s: 第 %d 個輸入參數長度錯誤: 應為純量.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: An integer expected.\n"
+msgstr "%s: 第 %d 個輸入參數值錯誤: 應該是整數.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'errcatch' expected.\n"
+msgstr "%s: 第#%d個參數值有誤: 'errcatch' 才對.\n"
+
+#, c-format
+msgid "%s: Memory allocation error.\n"
+msgstr "%s: Memory 分配有誤.\n"
+
+#, c-format
+msgid "%s : Memory allocation error.\n"
+msgstr "%s: 配置記憶體發生錯誤.\n"
+
+#, c-format
+msgid "%s: Wrong value(s) for input argument(s).\n"
+msgstr "%s: 參數值有誤.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: 第 %d 輸入參數 的資料型態錯誤: 應該是字串型態.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A string expected.\n"
+msgstr "%s: 第 %d 個輸入參數的資料長度錯誤: 應該是字串型態.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"
+msgstr "%s: 第#%d個參數值有誤: 'm' or 'n' 才對.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: String expected.\n"
+msgstr "%s: 第 %d 個輸入參數長度錯誤: 應為字串.\n"
+
+#, c-format
+msgid "%s: Invalid library %s.\n"
+msgstr "%s:無效的函式庫%s.\n"
+
+#, c-format
+msgid "%s: Wrong type of input argument #%d: String expected.\n"
+msgstr "%s: 第 %d 輸入參數型態錯誤: 應為字串.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d.\n"
+msgstr "%s: 第 %d 個輸入參數型態錯誤.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: obsolete op-code %d.\n"
+msgstr "%s: 已停用的控制碼: %d.\n"
+
+#, c-format
+msgid "Checking: %s.\n"
+msgstr "檢查中: %s.\n"
+
+#, c-format
+msgid "%s: Please check: %s\n"
+msgstr "%s:請檢查: %s\n"
+
+#, c-format
+msgid "%s: File %s doesn't exist.\n"
+msgstr "%s: 檔案 %s 不存在.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d to %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A boolean expected.\n"
+msgstr ""
+
+#, c-format
+msgid "-- Creation of [%s] (Macros) --\n"
+msgstr "-- 生成 of [%s] (巨集) --\n"
+
+#, c-format
+msgid "%s: No files with extension %s found in %s\n"
+msgstr "%s: 找不到副檔名%s在%s\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A matrix of string expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: %s file compilation forced\n"
+msgstr "%s : %s 檔案強制編譯\n"
+
+#, c-format
+msgid "%s: Processing file: %s\n"
+msgstr "%s: 處理檔案 %s 中\n"
+
+#, c-format
+msgid "%s: Regenerate names and lib\n"
+msgstr "%s: 重新產生名字和函式庫\n"
+
+#, c-format
+msgid "%s: %s file cannot be created\n"
+msgstr "%s : %s檔案無法建立\n"
+
+#, c-format
+msgid ""
+"Library file %s has been updated,\n"
+"but cannot be loaded into Scilab because %s is a protected variable.\n"
+msgstr ""
+"函式庫檔%s 已經更新了,\n"
+"但是不能載入Scilab 因為 %s 是受保護的變數.\n"
+
+#, c-format
+msgid "%s: Error in file %s : %s.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Impossible to open file %s for writing\n"
+msgstr "%s: 無法開啟檔案%s 來寫入\n"
+
+#, c-format
+msgid "%s: File %s does not contain any function.\n"
+msgstr "%s: 檔案 %s 裏不含任何函式.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: I cannot find any files with extension %s in %s\n"
+msgstr "%s:找不到任何延伸檔名 %s 在 %s\n"
+
+#, c-format
+msgid "%s: Incorrect function in file %s.\n"
+msgstr "%s: 在 %s 檔案中的函數不正確.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A character string expected.\n"
+msgstr "%s: 第 %d 個輸入參數的型態錯誤: 應該是字元字串型態.\n"
+
+#, c-format
+msgid "%s: Undefined variable %s.\n"
+msgstr "%s: %s 變數未被定義.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"
+msgstr "%s: 第#%d個參數值有誤: Scilab 函數名稱才對 .\n"
+
+msgid "No comment available."
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Scilab function expected.\n"
+msgstr "%s: 第%d 輸入參數的型態錯誤: 應該為 Scilab 的函數.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument: No profile data in the function\n"
+msgstr "%s:輸入參數值錯誤: 在函數中找不到特徵資料\n"
+
+msgid "Complexity"
+msgstr "複雜度"
+
+msgid "Tools"
+msgstr "工具"
+
+msgid "Edit"
+msgstr "編輯"
+
+msgid "?"
+msgstr "幫助"
+
+msgid "Exit"
+msgstr "離開"
+
+msgid "Click to get corresponding line, move with a-z."
+msgstr "使用 a-z 移動並點擊取得回應列."
+
+#, c-format
+msgid "line %s [%s call, %s sec] :: "
+msgstr "行 %s [%s call, %s sec]:: "
+
+#, c-format
+msgid "line %s [%s calls, %s sec] :: "
+msgstr "行 %s [%s call, %s sec]:: "
+
+#, c-format
+msgid "%s: The function has not been built for profiling"
+msgstr "%s: 此函數尚未被特徵建立"
+
+#, c-format
+msgid "No variable named: %s.\n"
+msgstr "無變數命名: %s.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"
+msgstr "%s: 第#%d個參數值有誤: Scilab 函數名稱才對 .\n"
+
+#, c-format
+msgid "%s is already noncompiled.\n"
+msgstr "%s 已完成非正式編譯.\n"
+
+#, c-format
+msgid "%s is already compiled.\n"
+msgstr "%s 已經編譯.\n"
+
+#, c-format
+msgid "%s is already compiled for profiling.\n"
+msgstr "%s 已經對分析檔進行過編譯.\n"
+
+#, c-format
+msgid "%s: Private function: cannot access to this function directly.\n"
+msgstr "%s: 私有函數: 無法直接存取此函數.\n"
+
+#, c-format
+msgid "Feature %s is obsolete."
+msgstr "%s函式已經過時的"
+
+#, c-format
+msgid "Please use %s instead."
+msgstr "請用 %s 替換."
+
+#, c-format
+msgid "This feature will be permanently removed in Scilab %s"
+msgstr "此函數 %s 將在 Scilab 中永遠停用."
diff --git a/modules/functions/macros/add_profiling.bin b/modules/functions/macros/add_profiling.bin
new file mode 100755
index 000000000..7d57e4ec5
--- /dev/null
+++ b/modules/functions/macros/add_profiling.bin
Binary files differ
diff --git a/modules/functions/macros/add_profiling.sci b/modules/functions/macros/add_profiling.sci
new file mode 100755
index 000000000..328fedc1a
--- /dev/null
+++ b/modules/functions/macros/add_profiling.sci
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function add_profiling(funname)
+
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "addprofiling", 1));
+ end
+
+ //add profiling instruction bytecode after each function line
+ nsiz=6
+ execstr("code=bytecode("+funname+")")
+ lc=1
+ lc = lc + nsiz*double(code(lc)) + 1
+ lc = lc + nsiz*double(code(lc)) + 1
+ long=code(lc)
+ lc = lc+1
+ c=code(lc:$)
+ c1=bytecodewalk(c,15,addprof)
+ code=[code(1:lc-2) int32(size(c1,"*")) c1]
+ execstr(funname+" = resume(bytecode(code))")
+
+endfunction
+
+function [c,l]=addprof(l)
+ //add profiling instruction bytecode
+ c=int32([15 25 0 0]);l=l+1;
+endfunction
diff --git a/modules/functions/macros/buildmacros.bat b/modules/functions/macros/buildmacros.bat
new file mode 100755
index 000000000..a73ca67f8
--- /dev/null
+++ b/modules/functions/macros/buildmacros.bat
@@ -0,0 +1,11 @@
+
+rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) 2008 - INRIA
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit;
diff --git a/modules/functions/macros/buildmacros.sce b/modules/functions/macros/buildmacros.sce
new file mode 100755
index 000000000..3bc5eeda7
--- /dev/null
+++ b/modules/functions/macros/buildmacros.sce
@@ -0,0 +1,16 @@
+
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+if (isdef("genlib") == %f) then
+ exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce");
+end
+
+genlib("functionslib","SCI/modules/functions/macros",%f,%t);
diff --git a/modules/functions/macros/bytecode.bin b/modules/functions/macros/bytecode.bin
new file mode 100755
index 000000000..227b2592b
--- /dev/null
+++ b/modules/functions/macros/bytecode.bin
Binary files differ
diff --git a/modules/functions/macros/bytecode.sci b/modules/functions/macros/bytecode.sci
new file mode 100755
index 000000000..f91989247
--- /dev/null
+++ b/modules/functions/macros/bytecode.sci
@@ -0,0 +1,39 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function x=bytecode(f)
+ //returns the function f bytecode array in x
+ //should be hard-coded
+
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "bytecode", 1));
+ end
+
+ nsiz=6
+ if type(f)==8 then //bytecode to function
+ u=mopen(TMPDIR+"/%fun.bin","wb");
+ name_x=[673720353 673720360 673720360 673720360 673720360 673720360]
+ mput(int32([name_x 13]),"i",u)
+ mput(f,"i",u)
+ mclose(u)
+ load(TMPDIR+"/%fun.bin")
+ elseif type(f)==13 then //function to bytecode
+ warnMode = warning("query");
+ warning("off");
+ save(TMPDIR+"/%fun.bin",f)
+ warning(warnMode);
+ I=fileinfo(TMPDIR+"/%fun.bin");
+ u=mopen(TMPDIR+"/%fun.bin","rb");
+ mgeti(1+nsiz,"i",u);
+ x=mgeti(I(1)-(1+nsiz),"i",u);
+ mclose(u)
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d.\n"),"bytecode",1))
+ end
+endfunction
diff --git a/modules/functions/macros/bytecodewalk.bin b/modules/functions/macros/bytecodewalk.bin
new file mode 100755
index 000000000..85d6f2a7c
--- /dev/null
+++ b/modules/functions/macros/bytecodewalk.bin
Binary files differ
diff --git a/modules/functions/macros/bytecodewalk.sci b/modules/functions/macros/bytecodewalk.sci
new file mode 100755
index 000000000..2a4da8b74
--- /dev/null
+++ b/modules/functions/macros/bytecodewalk.sci
@@ -0,0 +1,197 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2010 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function c1=bytecodewalk(code,query,job)
+ //walk along bytecode looking for a particular opcode (query) and
+ //applying a function (job) at this point
+ if argn(2) < 3 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "bytecodewalk", 3));
+ end
+ c1=[];
+ lc0=1;
+ lc=lc0;
+ long_walk=size(code,"*")
+ while lc<=long_walk
+ if code(lc)==query then
+ c1=[c1 code(lc0:lc-1)]
+ [ctemp,lc]=job(lc)
+ c1=[c1 ctemp]
+ lc0=lc
+ else
+ select code(lc)
+ case 0 then //deleted ops
+ lc=lc+double(code(lc+1))
+ case 1 then //stackp (obsolete)
+ lc=lc+1+nsiz
+ case 2 then //stackg
+ lc=lc+nsiz+3
+ case 3 then //string
+ ni=double(code(lc+1))
+ lc=lc+2+ni
+ case 4 then//[]
+ lc=lc+1
+ case 5 then //allops
+ lc=lc+4
+ case 6 then //num
+ lc=lc+3
+ case 7 then//for
+ c1=[c1 code(lc0:lc-1)]
+ ll=lc
+ lc=lc+1
+ long=double(code(lc))
+ lc=lc+1
+ cv=bytecodewalk(code(lc:lc+long-1),query,job)
+ lc=lc+long
+ long=double(code(lc))
+ lc=lc+1
+ id=code(lc:lc-1+nsiz)
+ lc=lc+nsiz
+ cc=bytecodewalk(code(lc:lc+long-1),query,job)
+ c1=[c1 int32(7) int32(size(cv,"*")) cv int32(size(cc,"*")) id cc]
+ lc=lc+long
+ lc0=lc
+ case 8 then //if
+ exec(walkclause,-1)
+ case 9 then //while
+ exec(walkclause,-1)
+ case 10 then//select case
+ c1=[c1 code(lc0:lc-1)]
+ ll=lc
+ long_tot=abs(double(code(lc+1)))
+ ncase=double(code(lc+2))
+ ctemp=code(lc:lc+2)
+ lc=lc+3
+
+ long_case_expr=double(code(lc))
+ lc=lc+1
+ c_case_expr=bytecodewalk(code(lc:lc+long_case_expr-1),query,job)
+ lc=lc+long_case_expr
+ long_case_expr=size(c_case_expr,"*")
+ ctemp=[ctemp int32(long_case_expr) c_case_expr]
+ for k=1:ncase+1
+ long_case_expr=double(code(lc));
+ lc=lc+1;
+ c_case_expr=bytecodewalk(code(lc:lc+long_case_expr-1),query,job)
+ lc=lc+long_case_expr;
+ long_case_expr=size(c_case_expr,"*");
+ long_case_then=double(code(lc))
+ lc=lc+1
+ c_case_then=bytecodewalk(code(lc:lc+long_case_then-1),query,job)
+ lc=lc+long_case_then
+ long_case_then=size(c_case_then,"*")
+ ctemp=[ctemp int32(long_case_expr) c_case_expr int32(long_case_then) ...
+ c_case_then]
+ end
+ //padding ???
+ if lc-ll<long_tot then ctemp=[ctemp code(lc:ll+long_tot-1)];lc=ll+long_tot;end
+
+ lc0=lc
+ //if size(ctemp,'*')<>long_tot then pause,end
+ long_tot=size(ctemp,"*")
+ ctemp(2)=int32(long_tot)
+ c1=[c1 ctemp]
+ case 11 then //try catch
+ long_try=double(code(lc+1))
+ long_catch=double(code(lc+2))
+ lc=lc+3
+ c_try=bytecodewalk(code(lc:lc+long_try-1),query,job)
+ lc=lc+long_try
+ long_try=size(c_try,"*")
+
+ c_catch=bytecodewalk(code(lc:lc+long_catch-1),query,job)
+ lc=lc+long_catch
+ long_catch=size(c_catch,"*")
+ c1=[c1 int32([11 long_try long_catch]) c_try c_catch]
+ lc0=lc
+ case 12 then //pause
+ lc=lc+1
+ case 13 then //break
+ lc=lc+1
+ case 14 then //abort
+ lc=lc+1
+ case 15 then //eol
+ lc=lc+1
+ case 16 then //line num
+ lc=lc+2
+ case 17 then //return
+ lc=lc+1
+ case 18 then //nmark named variable
+ lc=lc+1+nsiz
+ case 19 then //Mkindx
+ lc=lc+3
+ case 20 then
+ lc=lc+1
+ case 21 then //begrhs
+ lc=lc+1
+ case 22 then //printmode
+ lc=lc+2
+ case 23 then //name2var
+ lc=lc+1+nsiz
+ case 24 then //
+ lc=lc+1
+ case 25 then //profile
+ lc=lc+3
+ case 26 then //vector of string
+ n=double(code(lc+1)*code(lc+2))
+ nc=double(code(lc+4+n))-1
+ lc=lc+5+n+nc
+ case 27 then //varfunptr
+ lc=lc+3+nsiz
+ case 28 then //
+ lc=lc+1
+ case 29 then //assignment
+ nlhs=double(code(lc+1))
+ lc=lc+3+nlhs*(nsiz+1)
+ case 30 then // skip logical evaluation
+ lc=lc+3
+ case 31 then //comment
+ lc=lc+2+double(code(lc+1))
+ case 99 then
+ lc=lc+1
+ else//Matfns
+ lc=lc+4
+ end
+ end
+ end
+ c1=[c1 code(lc0:$)]
+endfunction
+function walkclause
+
+ if code(lc+1)==0 then //very old code
+ error(msprintf(gettext("%s: obsolete op-code %d.\n"),"bytecodewalk",code(lc)))
+ end
+ c1=[c1 code(lc0:lc-1)]
+ ll=lc
+ long_tot=abs(double(code(lc+1)))
+ ncase=double(code(lc+2))
+
+ ctemp=code(lc:lc+3)
+ lc=lc+4
+
+ for k=1:ncase+1
+ long_if_expr=double(code(lc))
+ lc=lc+1
+ c_if_expr=bytecodewalk(code(lc:lc+long_if_expr-1),query,job)
+ lc=lc+long_if_expr
+ long_if_expr=size(c_if_expr,"*")
+ long_if_then=double(code(lc))
+ lc=lc+1
+ c_if_then=bytecodewalk(code(lc:lc+long_if_then-1),query,job)
+ lc=lc+long_if_then
+ long_if_then=size(c_if_then,"*")
+ ctemp=[ctemp int32(long_if_expr) c_if_expr int32(long_if_then) ...
+ c_if_then]
+ end
+ //padding ???
+ if lc-ll<long_tot then ctemp=[ctemp code(lc:ll+long_tot-1)];lc=ll+long_tot;end
+ lc0=lc
+ long_tot=size(ctemp,"*")
+ ctemp(2)=-int32(long_tot)
+ c1=[c1 ctemp]
+endfunction
diff --git a/modules/functions/macros/check_gateways.bin b/modules/functions/macros/check_gateways.bin
new file mode 100755
index 000000000..8730e27b4
--- /dev/null
+++ b/modules/functions/macros/check_gateways.bin
Binary files differ
diff --git a/modules/functions/macros/check_gateways.sci b/modules/functions/macros/check_gateways.sci
new file mode 100755
index 000000000..fc53d415e
--- /dev/null
+++ b/modules/functions/macros/check_gateways.sci
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function ret=check_gateways(varargin)
+ [lhs,rhs]=argn(0);
+ ret=%T;
+ modules=getmodules();
+ szmodules=size(modules);
+
+ for i=1:1:szmodules(1)
+ file_to_check=SCI+"/modules/"+modules(i)+"/sci_gateway/"+modules(i)+"_gateway.xml";
+ printf(gettext("Checking: %s.\n"),modules(i))
+ if isfile(file_to_check) then
+ try
+ if getos() == "Windows" then
+ stat = unix_w(SCI+"\modules\helptools\bin\xmllint\xmllint --noout --valid "+file_to_check);
+ else
+ stat = unix_w("xmllint --noout --valid "+file_to_check);
+ end
+ catch
+ ret=%F;
+ mprintf(gettext("%s: Please check: %s\n"),"check_gateways",file_to_check);
+ end
+ else
+ mprintf(gettext("%s: File %s doesn''t exist.\n"),"check_gateways",file_to_check);
+ end
+ end
+
+endfunction
+
diff --git a/modules/functions/macros/cleanmacros.bat b/modules/functions/macros/cleanmacros.bat
new file mode 100755
index 000000000..4ad1bbae2
--- /dev/null
+++ b/modules/functions/macros/cleanmacros.bat
@@ -0,0 +1,13 @@
+
+rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) 2008 - INRIA
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+@del *.bin 2>NUL
+@del lib 2>NUL
+@del names 2>NUL
diff --git a/modules/functions/macros/createfun.bin b/modules/functions/macros/createfun.bin
new file mode 100755
index 000000000..e516049ee
--- /dev/null
+++ b/modules/functions/macros/createfun.bin
Binary files differ
diff --git a/modules/functions/macros/createfun.sci b/modules/functions/macros/createfun.sci
new file mode 100755
index 000000000..8c7428d3e
--- /dev/null
+++ b/modules/functions/macros/createfun.sci
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function %fun=createfun(t)
+ //given t a string vector where first line gives the function calling
+ //sequence and the following the function instructions, it returns et
+ //Scilab function.
+ // This is mainly used by sci2exp
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "createfun", 1));
+ end
+ h=t(1)
+ k=strindex(h,"=")
+ if k==[] then k1=1,else k1=k(1),end
+ k=strindex(h,"(")
+ if k==[] then k2=length(h),else k2=k(1),end
+ h=part(h,1:k1)+"%fun"+part(h,k2:length(h))
+ deff(h,t(2:$)),
+endfunction
diff --git a/modules/functions/macros/fun2string.bin b/modules/functions/macros/fun2string.bin
new file mode 100755
index 000000000..99c3f996e
--- /dev/null
+++ b/modules/functions/macros/fun2string.bin
Binary files differ
diff --git a/modules/functions/macros/fun2string.sci b/modules/functions/macros/fun2string.sci
new file mode 100755
index 000000000..413c748d3
--- /dev/null
+++ b/modules/functions/macros/fun2string.sci
@@ -0,0 +1,1265 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Samuel GOUGEON: http://bugzilla.scilab.org/10243 fixed
+// Copyright (C) 1999-2010 INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function txt = fun2string(fun,nam)
+
+ // form syntax to scilab of a compiled function
+ //%Parameters
+ // lst : list, represents the interpreted code of the Scilab function given by macr2lst
+ // nam : nam of the scilab function to generate
+ // txt : character string column vector: the text of resulting scilab function
+ //!
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d to %d expected.\n"), "fun2string", 1, 2));
+ elseif argn(2)<2 then nam="ans",end
+ if type(fun)==11 then comp(fun),end
+ if type(fun)<>15 then
+ lst=macr2lst(fun);
+ else
+ lst=fun
+ end
+ lst=mmodlst(lst)
+
+ lcount=1;level=[0,0];
+ quote="''"
+ dquote=""""
+ CR="\"+ascii(10)
+ opstable()
+ // add input variable in the defined variables
+ inputs=lst(3);outputs=lst(2)
+ sciexp=0
+ // cmt=lst(4)(1)=='31'
+ crp=ins2sci(lst,4)
+ //add the function header
+ select size(outputs,"*")
+ case 0 then outputs="[]"
+ case 1 then outputs=outputs
+ else outputs=lhsargs(outputs)
+ end
+
+ select size(inputs,"*")
+ case 0 then inputs="()"
+ else inputs=rhsargs(inputs)
+ end
+ txt=crp(1:$-2);
+ hdr="function "+outputs+"="+nam+inputs;
+ if stripblanks(txt(1))<>""|txt=="" then hdr=hdr+",",end
+ txt(1)=hdr+txt(1);
+ txt(2:$-1)=" "+txt(2:$-1);
+ if stripblanks(txt($))=="" then
+ txt($)="endfunction";
+ else
+ txt($)=txt($)+"endfunction";
+ end
+endfunction
+
+function txt=ins2sci(lst,ilst)
+ // traduit un ensemble d'instructions debutant a l'adresse ilst de la
+ // liste courante lst
+ //!
+ // Author Serge Steer
+ nlst=size(lst)
+ level;level(2)=0;
+ txt=""
+ while ilst<=nlst then
+ if type(lst(ilst))==15 then
+ t1=cla2sci(lst(ilst))
+ ilst=ilst+1
+ else
+ if lst(ilst)(1)=="15" then ilst=ilst+1;txt($+1)="";end
+ [t1,ilst]=cod2sci(lst,ilst)
+ end
+ txt=catcode(txt,t1)
+ end
+endfunction
+function txt=cla2sci(clause)
+ // traduit une clause (if while for select)
+ //!
+ // Author Serge Steer
+ typ=clause(1)
+ txt=""
+ //write(6,'cla2sci '+typ(1))
+ level;level(1)=level(1)+1
+ select typ(1)
+ case "if" then
+ ncl=size(clause)
+ ncas=(ncl-2)/2
+ tg=""
+ level(2)=1
+ [t1,t2,ilst]=exp2sci(clause(2),1)
+ t1=t1(1);
+ tg=catcode(tg,t2)
+ txt=catcode("if ",catcode(splitexp(t1(1))," then "))
+ t1=ins2sci(clause(3),1)
+ txt=catcode(txt,indentsci(t1));
+ // elseif parts
+ for ic=2:ncas
+ level(2)=ic
+ [t1,t2,ilst]=exp2sci(clause(2*ic),1)
+ if type(t1(1))==15 then t1=t1(1),end
+ tg=catcode(tg,t2)
+ txt=catcode(txt,catcode("elseif ",catcode(splitexp(t1(1))," then ")));
+ t1=ins2sci(clause(1+2*ic),1)
+ txt=catcode(txt,indentsci(t1));
+ end;
+ // else part
+ t1=ins2sci(clause(ncl),1)
+ if or(t1<>"") then txt=catcode(txt,catcode("else ",indentsci(t1)));end
+ txt=catcode(tg,catcode(txt,"end,"))
+ case "while" then
+ level(2)=1
+ [t1,t2,ilst]=exp2sci(clause(2),1)
+ t1=t1(1);
+ txt=catcode("while ",catcode(splitexp(t1(1))," then"))
+ t1=ins2sci(clause(3),1)
+ txt=catcode(txt,catcode(indentsci(t1),"end,"))
+ case "for" then
+ name=typ(2)
+ sciexp=1
+ level(2)=1
+ [t1,t2,ilst]=exp2sci(clause(2),1)
+ t1=t1(1)
+ txt=catcode("for "+name+" = ",splitexp(t1(1)+","));
+ sciexp=0;
+ t1=ins2sci(clause(3),1)
+ txt=catcode(txt,catcode(indentsci(t1),"end,"))
+ case "select" then
+ ncas=(size(clause)-3)/2
+ tg=""
+ level(2)=1
+ [exp1,t1,ilst]=exp2sci(clause(2),1)
+ exp1=exp1(1)
+ le1=length(exp1(1))
+ if le1<=1|part(exp1(1),le1-1:le1)<>CR then
+ txt=catcode(catcode("select ",splitexp(exp1(1))),"; ")
+ else
+ txt=catcode("select ",splitexp(exp1(1)))
+ txt($)=""
+ end
+
+ //txt=catcode('select ',splitexp(exp1(1)))
+
+ for ic=2:2:2*ncas
+ level(2)=ic/2
+ [exp2,t2,ilst]=exp2sci(clause(1+ic),1)
+ tg=catcode(tg,t2)
+ exp2=exp2(1)
+ txt=catcode(txt,catcode("case ",catcode(splitexp(exp2(1))," then")))
+ t1=ins2sci(clause(2+ic),1)
+ txt=catcode(txt,indentsci(t1));
+ end;
+ t1=ins2sci(clause(3+2*ncas),1)
+ if or(t1<>"") then
+ txt=catcode(txt,catcode("else",indentsci(t1)));
+ end
+ txt=catcode(tg,catcode(txt,"end,"))
+ case "try" then
+ if size(clause(2))==0 then
+ t1=catcode("try",";")
+ else
+ t1=catcode("try",indentsci(ins2sci(clause(2),1)))
+ end
+ if size(clause(3))==0 then
+ t2="end,"
+ else
+ t2=catcode(catcode("catch",indentsci(ins2sci(clause(3),1))),"end,")
+ end
+ txt=catcode(txt,catcode(t1,t2))
+ end
+endfunction
+
+function [txt,ilst]=cod2sci(lst,ilst)
+ //
+ //!
+ // Author Serge Steer
+ nlst=size(lst)
+ txt=""
+ ilst=ilst-1
+ while ilst<nlst then
+ ilst=ilst+1
+ op=lst(ilst)
+ if type(op)==15 then return,end
+ select op(1)
+ case "1" then //stackp (retained for compatibility with 2.7 and earlier version)
+ prev=lst(ilst-1)
+ if size(prev,"*")==1 then prev=[prev " "],end
+ if and(prev(1:2)==["5","25"])|prev(1)=="20" then
+ lhs=evstr(prev(4))
+ else
+ lhs=1;rhs=1
+ end
+ if lhs==1 then
+ expk=stk(1);
+ opk=lst(ilst);ilst=ilst+1
+ opk2=opk(2)
+ if expk(2)<>"-1"& expk(2)<>"-2" then
+ if opk(2)=="ans" then
+ expk(1)($)= expk(1)($)+";"
+ txt=catcode(txt,splitexp(expk(1)(1)))
+ else
+ w=expk(1)(1)
+ w=opk2+" = "+w(1)+";"
+ w=splitexp(w)
+ txt=catcode(txt,w)
+ end
+ end
+ else //
+ LHS=[]
+ for k=1:lhs
+ opk=lst(ilst);ilst=ilst+1;
+ opk2=opk(2);
+ LHS=[opk2,LHS];
+ end
+ if stk(1)(2)=="-1" then // variable has not been previously stored
+ txt=catcode(txt,lhsargs(LHS)+" = "+stk(1)(1)+";")
+ else
+ RHS=[]
+ for k=1:min(lhs,size(stk))
+ expk=stk(k);
+ RHS=[RHS,expk(1)];
+ end
+ txt=catcode(txt,lhsargs(LHS)+" = "+rhsargs(RHS)+";")
+ end
+ end
+ if ilst<=nlst then
+ if lst(ilst)(1)<>"15" then
+ ilst=ilst-1,
+ else
+ txt($+1)=""
+ lcount=lcount+1
+ end
+ end
+ case "12" then //pause
+ txt=catcode(txt,"pause,")
+ case "13" then //break
+ txt=catcode(txt,"break,")
+ case "14" then //abort
+ txt=catcode(txt,"abort,")
+ case "15" then ,//eol
+ txt($+1)=""
+ case "17" then //quit
+ txt=catcode(txt,"quit,")
+ case "18" then
+ case "25" then
+ case "28" then //continue
+ txt=catcode(txt,"continue,")
+ case "29" then //affectation
+ ip=evstr(op(2))
+ if ip==99|ip==2 then
+ ip=""
+ else
+ ip=_code2str(ip)
+ end
+ op=matrix(op(3:$),2,-1)
+ lhs=size(op,2)
+ LHS=[]
+ iind=0
+ for k=1:lhs
+ name=op(1,k)
+ rhs=evstr(op(2,k))
+ if rhs==0 then
+ LHS=[name,LHS]
+ else
+ if rhs==1 then //x(i)=... or x.y.z(i,j..)=..
+ iind=iind+1,
+ p=""
+ P=stk(iind) //Path
+ if type(P(1))==1 then //x.y.z(i,j..)=..
+ for ii=2:size(P)
+ Pi=P(ii)
+ if type(Pi(1))==1 then // ...(i,j,..)
+ Ii=[];for ind=2:size(Pi),Ii=[Ii,Pi(ind)(1)],end
+ p=p+"("+strcat(Ii ,", ")+")"
+ else
+ if and(strindex(Pi(1),"''")==[1 length(Pi(1))]) then
+ p=p+"."+evstr(Pi(1))
+ else
+ p=p+"("+Pi(1)+")"
+ end
+ end
+ end
+ elseif type(P(1))==10 then
+ testOK = execstr("tmp = evstr(P(1))","errcatch")==0
+ if testOK
+ testOK = type(tmp)==10
+ clear tmp
+ if testOK
+ testOK = (execstr(P(1), "errcatch")==0)
+ end
+ end
+ if testOK then
+ p = "."+evstr(P(1))
+ else
+ if P(1)=="eye()" then P(1)=":",end
+ p="("+P(1)+")"
+ end
+ else // /x(i)=...
+ p="("+P(1)+")"
+ end
+ LHS=[name+p,LHS]
+ else //rhs>1 x(i,j,..)=...
+ I=[];
+ for i=1:rhs,
+ iind=iind+1,
+ if stk(iind)(1)=="eye()" then
+ I=[I,":"];
+ else
+ I=[I,string(stk(iind)(1))];
+ end
+ end
+ LHS=[name+"("+strcat(I,", ")+")",LHS]
+ end
+ end
+ end
+ if lhs>1 then LHS="["+strcat(LHS,",")+"]",end
+ RHS=[]
+ for k=iind+1:size(stk), RHS=[RHS stk(k)(1)],end
+ if size(RHS,"*")<>1, RHS="("+strcat(RHS,",")+")",end
+ if LHS=="ans" then
+ txt=catcode(txt,RHS+ip)
+ else
+ if size(LHS,"*")==1&and(LHS==RHS) then
+ txt=catcode(txt,RHS+ip)
+ else
+ txt=catcode(txt,LHS+" = "+RHS+ip)
+ end
+ end
+ txt=splitexp(txt)
+ case "31" then //comment
+ txt=catcode(txt,"//"+op(2))
+ case "99" then //return
+ txt=catcode(txt,"return,")
+ else
+ if op(1)=="20"&size(op,"*")==1 then //exit
+ txt=catcode(txt,"exit,")
+ else
+ [stk,t1,ilst]=exp2sci(lst,ilst);
+ if size(t1,1)==1 then t1=splitexp(t1),end
+ txt=catcode(txt,t1);t1=""
+ ilst=ilst-1
+ end
+ end
+ end
+ ilst=ilst+1
+endfunction
+
+function [stk,txt,ilst]=exp2sci(lst,ilst)
+ // Author Serge Steer
+ nlst=size(lst)
+ top=0
+ stk=list()
+ txt=""
+ ilst=ilst-1
+ cmod=0;
+ //
+ ok=%t
+ while ilst<nlst&ok then
+ lhs=1
+ ilst=ilst+1
+ op=lst(ilst)
+ if type(op)==10 then
+ if prod(size(op))==1 then op=[op " "],end
+ select op(1)
+ case "0" then
+
+ case "2" then //stackg
+ if (op(3)=="-3"&op(4)<>"0") then
+ [stk,top]=get2sci(op(2),stk,top)
+ elseif (op(3)=="-2"&op(4)<>"0") then
+ m=%t
+ if top>0 then
+ if type(stk(top)(1))==1 then //previous argument is a recursive index
+ top=top+1
+ stk(top)=list(op(2),"0")
+ m=%f
+ elseif type(stk(top)(1))==10 then
+ testOK = (op(4)=="1" & ~funptr(op(2)) & ~exists(op(2)))
+ if ~testOK then
+ testOK = execstr("tmp = evstr(op(2))", "errcatch")==0
+ if testOK
+ testOK = and(type(tmp)<>[11 13 130])
+ clear tmp
+ if testOK
+ testOK = (execstr(op(2),"errcatch")==0)
+ end
+ end
+ end
+ if testOK then
+ top=top+1
+ stk(top)=list(op(2),"0")
+ m=%f
+ // stk(top)(1)=op(2)+'.'+stk(top)(1)
+ // pause
+ // m = %f
+ end
+ end
+ end
+ if m then
+ //appel des macros
+ op(3)=op(4)
+ op1=lst(ilst+1)
+ if op1(1)=="5"&op1(2)=="25" then
+ ilst=ilst+1
+ op(4)=op1(4)
+ else
+ op(4)="1"
+ end
+ [stk,top]=func2sci(op,stk)
+ end
+ elseif op(3)=="-2"&op(4)=="0" then //instruction reduced to a name
+ [stk,top]=get2sci(op(2),stk,top)
+ ilst=ilst+1
+ lst;lst(ilst+1)(3)=op(2)
+ elseif op(4)=="0" then
+ [stk,top]=get2sci(op(2),stk,top)
+ else
+ if top>0 then
+ if type(stk(top)(1))==1 then
+ top=top+1
+ stk(top)=list(op(2),"0")
+ end
+ end
+ end
+ t1=[]
+ case "3" then //string
+ quote="''"
+ dqote=""""
+ top=top+1
+ st=strsubst(strsubst(op(2),quote,quote+quote),dquote,dquote+dquote)
+ stk(top)=list(quote+st+quote,"0")
+ case "4" then //matrice vide
+ top=top+1
+ stk(top)=list("[]","0")
+ case "5" then //allops
+ t1=[]
+ iop=evstr(op(2))
+ top1=top
+ execstr("[stkr,t1,top]=_"+ops(iop,2)+"2sci()")
+ stk(top)=stkr
+ txt=catcode(txt,t1)
+ t1=""
+ case "6" then //num
+ [stk,top]=num2sci(op(2),stk)
+ case "20" then //functions
+ [stk,top]=func2sci(op,stk)
+ case "15" then
+ if top>0 then
+ stk(top)(1)=stk(top)(1)+CR
+ if size(txt,"*")==1 then stk(top)(1)=stk(top)(1)+txt;txt="";end
+ else
+ txt($+1)=""
+ end
+ case "18" then //named variable
+ stk(top)(1)=op(2)+"="+ stk(top)(1)
+ case "19" then // mkindx
+
+ // replace all variables describing path by a single list
+ n=evstr(op(2))
+ m=evstr(op(3));
+ if m>1&n>0 then
+ l=list(m),pos=top-m
+ for k=1:m,l($+1)=stk(pos+k),end
+ top=pos+1
+ stk(top)=l
+ //for k=2:m,stk(top+1)=null(),end
+ end
+ nn=n;if n==0 then nn=m,end
+ l=list(nn),pos=top-nn
+ for k=1:nn,l($+1)=stk(pos+k),end
+ top=pos+1
+ stk(top)=l
+ //for k=size(stk):-1:top+1,stk(k)=null(),end
+ case "23" then
+ top=top+1
+ stk(top)=list(quote+op(2)+quote,"0")
+ case "24" then
+ top=top+1
+ stk(top)=list("","0") //list('null()','0')
+ case "25" then
+ case "26" then
+ // vector of string
+ quote="''"
+ dqote=""""
+ if size(lst)>ilst+2&lst(ilst+1)(1)=="6"&lst(ilst+2)(1)=="20"&lst(ilst+2)(2)=="deff" then
+ st=op(4:$)
+ fn="function "+strsubst(strsubst(stk(top)(1),quote,""),dquote,"")
+ if st(1)=="" then
+ st(1)=fn
+ else
+ st(1)=fn+","+st(1)
+ end
+ fn=st(:),
+ //remove last line trailing blanks
+ ln=fn($),nl=length(ln)
+ while nl>0&part(ln,nl)==" " do nl=-1,end
+ //add endfunction at the end of the last line
+ fn($)=part(ln,1:nl)+"endfunction"
+ txt=catcode(txt,fn)
+ lst(ilst+1)(1)="0"; ilst=ilst+1;// ignore getnum (6)
+ lst(ilst+1)(1)="0"; ilst=ilst+1;// ignore deff (20)
+ stk(top)=list("","-2"),
+ else
+ m=evstr(op(2))
+ n=evstr(op(3))
+ top=top+1
+ st=strsubst(strsubst(op(4:$),quote,quote+quote),dquote,dquote+dquote)
+ st=quote+st+quote;
+ if m*n>1 then
+ st(1)="["+st(1); st($)=st($)+"]"
+ if m>1 then
+ tt=[];
+ for l=1:m
+ tt=[tt;strcat(st(l:m:$),",")]
+ end
+ st=strcat(tt,";");
+ end
+ end
+ stk(top)=list(st,"0")
+ end
+ case "27" then
+ // funptr variable
+ top=top+1
+ stk(top)=list(op(4),"0")
+ case "31" then //comment into multi line matrix definition a=[...
+ if top==0 then
+ txt=[txt;"//"+op(2)]
+ else
+ stk(top)(1)=stk(top)(1)+"; //"+op(2)
+ end
+ else
+ ok=%f
+ end
+ else
+ ok=%f
+ end
+
+ end
+ stk=list(stk(1:top))
+ lst=resume(lst)
+endfunction
+
+function [stk,top]=func2sci(op,stk)
+ // translate all functions calls
+ // Author Serge Steer
+ lhs=evstr(op(4))
+ rhs=max(evstr(op(3)) ,0)
+ [stkr,top1]=sci_gener(op(2))
+
+ // add lhs expression to the stack
+ top=top-rhs
+ // for k=size(stk):-1:(top-rhs+1), stk(top)=null(),end
+ // if lhs>1 then
+ // for k=1:lhs
+ // top=top+1
+ // stk(top)=stkr(k)
+ // end
+ // else
+ top=top+1
+ stk(top)=stkr
+ // end
+endfunction
+
+function [stk,txt,top]=_m2sci()
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+ stk=list(e1+" * "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_a2sci()
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);
+ if s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="3" then s1(1)="("+s1(1)+")",end
+ stk=list(s1(1)+" + "+s2(1),"2")
+ top=top-1
+endfunction
+
+function [stk,top,txt]=get2sci(nam,stk,top)
+ // Translate the named variable acquisition
+ // Author Serge Steer
+ txt=[]
+ top=top+1
+ stk(top)=list(nam,"0")
+endfunction
+
+function [stk,top]=sci_gener(nam)
+ // Author Serge Steer
+ RHS=[]
+ for k=1:rhs
+ arg=stk(top)(1);
+ if arg=="eye()" then arg=":",end
+ RHS=[arg,RHS]
+ top=top-1
+ end
+ if RHS==[] then RHS="",end
+ top=top+1
+ // if lhs==1 then
+ stk=list(nam+rhsargs(RHS),"0")
+ // else
+ // stk=list()
+ // for k=1:lhs
+ // stk(k)=list(nam+rhsargs(RHS),'-1')
+ // end
+ // end
+endfunction
+
+function [stk,txt,top]=_c2sci()
+ // Author Serge Steer
+ txt=[]
+ m=evstr(op(3));n=evstr(op(4))
+ top1=top-m*n
+ if op(2)=="23" then // row
+ nrc=m
+ row=[]
+ for k=1:nrc
+ row=[row,stk(top1+k)(1)]
+ end
+ t="["+strcat(row,",")+"]"
+ stk=list("["+strcat(row,",")+"]","0")
+ elseif op(2)=="27" then // column
+ ncc=m
+ col=[]
+ for l=1:ncc
+ col=[col,stk(top1+l)(1)]
+ end
+ multi=%f
+ //!multi-lines expressions not handed by other functions than stackp
+ //if sum(length(col))>70 then
+ // ii=ilst+1
+ // while lst(ii)(1)=='15' then ii=ii+1,end
+ // if lst(ii)(1)=='1' then multi=%t,end
+ //end
+ if multi then
+ col(1)="["+col(1)
+ col($)=col($)+"]"
+ stk=list(col,"0")
+ else
+ stk=list("["+strcat(col,";")+"]","0")
+ end
+ else
+ nrc=m;ncc=n
+ col=[]
+ for l=1:nrc
+ row=[]
+ for k=1:ncc
+ row=[row,stk(top1+(l-1)*ncc+k)(1)];
+ end
+ col=[col,strcat(row,",")]
+ end
+ multi=%f
+ //!multi-lines expressions not handed by other functions than stackp
+ if sum(length(col))>70 then
+ ii=ilst+1
+ while lst(ii)(1)=="15" then ii=ii+1,end
+ if lst(ii)(1)=="1" then multi=%t,end
+ end
+ if multi then
+ col(1)="["+col(1)
+ col($)=col($)+"]"
+ stk=list(col,"0")
+ else
+ stk=list("["+strcat(col,";")+"]","0")
+ end
+ end
+ top=top1+1
+endfunction
+
+function opstable()
+ // Author Serge Steer
+ quote="''"
+ logics=["==","<",">","<=",">=","<>"]
+ ops =["+", "a";
+ "-", "s";
+ "*", "m";
+ ".*", "x";
+ ".*.", "k";
+ "*.", "u";
+ "/", "r";
+ "./", "d";
+ "./.", "y";
+ "/.", "v";
+ "\", "l";
+ ".\", "q";
+ ".\.", "z";
+ "\.", "w";
+ "^", "p";
+ "==", "log";
+ "<", "log";
+ ">", "log";
+ "<=", "log";
+ ">=", "log";
+ "~=", "log";
+ ":", "imp";
+ "[]", "c";
+ "ins", "i";
+ "ext", "e";
+ quote, "t";
+ "[]", "c";
+ "|", "g";
+ "&", "h";
+ "~", "5";
+ ".^", "j";
+ "."+quote "0";
+ "[]", "c"]
+
+ [logics,ops]=resume(logics,ops)
+endfunction
+
+function [stk,top]=num2sci(val,stk)
+ // traduit la definition d'un nombre
+ // Author Serge Steer
+ top=top+1
+ stk(top)=list(val,"0")
+endfunction
+
+function [stk,txt,top]=_log2sci()
+ txt=[]
+ iop=evstr(op(2))
+ s2=stk(top);s1=stk(top-1);top=top-1
+ if s2(2)=="2"|s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="2"|s1(2)=="3" then s1(1)="("+s1(1)+")",end
+ stk=list(s1(1)+" "+ops(iop,1)+" "+s2(1),"3")
+endfunction
+
+function txt=rhsargs(args)
+ // Author Serge Steer
+ txt="("+strcat(args,", ")+")"
+endfunction
+
+function txt=lhsargs(args)
+ // Author Serge Steer
+ txt="["+strcat(args,", ")+"]"
+endfunction
+
+function [stk,txt,top]=_p2sci()
+ // ^
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);
+ [s1,te1]=s1(1:2);
+ [s2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then s2="("+s2+")",end
+ if te1=="1"|te1=="2"|te1=="3" then s1="("+s1+")",end
+ if part(s2,1)=="-" then s2="("+s2+")",end
+ stk=list(s1+"^"+s2,"2")
+ top=top-1
+endfunction
+
+function [txt]=indentsci(txt)
+ // Author Serge Steer
+ k=find(txt<>"")
+ if k<>[] then
+ bl=" "
+ txt(k)=bl(ones(prod(size(k)),1))+txt(k)
+ end
+endfunction
+
+function lst=mmodlst(lst)
+ // mmodlst is used to reduce mutiple concatenations, obtained by the
+ // interpretor, such as
+ // [[a,b],c]
+ // [[a;b];c]
+ // to a single one whenever possible
+ // Author Serge Steer
+ void=["0","0","0","0"]
+ nlst=size(lst);top=0
+ ilst=0
+ pos=[]
+ to_kill=[]
+ while ilst<nlst
+ ilst=ilst+1
+ if type(lst(ilst))==15 then
+ lst(ilst)=mmodlst(lst(ilst))
+ else
+ op=lst(ilst)
+ if type(op)<>10 then op="????",end //bug dans macr2lst
+ opn=op(1)
+ if opn=="5" then
+ if op(2)=="23" then // row concatenation
+ i2=pos(top);i1=pos(top-1)
+ a1=lst(i1)
+ a2=lst(i2);
+ // [a1 a2] contenation
+ if a1(1:2)==["5","23"] then
+ // [a1,a2] is [[a,b,...],a2] replaced by [a,b,...,a2 ]
+ lst(i1)=void;to_kill=[to_kill,i1] //ignore concat which forms a1
+ lst(ilst)(3)=addf(a1(3),"1"); //change rhs of current concat
+ top=top-1
+ pos(top)=ilst
+ else // catenate
+ top=top-1
+ pos(top)=ilst
+ end
+ elseif op(2)=="27" then // column concatenation
+ i2=pos(top);i1=pos(top-1)
+ a1=lst(i1)
+ if size(a1,2)<4 then a1(4)=" ",end
+
+ a2=lst(i2)
+ if size(a2,2)<4 then a2(4)=" ",end
+
+ // [a1;a2] contenation
+ if a1(1:2)==["5","27"] then
+ // [a1;a2] is [[a;b;...];a2] replaced by [a;b;...;a2 ]
+ lst(i1)=void;to_kill=[to_kill,i1]//ignore concat which forms a1
+ lst(ilst)(3)=addf(a1(3),"1");//change rhs of current concat
+ top=top-1
+ pos(top)=ilst
+ elseif and(a1(1:2)==["5","23"]&a2(1:2)==["5","23"])&a1(3)==a2(3) then
+ // [a1;a2] is [[a,b,...];[x,y,..] replaced by [a,b,...;x,y,..]
+ lst(i1)=void;to_kill=[to_kill,i1]//ignore concat which forms a1
+ lst(i2)=void;to_kill=[to_kill,i2]//ignore concat which forms a2
+ lst(ilst)=["5","33","2",a1(3)];// change op
+ top=top-1
+ pos(top)=ilst
+ elseif and(a1(1:2)==["5","33"]&a2(1:2)==["5","23"])&a1(4)==a2(3) then
+ // [a1;a2] is [[[a,b,...;x,y,..];a2] replaced by [a,b,...;x,y,..;a2]
+ w=lst(i1)
+ lst(i1)=void;to_kill=[to_kill,i1]//ignore concat which forms a1
+ lst(i2)=void;to_kill=[to_kill,i2]//ignore concat which forms a2
+ lst(ilst)=w
+ lst(ilst)(3)=addf(a1(3),"1");//change rhs of current concat
+ top=top-1
+ pos(top)=ilst
+ else // catenate
+ top=top-1
+ pos(top)=ilst
+ end
+
+ else
+ rhs=abs(evstr(op(3)));lhs=evstr(op(4))
+ pos((top-rhs+1):(top-rhs+lhs))=ones(lhs,1)*ilst
+ top=top-rhs+lhs
+ pos(top+1:$)=[]
+ end
+
+ elseif opn=="20" then
+ if size(op,"*")<4 then//exit
+ rhs=0;lhs=1
+ else
+ rhs=max(evstr(op(3)),0);lhs=evstr(op(4))
+ end
+ pos((top-rhs+1):(top-rhs+lhs))=ones(lhs,1)*ilst
+ top=top-rhs+lhs
+ pos(top+1:$)=[]
+ elseif opn=="2"|opn=="3"|opn=="4"|opn=="6"|opn=="23"|opn=="24"|opn=="26"|opn=="27"|opn=="29" then
+ top=top+1
+ pos(top)=ilst
+ // else
+ end
+ end
+ end
+ // purge list of suppressed concatenations
+ to_kill=gsort(to_kill)
+ for k=1:prod(size(to_kill))
+ lst(to_kill(k))=null();
+ end
+endfunction
+
+function [stk,txt,top]=_02sci()
+ // translate .'
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top)
+ if s2(2)=="2"|s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ stk=list(s2(1)+"."+quote,"3")
+endfunction
+
+function [stk,txt,top]=_52sci()
+ // generate code for ~
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top)
+ if s2(2)=="2"|s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ stk=list("~"+s2(1),"3")
+endfunction
+
+function [stk,txt,top]=_d2sci()
+ // ./
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);top=top-1;
+
+ if s2(2)=="3"|s2(2)=="2"|s2(2)=="1" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="3"|s1(2)=="2" then s1(1)="("+s1(1)+")",end
+
+ stk=list(s1(1)+" ./ "+s2(1),"1")
+endfunction
+
+function [stk,txt,top]=_e2sci()
+ // generate code for extraction
+ // Author Serge Steer
+ txt=[]
+ rhs=max(0,abs(evstr(op(3)))-1)
+ sn=stk(top);top=top-1
+ s2=stk(top)
+ if rhs==1 then
+ if type(s2(1))==1 then // recursive extraction
+ n=s2(1)
+ ex=sn(1)
+ for k=1:n
+ ik=s2(k+1)
+ if type(ik(1))==1 then
+ ex1=[]
+ for k1=1:ik(1),ex1=[ex1,ik(1+k1)(1)],end
+ ex=ex+rhsargs(ex1)
+ else
+ if ik(2)=="0"&part(ik(1),1)=="''" then
+ ex=ex+"."+part(ik(1),2:length(ik(1))-1)
+ else
+ if ik(1)=="eye()" then ik(1)=":",end
+ ex=ex+"("+ik(1)+")"
+ end
+ end
+ end
+ stk=list(ex,"0")
+ else
+ testOK = type(s2(1))==10 & (execstr("tmp = evstr(s2(1))", "errcatch")==0)
+ if testOK
+ testOK = type(tmp)==10
+ clear tmp
+ if testOK
+ testOK = (execstr(s2(1),"errcatch")==0)
+ end
+ end
+ if testOK then // recursive extraction
+ stk=list(sn(1)+"."+evstr(s2(1)),"0")
+ else
+ if s2(1)=="eye()" then s2(1)=":",end
+ stk=list(sn(1)+"("+s2(1)+")","0")
+ end
+ end
+ elseif rhs==0 then
+ sn(1)=sn(1)+"()";
+ stk=sn;
+ top=top+1
+ else
+ s1=stk(top-1);top=top-1
+ if s2(1)=="eye()" then s2(1)=":",end
+ if s1(1)=="eye()" then s1(1)=":",end
+ stk=list(sn(1)+rhsargs([s1(1),s2(1)]),"0")
+ end
+endfunction
+
+function [stk,txt,top]=_g2sci()
+ // Generate code for |
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ stk=list(e1+" | "+e2,"2")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_h2sci()
+ // Generate code for &
+ // Author Serge Steer
+ s2=stk(top);s1=stk(top-1);
+ txt=[]
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+ stk=list(e1+" & "+e2,"2")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_i2sci()
+ // Generate code for insertion
+ // Author Serge Steer
+ txt=[]
+ rhs=abs(evstr(op(3)))-2
+ sto=stk(top);top=top-1
+ sfrom=stk(top);top=top-1
+ top=top-rhs+1
+ s2=stk(top)
+ if s2(1)=="eye()" then s2(1)=":",end
+ if rhs==1 then
+ if type(s2(1))==1 then // recursive extraction
+ n=s2(1)
+ ex=sto(1)
+ for k=1:n
+ ik=s2(k+1)
+ if type(ik(1))==1 then
+ ex1=[]
+ for k1=1:ik(1),ex1=[ex1,ik(1+k1)(1)],end
+ ex=ex+rhsargs(ex1)
+ else
+ if ik(2)=="0"&part(ik(1),1)=="''" then
+ ex=ex+"."+part(ik(1),2:length(ik(1))-1)
+ else
+ if ik(1)=="eye()" then ik(1)=":",end
+ ex=ex+"("+ik(1)+")"
+ end
+ end
+ end
+ txt=ex+"="+sfrom(1)+";"
+ stk=list(" ","-1")
+ else
+ if s2(1)=="eye()" then s2(1)=":",end
+ txt=sto(1)+"("+s2(1)+")="+sfrom(1)+";"
+ stk=list(op(2),"-1")
+ end
+ else // x(i,j)=y
+ s1=stk(top+1)
+ if s1(1)=="eye()" then s1(1)=":",end
+ if s2(1)=="eye()" then s2(1)=":",end
+ txt=sto(1)+"("+s2(1)+","+s1(1)+") = "+sfrom(1)+";"
+ stk=list(op(2),"-1")
+ end
+endfunction
+
+function [stk,txt,top]=_imp2sci()
+ //code for 1:n
+ // Author Serge Steer
+ txt=[]
+ if op(3)=="2" then
+ stk=list(stk(top-1)(1)+":"+stk(top)(1),"3")
+ top=top-1
+ else
+ stk=list(stk(top-2)(1)+":"+stk(top-1)(1)+":"+stk(top)(1),"3")
+ top=top-2
+ end
+endfunction
+
+function [stk,txt,top]=_j2sci()
+ // Generates code for .^
+ // Author Serge Steer
+
+ s2=stk(top);s1=stk(top-1);
+ txt=[]
+ [ss1,te1]=s1(1:2);
+ [ss2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then ss2="("+ss2+")",end
+ if te1=="1"|te1=="2"|te1=="3" then ss1="("+ss1+")",end
+
+ if part(ss2,1)=="-" then ss2="("+ss2+")",end
+ stk=list(ss1+".^"+ss2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_l2sci()
+ // \
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);top=top-1;
+
+ if s2(2)=="3"|s2(2)=="2"|s2(2)=="1" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="3"|s1(2)=="2" then s1(1)="("+s1(1)+")",end
+
+ if part(s1(1),1)=="-" then s1(1)="("+s1(1)+")",end
+ stk=list(s1(1)+"\"+s2(1),"1")
+endfunction
+
+function [stk,txt,top]=_q2sci()
+ // .\
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);top=top-1;
+ if s2(2)=="3"|s2(2)=="2"|s2(2)=="1" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="3"|s1(2)=="2" then s1(1)="("+s1(1)+")",end
+
+ stk=list(s1(1)+" .\ "+s2(1),"1")
+endfunction
+
+function [stk,txt,top]=_r2sci()
+ // /
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top);s1=stk(top-1);top=top-1;
+
+ if s2(2)=="3"|s2(2)=="2"|s2(2)=="1" then s2(1)="("+s2(1)+")",end
+ if s1(2)=="3"|s1(2)=="2" then s1(1)="("+s1(1)+")",end
+
+ if part(s2(1),1)=="-" then s2(1)="("+s2(1)+")",end
+ stk=list(s1(1)+"/"+s2(1),"1")
+endfunction
+
+function [stk,txt,top]=_s2sci()
+ // Generates code for subtraction and sign change -
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top)
+ if s2(2)=="2"|s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ if op(3)=="2" then
+ s1=stk(top-1)
+ if s1(2)=="3" then s1(1)="("+s1(1)+")",end
+ stk=list(s1(1)+" - "+s2(1),"2")
+ top=top-1
+ else
+ stk=list("-"+s2(1),"2")
+ end
+endfunction
+
+function [stk,txt,top]=_t2sci()
+ // Generates code for transposition
+ // Author Serge Steer
+ txt=[]
+ s2=stk(top)
+ if s2(2)=="1"|s2(2)=="2"|s2(2)=="3" then s2(1)="("+s2(1)+")",end
+ stk=list(s2(1)+quote,s2(2))
+endfunction
+
+function [stk,txt,top]=_x2sci()
+ // Generates code for .*
+ // Author Serge Steer
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" .* "+e2,"1")
+ top=top-1
+endfunction
+
+function t=catcode(a,b)
+ // Author Serge Steer
+
+ if a==[] then
+ t=b
+ elseif b==[]
+ t=a
+ else
+ t=[a(1:$-1);a($)+b(1);b(2:$)]
+ end
+endfunction
+
+function T=splitexp(t)
+ // Author Serge Steer
+ T=[]
+ for i=1:size(t,"*")
+ ti=t(i)
+ ti=strsubst(ti,CR+";",";"+CR)
+ ti=strsubst(ti,CR+", [",", ["+CR)
+ ks=strindex(ti,CR)
+ kd=1
+ ind=""
+ for kf=ks
+ T=[T;ind+part(ti,kd:kf-1)];
+ kd=kf+length(CR);
+ ind=" ";
+ end
+ T=[T;ind+part(ti,kd:length(ti))]
+ end
+endfunction
+
+function [stk,txt,top]=_u2sci()
+ // Author Serge Steer
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" *. "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_k2sci()
+ //generates code for .*.
+ // Author Serge Steer
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" .*. "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_v2sci()
+ //generates code for /.
+ // Author Serge Steer
+
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" /. "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_y2sci()
+ //generates code for ./.
+ // Author Serge Steer
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" ./. "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_z2sci()
+ //generates code for .\.
+ // Author Serge Steer
+
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" .\. "+e2,"1")
+ top=top-1
+endfunction
+
+function [stk,txt,top]=_w2sci()
+ //generates code for .\
+ // Author Serge Steer
+ txt=[]
+ s1=stk(top-1)
+ s2=stk(top)
+ [e1,te1]=s1(1:2);
+ [e2,te2]=s2(1:2);
+ //
+ if te2=="1"|te2=="2"|te2=="3" then e2="("+e2+")",end
+ if te1=="2"|te1=="3" then e1="("+e1+")",end
+
+ stk=list(e1+" \. "+e2,"1")
+ top=top-1
+endfunction
diff --git a/modules/functions/macros/genlib.bin b/modules/functions/macros/genlib.bin
new file mode 100755
index 000000000..f8af84958
--- /dev/null
+++ b/modules/functions/macros/genlib.bin
Binary files differ
diff --git a/modules/functions/macros/genlib.sci b/modules/functions/macros/genlib.sci
new file mode 100755
index 000000000..c2911728d
--- /dev/null
+++ b/modules/functions/macros/genlib.sci
@@ -0,0 +1,286 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) ENPC
+// Copyright (C) DIGITEO - 2012 - Allan CORNET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [success, funcs, success_files, failed_files] = genlib(nam, path, force, verbose, names)
+
+ // get all .sci files in the specified directory
+
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d to %d expected.\n"), "genlib", 1, 5));
+ end
+
+ if type(nam) <> 10 then
+ error(999, msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), "genlib", 1));
+ end
+
+ if size(nam, "*") <> 1 then
+ error(999, msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), "genlib", 1));
+ end
+
+ if exists("force", "local") == 0 then
+ force = %f;
+ else
+ if type(force) <> 4 then
+ error(999, msprintf(_("%s: Wrong type for input argument #%d: A boolean expected.\n"), "genlib", 3));
+ end
+
+ if size(force, "*") <> 1 then
+ error(999, msprintf(_("%s: Wrong size for input argument #%d: A boolean expected.\n"), "genlib", 3));
+ end
+ end
+
+ if exists("verbose", "local") == 0 then
+ verbose = %f;
+ else
+ if type(verbose) <> 4 then
+ error(999, msprintf(_("%s: Wrong type for input argument #%d: A boolean expected.\n"), "genlib", 4));
+ end
+
+ if size(verbose, "*") <> 1 then
+ error(999, msprintf(_("%s: Wrong size for input argument #%d: A boolean expected.\n"), "genlib", 4));
+ end
+ end
+
+ W = who("get");
+ np = predef();
+ predefined = or(W($-np+1:$) == nam);
+
+ success = %t;
+ funcs = [];
+ success_files = [];
+ failed_files = [];
+
+ if verbose then
+ mprintf(gettext("-- Creation of [%s] (Macros) --\n"), nam);
+ end
+
+ updatelib = %f; //true if updating an already defined library
+
+ //check if a library with the same name exists
+
+ oldlib = [];
+ old_path = [];
+ old_names = [];
+
+ if exists(nam)==1 then
+ execstr("oldlib="+nam);
+ if typeof(oldlib)=="library" then
+ //yes, get its path and function list
+ old_names = string(oldlib);
+ clear oldlib;
+ old_path = old_names(1);
+ old_names(1) = [];
+ end
+ end
+
+ if (exists("path", "local") == 0) then
+ if (old_path <> []) then
+ path = old_path;
+ updatelib = %t;
+ else
+ path = pwd();
+ end
+ else
+ if type(path) <> 10 then
+ error(999, msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), "genlib", 2));
+ end
+
+ if size(path, "*") <> 1 then
+ error(999, msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), "genlib", 2));
+ end
+ end
+
+ // convert path according to getos() == 'Windows' flag
+ // without env variable substitution
+
+ path1 = pathconvert(path, %t, %f);
+ // with env subsitution
+ path = pathconvert(path, %t, %t);
+
+ if exists("names", "local")==0 then
+ // list the sci files
+ files = gsort(listfiles(path+"*.sci",%f), "r", "i");
+ files_filtered = [];
+
+ for i=1:size(files,"*")
+ if( regexp(files(i),"/\.sci$/") <> [] ) then
+ files_filtered = [files_filtered;files(i)];
+ end
+ end
+
+ files = files_filtered;
+ clear files_filtered;
+
+ if files==[] | files== "" then
+ warning(msprintf(gettext("%s: No files with extension %s found in %s\n"),"genlib",".sci", path));
+ return ;
+ end
+
+ names = basename(files,%f);
+
+ else
+ if type(names) <> 10 then
+ error(999, msprintf(_("%s: Wrong type for input argument #%d: A matrix of string expected.\n"), "genlib", 5));
+ end
+
+ files = path + names;
+ names = strsubst(names, "/\.sci$/", "", "r");
+ end
+
+ names_changed = %t;
+
+ if updatelib then
+ if and(gsort(names)==gsort(old_names)) then names_changed=%f,end
+ end
+
+ modified = %f;
+
+ if force == %t then
+ modified = %t;
+ for i=1:size(files,"*") // loop on .sci files
+ scif = files(i);
+ if verbose then
+ mprintf(gettext("%s: %s file compilation forced\n"),"genlib",names(i)+".sci");
+ end
+ // getf sci file and save functions it defines as a .bin file
+ getsave(scif);
+ end
+ else
+ for i=1:size(files,"*") // loop on .sci files
+ scif = files(i);
+ binf = strsubst(scif, "/\.sci$/",".bin","r");
+ binf_info = fileinfo(binf);
+ recompile = %f;
+
+ if binf_info == [] then
+ recompile = %t;
+ else
+ scif_info = fileinfo(scif);
+ if newest(scif,binf) == 1 then
+ recompile = %t ;
+ end
+ end
+
+ if recompile == %t then
+
+ if verbose then
+ mprintf(gettext("%s: Processing file: %s\n"), "genlib", names(i) + ".sci");
+ end
+
+ // getf sci file and save functions it defines as a .bin file
+ result = getsave(scif);
+ modified = %t;
+ if result <> [] then
+ success_files($+1) = scif
+ funcs = [funcs result]
+ else
+ failed_files($+1) = scif
+ success = %f
+ end
+ end
+ end
+ end
+
+ if modified then
+
+ if verbose then
+ mprintf(gettext("%s: Regenerate names and lib\n"),"genlib");
+ end
+
+ if names_changed
+ mputl(names,path+"names"); // write 'names' file in directory
+ end
+
+ // create library
+ execstr(nam+"=lib(''"+getshortpathname(path1)+"'')")
+ //save it
+
+ warnMode = warning("query");
+ warning("off");
+ if execstr("save(''"+path1+"lib''"+","+nam+")","errcatch")<>0 then
+ success = %f;
+ warning(warnMode);
+ error(msprintf(gettext("%s: %s file cannot be created\n"),"genlib",path+"lib"));
+ end
+ warning(warnMode);
+ else
+ execstr(nam+"=lib(''"+path1+"'')")
+ end
+
+ if names_changed then
+ if ~predefined then
+ execstr(nam+"=resume("+nam+")")
+ else
+ mprintf(gettext("Library file %s has been updated,\nbut cannot be loaded into Scilab because %s is a protected variable.\n"),path1+"lib",nam);
+ end
+ end
+
+endfunction
+
+function result = getsave(scifile)
+
+ // utility function
+ // performs a exec on file scifile
+
+ result = %f;
+ prot = funcprot();
+ nold = size(who("get"),"*");
+
+ funcprot(0);
+
+ ierr=exec(scifile,"errcatch",-1);
+ if ierr <> 0 then
+ execstr("error(ierr)","errcatch");
+ error(msprintf(gettext("%s: Error in file %s : %s.\n"), "genlib", scifile, lasterror()));
+ clear ierr;
+ result = %f;
+
+ else
+
+ clear ierr;
+
+ // lookfor names of the functions defined in file 'scifile'
+ new = who("get")
+ new = new(1:(size(new,"*")-nold-1))
+
+ // create output file name (just replace the ".sci" extension by ".bin"
+ binfile = strsubst(scifile,"/\.sci$/",".bin","r")
+
+ // save all functions in the output file
+ [u,ierr]=mopen(binfile,"wb")
+ if ierr<>0 then
+ clear ierr;
+ nf = length(binfile);
+ if nf>40 then
+ binfile="..."+part(binfile,nf-40:nf);
+ end
+ error(msprintf(gettext("%s: Impossible to open file %s for writing\n"),"genlib",binfile));
+ end
+
+ clear ierr
+
+ if new<>[] then
+ result = new($:-1:1)';
+ warnMode = warning("query");
+ warning("off");
+ execstr("save(u,"+strcat(new($:-1:1),",")+")");
+ warning(warnMode);
+ else
+ msprintf(gettext("%s: File %s does not contain any function.\n"),"genlib",binfile)
+ result = %f;
+ end
+
+ mclose(u);
+ end
+
+ funcprot(prot);
+
+endfunction
diff --git a/modules/functions/macros/get_function_path.bin b/modules/functions/macros/get_function_path.bin
new file mode 100755
index 000000000..3fa95aacc
--- /dev/null
+++ b/modules/functions/macros/get_function_path.bin
Binary files differ
diff --git a/modules/functions/macros/get_function_path.sci b/modules/functions/macros/get_function_path.sci
new file mode 100755
index 000000000..ae0165565
--- /dev/null
+++ b/modules/functions/macros/get_function_path.sci
@@ -0,0 +1,39 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
+// Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function path = get_function_path(name)
+
+ path = [];
+ rhs = argn(2);
+
+ if rhs == 0 then
+ error(msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "get_function_path", 1));
+ end
+
+ if type(name) <> 10 then
+ error(999,msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"),"get_function_path",1));
+ end
+
+ if size(name,"*") <> 1 then
+ error(999,msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"),"get_function_path",1));
+ end
+
+ libname = whereis(name);
+
+ if libname <> [] then
+ for i = 1:size(libname,"*")
+ [funcnames, pathlib] = libraryinfo(libname(i));
+ path = [path ; pathlib + name + ".sci"];
+ end
+ path = pathconvert(path,%F);
+ end
+
+endfunction
diff --git a/modules/functions/macros/get_profile.bin b/modules/functions/macros/get_profile.bin
new file mode 100755
index 000000000..7ec6c927f
--- /dev/null
+++ b/modules/functions/macros/get_profile.bin
Binary files differ
diff --git a/modules/functions/macros/get_profile.sci b/modules/functions/macros/get_profile.sci
new file mode 100755
index 000000000..f5039a2b6
--- /dev/null
+++ b/modules/functions/macros/get_profile.sci
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function count=get_profile(lst,ilst)
+ count=[];
+ ops=0;
+ nlst=size(lst);
+ while ilst<=nlst then
+ if type(lst(ilst))==15 then
+ typ=lst(ilst)(1);
+ c1=[];
+ for ic=2:size(lst(ilst))
+ c1=[c1;get_profile(lst(ilst)(ic),1)];
+ end
+ count=[count;c1]
+ ilst=ilst+1;
+ else
+ ops=ops+1;
+ //real timing line found
+ if lst(ilst)(1)=="25" then
+ count=[count;[evstr(lst(ilst)(2:3)),max(0,ops-2)]];
+ ops=0;
+ elseif lst(ilst)(1)=="3" then
+ //possibly, non interpreted code line (e.g. subfunction definition header)
+ ncode=1;
+ elseif lst(ilst)(1)=="26" then
+ //non interpreted code lines (e.g. subfunction definition body)
+ // macr2lst keeps whitespace (even too much... leading whitespace
+ // makes a new code line), fun2string no. See bug 2413
+ codelines=lst(ilst); codelines=codelines(4:$);
+ ncode=length(stripblanks(codelines)<>"");
+ elseif lst(ilst)(1)=="20" & lst(ilst)(2)=="deff" then
+ //subfunction definition trailer
+ count=[count;zeros(ncode,3)];
+ end
+ end
+ ilst=ilst+1;
+ end
+endfunction
diff --git a/modules/functions/macros/getd.bin b/modules/functions/macros/getd.bin
new file mode 100755
index 000000000..0d3a0414b
--- /dev/null
+++ b/modules/functions/macros/getd.bin
Binary files differ
diff --git a/modules/functions/macros/getd.sci b/modules/functions/macros/getd.sci
new file mode 100755
index 000000000..58ee0c51f
--- /dev/null
+++ b/modules/functions/macros/getd.sci
@@ -0,0 +1,64 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) ENPC
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function getd(path,option)
+
+ // get all .sci files in the specified directory
+
+ [lhs,rhs]=argn(0);
+
+ if rhs<=0 then
+ path="./";
+ end
+
+ // convert path according to getos() == 'Windows' flag
+ // and with env var substitutions
+ path = pathconvert(path,%t,%t);
+
+ // list the sci files
+ lst = listfiles(path+"*.sci",%f);
+ lst_filtered = [];
+
+ // remove wrong files extension
+ // bug 2289
+
+ for i=1:size(lst,"*")
+ if( regexp(lst(i),"/.sci$/") <> [] ) then
+ lst_filtered = [lst_filtered;lst(i)];
+ end
+ end
+
+ lst = lst_filtered;
+ clear lst_filtered;
+
+ if lst==[] | lst== "" then
+ error(msprintf(gettext("%s: I cannot find any files with extension %s in %s\n"),"getd",".sci",path));
+ return ;
+ end
+
+ nold = size(who("get"),"*")
+ //prot = funcprot();funcprot(0)
+
+ for k=1:size(lst,"*");
+ if fileparts(lst(k),"extension")==".sci" then
+ if execstr("exec(lst(k));","errcatch")<>0 then
+ warning(msprintf(gettext("%s: Incorrect function in file %s.\n"),"getd",lst(k)))
+ end
+ end
+ end
+
+ //funcprot(prot);
+ new = who("get");
+ new = new(1:(size(new,"*")-nold-2)); // -4 becomes -2: fix the fix for bug 2807
+ if new<>[] then
+ execstr("["+strcat(new,",")+"]=resume("+strcat(new,",")+")")
+ end
+
+endfunction
diff --git a/modules/functions/macros/head_comments.bin b/modules/functions/macros/head_comments.bin
new file mode 100755
index 000000000..234430dfd
--- /dev/null
+++ b/modules/functions/macros/head_comments.bin
Binary files differ
diff --git a/modules/functions/macros/head_comments.sci b/modules/functions/macros/head_comments.sci
new file mode 100755
index 000000000..e257b9f54
--- /dev/null
+++ b/modules/functions/macros/head_comments.sci
@@ -0,0 +1,44 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2004-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function head_comments(name, %paths)
+ // Displays the first comments of a function
+
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d to %d expected.\n"), "head_comments", 1, 2));
+ end
+
+ if type(name) <> 10 then
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A character string expected.\n"),"head_comments",1))
+ end
+ name = stripblanks(name)
+ if execstr("var="+name,"errcatch")<>0 then
+ error(msprintf(gettext("%s: Undefined variable %s.\n"),"head_comments",name )),
+ end
+
+ if type(var) == 11 then comp(var); end
+ if type(var) <> 13 then
+ error(msprintf(gettext("%s: Wrong value for input argument #%d: Name of a Scilab function expected.\n"),"head_comments",1))
+ end
+ ops = macr2lst(var);
+ syntax = "function ["+strcat(ops(2),",")+"] = "+name+"("+strcat(ops(3),",")+")";
+
+ comm = [];
+ k = 4; if ops(4) == "15" then k = k+1; end
+ while ops(k)(1)=="31" then
+ comm = [comm; ops(k)(2)];
+ k = k+2;
+ end
+ if comm == [] then
+ mprintf("%s\n",[syntax;gettext("No comment available.")])
+ else
+ mprintf("%s\n",[syntax;comm])
+ end
+
+endfunction
diff --git a/modules/functions/macros/lib b/modules/functions/macros/lib
new file mode 100755
index 000000000..9bfb8e04c
--- /dev/null
+++ b/modules/functions/macros/lib
Binary files differ
diff --git a/modules/functions/macros/listfunctions.bin b/modules/functions/macros/listfunctions.bin
new file mode 100755
index 000000000..9520c551e
--- /dev/null
+++ b/modules/functions/macros/listfunctions.bin
Binary files differ
diff --git a/modules/functions/macros/listfunctions.sci b/modules/functions/macros/listfunctions.sci
new file mode 100755
index 000000000..d9eac4a33
--- /dev/null
+++ b/modules/functions/macros/listfunctions.sci
@@ -0,0 +1,32 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [flist,compiled,profilable,called]=listfunctions(scope)
+ if ~exists("scope","local") then scope="local"; end
+ nam=who(scope)'
+ called=uint32(zeros(nam)); afun=(called==1); pfun=afun; cfun=pfun;
+ for i=1:size(nam,2)
+ clear rvar lst;
+ // rvar is cleared to avoid function redefinition warning
+ // lst (topmost, variable size) is cleared to speed up garbage collection
+ if scope=="global" then global(nam(i)); end
+ execstr("rvar="+nam(i));
+ if type(rvar)==11 then afun(i)=%t; end
+ if type(rvar)==13 then
+ afun(i)=%t; cfun(i)=%t;
+ lst=macr2lst(rvar)
+ pfun(i)=and(lst(5)(1)=="25")
+ if pfun(i) then execstr("called(i)="+lst(5)(2)); end
+ end
+ end
+ flist=nam(afun)
+ compiled=cfun(afun)
+ profilable=pfun(afun)
+ called=called(afun)
+endfunction
diff --git a/modules/functions/macros/macrovar.bin b/modules/functions/macros/macrovar.bin
new file mode 100755
index 000000000..097b6ee31
--- /dev/null
+++ b/modules/functions/macros/macrovar.bin
Binary files differ
diff --git a/modules/functions/macros/macrovar.sci b/modules/functions/macros/macrovar.sci
new file mode 100755
index 000000000..f943bf5ec
--- /dev/null
+++ b/modules/functions/macros/macrovar.sci
@@ -0,0 +1,92 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 1992-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function vars=macrovar(macro)
+ // Returns in a list the set of varibles used by a macro
+ // mac : macro
+ // vars : list(in,out,globals,called,locals)
+ // in : input variables
+ // out: output variables
+ // globals: global variables
+ // called : macros called
+ // locals : local variables
+ //!
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "macrovar", 1));
+ end
+ if type(macro)==11 then comp(macro),end
+ if type(macro)<>13 then
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: Scilab function expected.\n"),"macrovar",1)),
+ end
+ lst=macr2lst(macro);
+ out=lst(2)',if prod(size(out))==0 then out =[],end
+ in=lst(3)'
+ vars=[]
+ getted=[]
+ [vars,getted]=listvars(lst)
+ ng=prod(size(getted))
+ globals=[],called=[]
+ for k=1:ng
+ if (find(getted(k)==vars)==[])&(find(getted(k)==in)==[]) then
+ clear w //to avoid redefinition warning (bug 1774)
+ ierr=execstr("w="+getted(k),"errcatch")
+ if ierr==0 then //the variable exists
+ if or(type(w)==[13 130 11]) then
+ called=[called;getted(k)]
+ else
+ globals=[globals;getted(k)]
+ end
+ else
+ globals=[globals;getted(k)]
+ lasterror(%t) // clear the error (bug 2393)
+ end
+ end
+ end
+ locals=[]
+ nl=prod(size(vars))
+ for k=1:nl
+ if (find(vars(k)==in)==[])&(find(vars(k)==out)==[]) then
+ locals=[locals;vars(k)]
+ end
+ end
+ vars=list(in,out,globals,called,locals)
+
+endfunction
+
+function [vars,getted]=listvars(lst)
+ for lstk=lst
+ if type(lstk)==15 then
+ [vars,getted]=listvars(lstk)
+ else
+ if lstk(1)=="1"|lstk(1)=="for" then
+ // case 1 retained for 2.7 and earlier versions
+ vars=[vars;addvar(lstk(2))],
+ elseif lstk(1)=="29" then
+ nlhs=(size(lstk,"*")-2)/2
+ for k=0:nlhs-1
+ vars=[vars;addvar(lstk(3+2*k))],
+ end
+ elseif or(lstk(1)==["2","20"]) then
+ getted=[getted;addget(lstk(2))],
+ end
+ end
+ end
+
+endfunction
+function vnam=addvar(vnam)
+ if find(vnam==vars)<>[] then
+ vnam=[]
+ end
+
+endfunction
+function vnam=addget(vnam)
+ if find(vnam==getted)<>[] then
+ vnam=[]
+ end
+endfunction
diff --git a/modules/functions/macros/names b/modules/functions/macros/names
new file mode 100755
index 000000000..d2a50a183
--- /dev/null
+++ b/modules/functions/macros/names
@@ -0,0 +1,20 @@
+add_profiling
+bytecode
+bytecodewalk
+check_gateways
+createfun
+fun2string
+genlib
+get_function_path
+get_profile
+getd
+head_comments
+listfunctions
+macrovar
+plotprofile
+profile
+recompilefunction
+remove_profiling
+reset_profiling
+showprofile
+warnobsolete
diff --git a/modules/functions/macros/plotprofile.bin b/modules/functions/macros/plotprofile.bin
new file mode 100755
index 000000000..edc74eb00
--- /dev/null
+++ b/modules/functions/macros/plotprofile.bin
Binary files differ
diff --git a/modules/functions/macros/plotprofile.sci b/modules/functions/macros/plotprofile.sci
new file mode 100755
index 000000000..c6cd3d0a7
--- /dev/null
+++ b/modules/functions/macros/plotprofile.sci
@@ -0,0 +1,178 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function plotprofile(fun)
+
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "plotprofile", 1));
+ end
+
+ sep="="
+ sep=part(sep,ones(1,72))
+
+ if type(fun)==13 then
+ lst=macr2lst(fun);
+ count=profile(lst);count(:,3)=count(:,3).*count(:,1);
+ txt=fun2string(lst,"fun");
+ m=min(size(count,1),size(txt,1))
+ txt=txt(1:m);count=count(1:m,:)
+ txt(txt=="")=" "
+ bnd=[];nf=0;
+ elseif type(fun)==10 then
+ nf=size(fun,"*")
+ txt=[];bnd=[];count=[];
+ for k=1:nf
+ execstr("lst=macr2lst("+fun(k)+")")
+ c=profile(lst);c(:,3)=c(:,3).*c(:,1);
+ t=fun2string(lst,fun(k))
+ m=min(size(c,1),size(t,1))
+ t=t(1:m);c=c(1:m,:)
+ t(t=="")=" "
+ if txt<>[] then
+ txt=[txt;"/////////////////////////////////////////////"]
+ bnd=[bnd,size(txt,1)]
+ count=[count;[0 0 0]]
+ end
+ txt=[txt;t]
+ count=[count;c]
+ end
+ end
+ n=size(count,1)
+ if n==0 then
+ error(msprintf(gettext("%s: Wrong values for input argument: No profile data in the function\n"),"plotprofile"))
+ end
+
+ step=ceil(n/15)
+ nn=ceil((n+1)/step)
+ nm=nn*step
+ nlines=size(count,1)
+
+ win=sum(winsid())+1
+ scf(win)
+ drawlater
+ axes=[];marker=[];
+ subplot(311)
+ ncalls=count(:,1); mx=max(ncalls)
+ plot2d([],[],rect=[0.5,0,nm+0.5,max(mx*1.02,1)]); axes=gca()
+ xrects([(1:nlines)'-0.5,ncalls,ones(ncalls),ncalls]',2*ones(ncalls))
+ xrects([(1:nlines)'-0.5,ncalls,ones(ncalls),ncalls]',0*ones(ncalls))
+ xarrows([1,1],[1.5*mx,0],5,5); marker=gce()
+ xtitle("# calls")
+ //separator, if more that 1 function is given
+ xsegs(ones(2,1)*bnd,[0;1.5*mx]*ones(bnd),0*ones(bnd))
+ xp=[0 bnd]+1;yp=mx*0.9;
+ for k=1:nf, xstring(xp(k),yp," "+fun(k)+" ",0,1); end
+
+
+ subplot(312)
+ ncompl=count(:,3); mx=max(1,max(ncompl))
+ plot2d([],[],rect=[0.5,0,nm+0.5,max(mx*1.02,1)]); axes(2)=gca()
+ xrects([(1:nlines)'-0.5,ncompl,ones(ncompl),ncompl]',3*ones(ncompl))
+ xrects([(1:nlines)'-0.5,ncompl,ones(ncompl),ncompl]',0*ones(ncompl))
+ xarrows([1,1],[1.5*mx,0],5,5); marker(2)=gce()
+ xtitle(gettext("Complexity"))
+ xsegs(ones(2,1)*bnd,[0;1.5*mx]*ones(bnd),0*ones(bnd))
+
+ subplot(313)
+ tcpu=count(:,2); mx=max(tcpu)
+ plot2d([],[],rect=[0.5,0,nm+0.5,max(mx*1.02,1e-6)]); axes(3)=gca()
+ xtitle("Cpu time (total "+string(sum(count(:,2)))+" sec)","line")
+ xrects([(1:nlines)'-0.5,tcpu,ones(tcpu),tcpu]',4*ones(tcpu))
+ xrects([(1:nlines)'-0.5,tcpu,ones(tcpu),tcpu]',0*ones(tcpu))
+ xarrows([1,1],[1.5*mx,0],5,5); marker(3)=gce()
+ xsegs(ones(2,1)*bnd,[0;1.5*mx]*ones(bnd),0*ones(bnd))
+ drawnow
+
+ for i=1:3; axes(i).tight_limits="on"; end
+
+ delmenu(win,gettext("Tools"));
+ delmenu(win,gettext("Edit"));
+ delmenu(win,gettext("?"));
+
+ addmenu(win,gettext("Exit"),list(0,"Exit"));
+ str = "execstr(Exit_"+string(win)+"(1))"
+
+ xinfo(gettext("Click to get corresponding line, move with a-z."))
+
+ profpath = TMPDIR+"/profiled.sci"
+ mputl(txt,profpath);
+ editor(profpath, 1);
+
+ k=1
+ while %t
+ if ~or(winsid()==win) then break,end
+ [c_i,c_x,c_y,cw,cm]=xclick()
+ if (c_i <0 & cm==str) | c_i==-100 | ~or(winsid()==win) then break,end
+ //if one of the panels has been zoomed, zoom (horizontally)all of them
+ // (partially, this is a workaround for bug #1618)
+ // [the update is carried on only after the next xclick -- why?]
+ Xb=[axes(1).zoom_box([1,3])', axes(2).zoom_box([1,3])',..
+ axes(3).zoom_box([1,3])']
+ drawlater
+ //treat here also if all the panes were zoomed but key navigation
+ // brought the cursor out of window
+ if ~and(Xb(1,:)==Xb(1,1)) | ~and(Xb(2,:)==Xb(2,1)) | size(Xb,2)<>3 |..
+ ~and(k<Xb(1,:)) | ~and(k>Xb(2,:)) then
+ if Xb<>[] then
+ newXmin=min(max(Xb(1,:)),k-1); newXmax=max(min(Xb(2,:)),k+1)
+ for i=1:3
+ // vertical zoom is restored to default
+ yrange=axes(i).data_bounds(:,2)
+ axes(i).zoom_box=[newXmin,yrange(1),newXmax,yrange(2)];
+ end
+ else
+ for i=1:3 axes(i).zoom_box=[]; end
+ end
+ end
+ if cw==win then
+ if or(c_i==(0:5)) then
+ k=min(n,max(1,round(c_x)))
+ end
+ if or(c_i==[65 97 65361]) then
+ k=max(1,k-1)
+ end
+ if or(c_i==[90 122 65363]) then
+ k=min(n,k+1)
+ end
+ kstr = string(k);
+ if isempty(kstr) then
+ kstr = "";
+ end
+ ncallsstr = string(ncalls(k));
+ if isempty(ncallsstr) then
+ ncallsstr = "";
+ end
+ tcpustr = string(tcpu(k));
+ if isempty(tcpustr) then
+ tcpustr = "";
+ end
+ if ncalls(k)==1 then
+ msg=msprintf(gettext("line %s [%s call, %s sec] :: "), kstr, ncallsstr, tcpustr) + txt(k);
+ else
+ msg=msprintf(gettext("line %s [%s calls, %s sec] :: "), kstr, ncallsstr, tcpustr) + txt(k);
+ end
+
+ editor(profpath,k)
+ end
+ for i=1:3
+ d=marker(i).data;
+ marker(i).data=[k,d(1,2);k,d(2,2)]
+ end
+ drawnow
+ xinfo(msg)
+ end
+ endprof()
+
+endfunction
+
+function endprof()
+ if or(winsid()==(win+1)) then xdel(win+1);end
+ if or(winsid()==(win)) then xdel(win);end
+endfunction
+
diff --git a/modules/functions/macros/profile.bin b/modules/functions/macros/profile.bin
new file mode 100755
index 000000000..f3f6159c0
--- /dev/null
+++ b/modules/functions/macros/profile.bin
Binary files differ
diff --git a/modules/functions/macros/profile.sci b/modules/functions/macros/profile.sci
new file mode 100755
index 000000000..d161fa712
--- /dev/null
+++ b/modules/functions/macros/profile.sci
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2013 - Samuel GOUGEON : bug #13146 fixed
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function count = profile(fun)
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "profile", 1));
+ end
+ if type(fun)==13 then
+ lst = macr2lst(fun)
+ else
+ lst = fun
+ end
+ i = 5
+ if lst(4)(1)=="31"
+ i = 6
+ end
+ if lst(i)(1)<>"25" then
+ error(msprintf(gettext("%s: The function has not been built for profiling"), "profile"))
+ end
+ count = get_profile(lst,4)
+ count = count(1:$-1,:)
+ count(:,2) = count(:,2)/1000000
+endfunction
diff --git a/modules/functions/macros/recompilefunction.bin b/modules/functions/macros/recompilefunction.bin
new file mode 100755
index 000000000..e5dcd424f
--- /dev/null
+++ b/modules/functions/macros/recompilefunction.bin
Binary files differ
diff --git a/modules/functions/macros/recompilefunction.sci b/modules/functions/macros/recompilefunction.sci
new file mode 100755
index 000000000..cb1ac402d
--- /dev/null
+++ b/modules/functions/macros/recompilefunction.sci
@@ -0,0 +1,54 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function recompilefunction(funname,kind,force)
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d to %d expected.\n"), "recompilefunction", 1, 3));
+ end
+ if ~exists("force","local") then force=%f; end
+ if ~exists("kind","local") then kind="c"; end
+ if ~exists(funname)
+ error(msprintf(gettext("No variable named: %s.\n"),funname))
+ end
+ clear fvar funtext tempfun
+ execstr("fvar="+funname)
+ if ~or(type(fvar)==[11 13]) then
+ error(msprintf(gettext("%s: Wrong value for input argument #%d: A Scilab function name is expected.\n"),"recompilefunction",1))
+ end
+ if type(fvar)==11 & ~force then
+ oldkind="n"
+ if kind=="n" then
+ warning(msprintf(gettext("%s is already noncompiled.\n"),funname))
+ return
+ end
+ //can't avoid "Warning: redefining function: fvar", sorry
+ // if kind=="c" then comp(fvar); end
+ // if kind=="p" then comp(fvar,2); end
+ // execstr(funname+"=resume(fvar)")
+ //or:
+ [out,in,funtext]=string(fvar);
+ deff("["+strcat(out,",")+"]=tempfun("+strcat(in,",")+")",..
+ funtext,kind)
+ execstr(funname+"=resume(tempfun)")
+ elseif type(fvar)==13 then
+ lst=macr2lst(fvar)
+ if lst(5)(1)=="25" then oldkind="p"; else oldkind="c"; end
+ if kind=="c" & oldkind=="c" & ~force then
+ warning(msprintf(gettext("%s is already compiled.\n"),funname))
+ return
+ end
+ if kind=="p" & oldkind=="p" & ~force then
+ warning(msprintf(gettext("%s is already compiled for profiling.\n"),funname))
+ return
+ end
+ funtext=fun2string(lst,"tempfun")
+ deff(strsubst(funtext(1),"function ",""),funtext(2:$-1),kind)
+ execstr(funname+"=resume(tempfun)")
+ end
+endfunction
diff --git a/modules/functions/macros/remove_profiling.bin b/modules/functions/macros/remove_profiling.bin
new file mode 100755
index 000000000..1f8c2b646
--- /dev/null
+++ b/modules/functions/macros/remove_profiling.bin
Binary files differ
diff --git a/modules/functions/macros/remove_profiling.sci b/modules/functions/macros/remove_profiling.sci
new file mode 100755
index 000000000..7a4b3f856
--- /dev/null
+++ b/modules/functions/macros/remove_profiling.sci
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function remove_profiling(funname)
+ //remove all profiling instruction bytecode
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "remove_profiling", 1));
+ end
+ nsiz=6
+ execstr("code=bytecode("+funname+")")
+ lc=1
+ lc = lc + nsiz*double(code(lc)) + 1
+ lc = lc + nsiz*double(code(lc)) + 1
+ long=code(lc)
+ lc = lc+1
+ c=code(lc:$)
+ c1=bytecodewalk(c,25,rmprof)
+ code=[code(1:lc-2) int32(size(c1,"*")) c1]
+ execstr(funname+" = resume(bytecode(code))")
+endfunction
+function [c,l]=rmprof(l)
+ //remove profiling instruction bytecode
+ c=[];l=l+3;
+endfunction
diff --git a/modules/functions/macros/reset_profiling.bin b/modules/functions/macros/reset_profiling.bin
new file mode 100755
index 000000000..b128ac365
--- /dev/null
+++ b/modules/functions/macros/reset_profiling.bin
Binary files differ
diff --git a/modules/functions/macros/reset_profiling.sci b/modules/functions/macros/reset_profiling.sci
new file mode 100755
index 000000000..98e4fd867
--- /dev/null
+++ b/modules/functions/macros/reset_profiling.sci
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2003-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function reset_profiling(funname)
+ //reset profiling data in bytecode
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "reset_profiling", 1));
+ end
+ nsiz=6
+ execstr("code=bytecode("+funname+")")
+ lc=1
+ lc = lc + nsiz*double(code(lc)) + 1
+ lc = lc + nsiz*double(code(lc)) + 1
+ long=code(lc)
+ lc = lc+1
+ c=code(lc:$)
+ c1=bytecodewalk(c,25,resetprof)
+ code=[code(1:lc-2) int32(size(c1,"*")) c1]
+ execstr(funname+" = resume(bytecode(code))")
+endfunction
+function [c,l]=resetprof(l)
+ //reset profiling data in bytecode
+ c=int32([25 0 0]);l=l+3;
+endfunction
diff --git a/modules/functions/macros/showprofile.bin b/modules/functions/macros/showprofile.bin
new file mode 100755
index 000000000..bbc7d4fc9
--- /dev/null
+++ b/modules/functions/macros/showprofile.bin
Binary files differ
diff --git a/modules/functions/macros/showprofile.sci b/modules/functions/macros/showprofile.sci
new file mode 100755
index 000000000..1d058d62e
--- /dev/null
+++ b/modules/functions/macros/showprofile.sci
@@ -0,0 +1,39 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) 2013 - Samuel GOUGEON
+// Copyright (C) 2014 - Scilab Enterprises
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function showprofile(fun)
+ if argn(2) < 1 then
+ error(sprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "showprofile", 1));
+ end
+
+ // get profiling results
+ lst = macr2lst(fun);
+ prof = profile(lst);
+
+ // convert to string profiling results
+ nb_calls = string(prof(:,1));
+ cpu_time = string(round(100*prof(:,2))/100);
+ effort = string(prof(:,3));
+
+ // get function code
+ code = fun2string(lst, "fun");
+
+ // line numbers, right justified
+ line_numbers = string(1:size(code, "r"))';
+ line_numbers = justify(line_numbers, "r");
+
+ // left justify
+ nb_calls = justify(nb_calls, "l");
+ cpu_time = justify(cpu_time, "l");
+ effort = justify(effort, "l");
+
+ printf("|%s|%s|%s| %s: %s\n", nb_calls, cpu_time, effort, line_numbers, code);
+endfunction
diff --git a/modules/functions/macros/warnobsolete.bin b/modules/functions/macros/warnobsolete.bin
new file mode 100755
index 000000000..caf15086e
--- /dev/null
+++ b/modules/functions/macros/warnobsolete.bin
Binary files differ
diff --git a/modules/functions/macros/warnobsolete.sci b/modules/functions/macros/warnobsolete.sci
new file mode 100755
index 000000000..ad36eb355
--- /dev/null
+++ b/modules/functions/macros/warnobsolete.sci
@@ -0,0 +1,42 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Bruno JOFRET <bruno.jofret@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// This function is to warn user that he's using a deprecated function
+
+function warnobsolete(newFunctionName, scilabRemovedVersion)
+ // Modal warning is to set if this function
+ // should block execution or only print
+ // on the standard outstream
+ global %modalWarning
+
+ //Retrieve Calling function
+ [lineCall, stackCall]=where()
+ if size(stackCall,"*") < 2 then
+ error(msprintf(gettext("%s: Private function: cannot access to this function directly.\n"),"warnobsolete"));
+ end
+ // Now build the correct warning message
+ warnMessage = msprintf(_("Feature %s is obsolete."),stackCall(2))
+ if exists("newFunctionName", "l") then
+ warnMessage = [warnMessage, msprintf(_("Please use %s instead."),newFunctionName)]
+ end
+ if exists("scilabRemovedVersion", "l") then
+ warnMessage = [warnMessage, msprintf(_("This feature will be permanently removed in Scilab %s"), scilabRemovedVersion)]
+ end
+
+ // Now show the warning
+
+ if %modalWarning then
+ messagebox(warnMessage,"modal");
+ else
+ warning(warnMessage);
+ end
+
+ clear %modalWarning
+
+endfunction
diff --git a/modules/functions/sci_gateway/c/.deps/.dirstamp b/modules/functions/sci_gateway/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/.dirstamp
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo
new file mode 100755
index 000000000..4d465fc16
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo
@@ -0,0 +1,285 @@
+sci_gateway/c/libscifunctions_la-gw_functions.lo: \
+ sci_gateway/c/gw_functions.c /usr/include/stdc-predef.h \
+ includes/gw_functions.h includes/dynlib_functions.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/callFunctionFromGateway.h \
+ ../../modules/core/includes/recursionFunction.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/callFunctionFromGateway.h:
+
+../../modules/core/includes/recursionFunction.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo
new file mode 100755
index 000000000..6fa7d8252
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo
@@ -0,0 +1,11 @@
+sci_gateway/c/libscifunctions_la-sci_deff.lo: sci_gateway/c/sci_deff.c \
+ /usr/include/stdc-predef.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo
new file mode 100755
index 000000000..8b5638d52
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo
@@ -0,0 +1,301 @@
+sci_gateway/c/libscifunctions_la-sci_exec.lo: sci_gateway/c/sci_exec.c \
+ /usr/include/stdc-predef.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/recursionFunction.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/recursionFunction.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo
new file mode 100755
index 000000000..261b0c80c
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo
@@ -0,0 +1,302 @@
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: \
+ sci_gateway/c/sci_execstr.c /usr/include/stdc-predef.h \
+ includes/gw_functions.h includes/dynlib_functions.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/recursionFunction.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/recursionFunction.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo
new file mode 100755
index 000000000..c59b01d26
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo
@@ -0,0 +1,307 @@
+sci_gateway/c/libscifunctions_la-sci_lib.lo: sci_gateway/c/sci_lib.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/fileio/includes/FileExist.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/fileio/includes/getFullFilename.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/fileio/includes/getFullFilename.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo
new file mode 100755
index 000000000..fcfc7039f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo
@@ -0,0 +1,221 @@
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: \
+ sci_gateway/c/sci_librarieslist.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h includes/librarieslist.h \
+ includes/dynlib_functions.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/freeArrayOfString.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/librarieslist.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo
new file mode 100755
index 000000000..aba2d37e6
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo
@@ -0,0 +1,301 @@
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: \
+ sci_gateway/c/sci_libraryinfo.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h includes/libraryinfo.h \
+ includes/dynlib_functions.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/libraryinfo.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo
new file mode 100755
index 000000000..2ef5af98d
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo
@@ -0,0 +1,299 @@
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: \
+ sci_gateway/c/sci_whereis.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ src/c/searchmacroinlibraries.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+src/c/searchmacroinlibraries.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/functions/sci_gateway/c/.dirstamp b/modules/functions/sci_gateway/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.dirstamp
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o
new file mode 100755
index 000000000..51bdf3ae0
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o
new file mode 100755
index 000000000..773c2c51f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o
new file mode 100755
index 000000000..0cfddf152
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o
new file mode 100755
index 000000000..2804fcfa3
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o
new file mode 100755
index 000000000..a62a2b7ea
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o
new file mode 100755
index 000000000..0821909b6
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o
new file mode 100755
index 000000000..132f0d96b
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o
new file mode 100755
index 000000000..74411c4cf
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/gw_functions.c b/modules/functions/sci_gateway/c/gw_functions.c
new file mode 100755
index 000000000..5bf30f764
--- /dev/null
+++ b/modules/functions/sci_gateway/c/gw_functions.c
@@ -0,0 +1,78 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+#include "callFunctionFromGateway.h"
+#include "recursionFunction.h"
+/*--------------------------------------------------------------------------*/
+static int sci_getf(char *fname, unsigned long fname_len)
+{
+ // Because we do not want change order in gateway
+ // empty function
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+static gw_generic_table Tab[] =
+{
+ {C2F(sci_lib), "lib"},
+ {C2F(sci_deff), "deff"},
+ {sci_getf, "getf"},
+ {C2F(sci_exec), "exec"},
+ {C2F(sci_execstr), "execstr"},
+ {sci_librarieslist, "librarieslist"},
+ {sci_libraryinfo, "libraryinfo"},
+ {sci_whereis, "whereis"}
+};
+/*--------------------------------------------------------------------------*/
+int gw_functions(void)
+{
+ Rhs = Max(0, Rhs);
+
+ if ( isRecursionCallToFunction() )
+ {
+ switch ( getRecursionFunctionToCall() )
+ {
+ case RECURSION_CALL_DEFF:
+#define deff_fname "deff"
+ C2F(sci_deff)(deff_fname, (unsigned long)strlen(deff_fname));
+ return 0;
+
+ case RECURSION_CALL_EXEC1:
+ case RECURSION_CALL_EXEC2:
+#define exec_fname "exec"
+ C2F(sci_exec)(exec_fname, (unsigned long)strlen(exec_fname));
+ return 0;
+
+ case RECURSION_CALL_EXECSTR:
+#define execstr_fname "execstr"
+ C2F(sci_execstr)(execstr_fname, (unsigned long)strlen(execstr_fname));
+ return 0;
+
+ default:
+ return 0;
+ }
+ }
+
+ if (pvApiCtx == NULL)
+ {
+ pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx));
+ }
+
+ pvApiCtx->pstName = (char*)Tab[Fin - 1].name;
+ callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo b/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo
new file mode 100755
index 000000000..ae6488560
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-gw_functions.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-gw_functions.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo
new file mode 100755
index 000000000..bf6e7dede
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_deff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_deff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo
new file mode 100755
index 000000000..1f2f01a15
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_exec.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_exec.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo
new file mode 100755
index 000000000..c9383cda2
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_execstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_execstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo
new file mode 100755
index 000000000..85841319a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_lib.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_lib.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo
new file mode 100755
index 000000000..766116f2f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_librarieslist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_librarieslist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
new file mode 100755
index 000000000..10a7cf235
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_libraryinfo.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo
new file mode 100755
index 000000000..0462feec4
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_whereis.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_whereis.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/sci_deff.c b/modules/functions/sci_gateway/c/sci_deff.c
new file mode 100755
index 000000000..0acef981a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_deff.c
@@ -0,0 +1,22 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intdeff)();
+/*--------------------------------------------------------------------------*/
+int C2F(sci_deff)(char *fname, unsigned long fname_len)
+{
+ C2F(intdeff)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_exec.c b/modules/functions/sci_gateway/c/sci_exec.c
new file mode 100755
index 000000000..37c754bda
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_exec.c
@@ -0,0 +1,308 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "machine.h"
+#include "recursionFunction.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intexec)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+#define ERRCATCH_KEYWORD "errcatch"
+/*--------------------------------------------------------------------------*/
+int C2F(sci_exec)(char *fname, unsigned long fname_len)
+{
+ if ( isRecursionCallToFunction() )
+ {
+ C2F(intexec)(fname, fname_len);
+ }
+ else
+ {
+ SciErr sciErr;
+
+ int iType1 = 0;
+ int iType2 = 0;
+ int iType3 = 0;
+
+ int *piAddressVarOne = NULL;
+ int *piAddressVarTwo = NULL;
+ int *piAddressVarThree = NULL;
+
+ CheckRhs(1, 3);
+ CheckLhs(0, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (Rhs > 1)
+ {
+ sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ sciErr = getVarAddressFromPosition(pvApiCtx, 3, &piAddressVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarThree, &iType3);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+ }
+
+ if ((iType1 == sci_matrix) || (iType1 == sci_strings) || (iType1 == sci_c_function) | (iType1 == sci_u_function))
+ {
+ int m1 = 0, n1 = 0;
+
+ /* sci_c_function, sci_u_function not managed by getVarDimension */
+ if ( (iType1 != sci_c_function) && (iType1 != sci_u_function) )
+ {
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (m1 * n1 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+ }
+
+ if (Rhs > 1)
+ {
+ if ((iType2 != sci_matrix) && (iType2 != sci_strings))
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 2);
+ return 0;
+ }
+ else
+ {
+ if (iType2 == sci_matrix)
+ {
+ int m2 = 0, n2 = 0;
+ double *pdVarTwo = NULL;
+ int iVarTwo = 0;
+
+ sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarTwo, &m2, &n2, &pdVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (m2 * n2 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, 2);
+ return 0;
+ }
+
+ iVarTwo = (int)pdVarTwo[0];
+ if (*pdVarTwo != (double)iVarTwo)
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: An integer expected.\n"), fname, 2);
+ return 0;
+ }
+ }
+ else /* sci_strings */
+ {
+ int m2 = 0, n2 = 0;
+ char *pStVarTwo = NULL;
+ int lenStVarTwo = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ pStVarTwo = (char*)MALLOC(sizeof(char) * (lenStVarTwo + 1));
+ if (pStVarTwo)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (strcmp(pStVarTwo, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 2);
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ return 0;
+ }
+
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ BOOL bCombo = FALSE;
+ if ((iType3 != sci_matrix) && (iType3 != sci_strings))
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 3);
+ return 0;
+ }
+ else
+ {
+ if (iType3 == sci_matrix)
+ {
+ int m3 = 0, n3 = 0;
+ double *pdVarThree = NULL;
+ int iVarThree = 0;
+
+ sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarThree, &m3, &n3, &pdVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (m3 * n3 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, 3);
+ return 0;
+ }
+
+ iVarThree = (int)pdVarThree[0];
+ if (*pdVarThree != (double)iVarThree)
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: An integer expected.\n"), fname, 3);
+ return 0;
+ }
+ }
+ else /* sci_strings */
+ {
+ int m3 = 0, n3 = 0;
+ char *pStVarThree = NULL;
+ int lenStVarThree = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ pStVarThree = (char*)MALLOC(sizeof(char) * (lenStVarThree + 1));
+ if (pStVarThree)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (strcmp(pStVarThree, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 3);
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ return 0;
+ }
+
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s : Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ }
+
+ if ((iType2 == sci_strings) && (iType3 == sci_matrix))
+ {
+ bCombo = TRUE;
+ }
+
+ if (!bCombo)
+ {
+ Scierror(999, _("%s: Wrong value(s) for input argument(s).\n"), fname, 3);
+ return 0;
+ }
+ }
+
+ /* input parameters seem good */
+ C2F(intexec)(fname, fname_len);
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 1);
+ }
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_execstr.c b/modules/functions/sci_gateway/c/sci_execstr.c
new file mode 100755
index 000000000..30e43476a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_execstr.c
@@ -0,0 +1,252 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "machine.h"
+#include "recursionFunction.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intexecstr)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+#define ERRCATCH_KEYWORD "errcatch"
+#define MESSAGE_KEYWORD "m"
+#define MESSAGE_DEFAULT_KEYWORD "n"
+/*--------------------------------------------------------------------------*/
+int C2F(sci_execstr)(char *fname, unsigned long fname_len)
+{
+ if ( isRecursionCallToFunction() )
+ {
+ C2F(intexecstr)(fname, fname_len);
+ }
+ else
+ {
+ SciErr sciErr;
+
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+
+ CheckRhs(1, 3);
+ CheckLhs(0, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ /* execstr([])*/
+ if (iType1 == sci_matrix)
+ {
+ int m1 = 0, n1 = 0;
+
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ((m1 == n1) && (m1 == 0)) /* [] */
+ {
+ sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, 0, 0, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ PutLhsVar();
+ return 0;
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+ }
+
+ if (iType1 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ if (Rhs > 1)
+ {
+ int m2 = 0, n2 = 0;
+ int *piAddressVarTwo = NULL;
+ char *pStVarTwo = NULL;
+ int lenStVarTwo = 0;
+ int iType2 = 0;
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (iType2 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (m2 * n2 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 2);
+ return 0;
+ }
+
+ pStVarTwo = (char*)MALLOC(sizeof(char) * (lenStVarTwo + 1));
+ if (pStVarTwo)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (strcmp(pStVarTwo, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 2);
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ return 0;
+ }
+
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ int m3 = 0, n3 = 0;
+ int *piAddressVarThree = NULL;
+ char *pStVarThree = NULL;
+ int lenStVarThree = 0;
+ int iType3 = 0;
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 3, &piAddressVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarThree, &iType3);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (iType3 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (m3 * n3 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 3);
+ return 0;
+ }
+
+ pStVarThree = (char*)MALLOC(sizeof(char) * (lenStVarThree + 1));
+ if (pStVarThree)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if ( strcmp(pStVarThree, MESSAGE_KEYWORD) && strcmp(pStVarThree, MESSAGE_DEFAULT_KEYWORD) )
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"), fname, 3);
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ return 0;
+ }
+
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ C2F(intexecstr)(fname, fname_len);
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_lib.c b/modules/functions/sci_gateway/c/sci_lib.c
new file mode 100755
index 000000000..583aaffd8
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_lib.c
@@ -0,0 +1,167 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2006 - INRIA - Allan CORNET
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "machine.h"
+#include "FileExist.h"
+#include "getFullFilename.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+extern int C2F(intlib)();
+/*--------------------------------------------------------------------------*/
+int C2F(sci_lib)(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int m1 = 0, n1 = 0;
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+ char *pStVarOne = NULL;
+ char lib_filename[bsiz];
+ char *fullfilename = NULL;
+ int lenStVarOne = 0;
+
+ int len = 0;
+
+ /* Check the number of input argument */
+ CheckRhs(1, 1);
+
+ /* Check the number of output argument */
+ CheckLhs(1, 1);
+
+ /* get Address of inputs */
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (iType1 != sci_strings )
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m1, &n1, &lenStVarOne, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ /* check size */
+ if ( (m1 != n1) && (n1 != 1) )
+ {
+ Scierror(999, "%s: Wrong size for input argument #%d: A string expected.\n", fname, 1);
+ return 0;
+ }
+
+ pStVarOne = (char*)MALLOC(sizeof(char) * (lenStVarOne + 1));
+
+ if (pStVarOne == NULL)
+ {
+ Scierror(999, "%s: Memory allocation error.\n", fname);
+ return 0;
+ }
+
+ /* get string One */
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m1, &n1, &lenStVarOne, &pStVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ( (pStVarOne[strlen(pStVarOne) - 1] != '/') &&
+ (pStVarOne[strlen(pStVarOne) - 1] != '\\') )
+ {
+ pStVarOne = (char*)REALLOC(pStVarOne, (strlen(pStVarOne) + strlen(DIR_SEPARATOR) + 1) * sizeof(char));
+ if (pStVarOne)
+ {
+ strcat(pStVarOne, DIR_SEPARATOR);
+ }
+ else
+ {
+ Scierror(999, "%s: Memory allocation error.\n", fname);
+ return 0;
+ }
+ }
+
+ /* getfullfilename only if we need */
+ if (strchr(pStVarOne, '.') != NULL)
+ {
+ fullfilename = getFullFilename(pStVarOne);
+ }
+ else
+ {
+ fullfilename = strdup(pStVarOne);
+ }
+
+ if (fullfilename)
+ {
+ if ((int)strlen(fullfilename) >= bsiz)
+ {
+ strncpy(lib_filename, fullfilename, bsiz - 1);
+ lib_filename[bsiz - 1] = '\0';
+ }
+ else
+ {
+ strcpy(lib_filename, fullfilename);
+ }
+
+ FREE(fullfilename);
+ fullfilename = NULL;
+ }
+ else
+ {
+ if ((int)strlen(pStVarOne) >= bsiz)
+ {
+ strncpy(lib_filename, pStVarOne, bsiz - 1);
+ lib_filename[bsiz - 1] = '\0';
+ }
+ else
+ {
+ strcpy(lib_filename, pStVarOne);
+ }
+ }
+
+ if (pStVarOne)
+ {
+ FREE(pStVarOne);
+ pStVarOne = NULL;
+ }
+
+ len = (int)strlen(lib_filename);
+ C2F(intlib)(&len, lib_filename);
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_librarieslist.c b/modules/functions/sci_gateway/c/sci_librarieslist.c
new file mode 100755
index 000000000..50178d71e
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_librarieslist.c
@@ -0,0 +1,48 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include "gw_core.h"
+#include "stack-c.h"
+#include "librarieslist.h"
+#include "MALLOC.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+int sci_librarieslist(char *fname, unsigned long fname_len)
+{
+ char **libraries = NULL;
+ int sizelibraries = 0;
+
+ CheckRhs(0, 0);
+ CheckLhs(0, 1);
+
+ libraries = getlibrarieslist(&sizelibraries);
+
+ if (libraries)
+ {
+ int m = 0, n = 0;
+ m = sizelibraries;
+ n = 1;
+ CreateVarFromPtr(Rhs + 1, MATRIX_OF_STRING_DATATYPE, &m, &n, libraries);
+ }
+ else
+ {
+ int m = 0, n = 0, l = 0;
+ CreateVarFromPtr(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &n, &m, &l);
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(libraries, sizelibraries);
+
+ PutLhsVar();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_libraryinfo.c b/modules/functions/sci_gateway/c/sci_libraryinfo.c
new file mode 100755
index 000000000..d1fbc1f0e
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_libraryinfo.c
@@ -0,0 +1,131 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007 - INRIA - Allan CORNET
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#include "gw_core.h"
+#include "api_scilab.h"
+#include "libraryinfo.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+int sci_libraryinfo(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+
+ CheckRhs(1, 1);
+ CheckLhs(1, 2);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (isStringType(pvApiCtx, piAddressVarOne))
+ {
+ char *libraryname = NULL;
+
+ if (!isScalar(pvApiCtx, piAddressVarOne))
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: String expected.\n"), fname, 1);
+ return 0;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, piAddressVarOne, &libraryname) == 0)
+ {
+ if (libraryname)
+ {
+ char *pathlibrary = getlibrarypath(libraryname);
+ if (pathlibrary)
+ {
+ int sizemacrosarray = 0;
+ char **macros = getlistmacrosfromlibrary(libraryname, &sizemacrosarray);
+ if (macros)
+ {
+ int m = sizemacrosarray;
+ int n = 1;
+
+ sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, m, n, macros);
+ if (sciErr.iErr)
+ {
+ freeArrayOfString(macros, sizemacrosarray);
+ if (pathlibrary)
+ {
+ FREE(pathlibrary);
+ pathlibrary = NULL;
+ }
+
+ if (libraryname)
+ {
+ freeAllocatedSingleString(libraryname);
+ libraryname = NULL;
+ }
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ else
+ {
+ createEmptyMatrix(pvApiCtx, Rhs + 1);
+ }
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(macros, sizemacrosarray);
+
+ if (Lhs == 2)
+ {
+ createSingleString(pvApiCtx, Rhs + 2, pathlibrary);
+ LhsVar(2) = Rhs + 2;
+ }
+
+ if (pathlibrary)
+ {
+ FREE(pathlibrary);
+ pathlibrary = NULL;
+ }
+
+ PutLhsVar();
+ }
+ else
+ {
+ Scierror(999, _("%s: Invalid library %s.\n"), fname, libraryname);
+ }
+
+ if (libraryname)
+ {
+ freeAllocatedSingleString(libraryname);
+ libraryname = NULL;
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type of input argument #%d: String expected.\n"), fname, 1);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_whereis.c b/modules/functions/sci_gateway/c/sci_whereis.c
new file mode 100755
index 000000000..658a7f57c
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_whereis.c
@@ -0,0 +1,159 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "gw_core.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "searchmacroinlibraries.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(whereismacro)();
+/*--------------------------------------------------------------------------*/
+int sci_whereis(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+
+ /* Check the number of input argument */
+ CheckRhs(1, 1);
+
+ /* Check the number of output argument */
+ CheckLhs(1, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+
+ if ( (iType1 == sci_u_function) || (iType1 == sci_c_function) )
+ {
+ /* bug 5507 */
+ /* getVarDimension does not (yet) manage theses scilab types. */
+
+ /*
+ int m = 0, n = 0;
+
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m, &n);
+ if(sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 0;
+ }
+
+ if ( (m != n) && (n != 1) )
+ {
+ Scierror(999,_("%s: Wrong size for input argument #%d: A function-name expected.\n"),fname,1);
+ return 0;
+ }
+ */
+
+ /* to rewrite with new API when it will be possible */
+ C2F(whereismacro)();
+ }
+ else if (iType1 == sci_strings)
+ {
+ char *pStVarOne = NULL;
+ int lenStVarOne = 0;
+ int m = 0, n = 0;
+
+ char **librariesResult = NULL;
+ int librariesResultSize = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &lenStVarOne, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ( (m != n) && (n != 1) )
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ pStVarOne = (char*)MALLOC(sizeof(char) * (lenStVarOne + 1));
+ if (pStVarOne == NULL)
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &lenStVarOne, &pStVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ librariesResult = searchmacroinlibraries(pStVarOne, &librariesResultSize);
+
+ if ( (librariesResultSize == 0) || (librariesResult == NULL) )
+ {
+ // return []
+ sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, 0, 0, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ else
+ {
+ int m_out = librariesResultSize;
+ int n_out = 1;
+
+ sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, m_out, n_out, librariesResult);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(librariesResult, librariesResultSize);
+ if (pStVarOne)
+ {
+ FREE(pStVarOne);
+ pStVarOne = NULL;
+ }
+
+ PutLhsVar();
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 1);
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/fortran/.deps/.dirstamp b/modules/functions/sci_gateway/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.deps/.dirstamp
diff --git a/modules/functions/sci_gateway/fortran/.dirstamp b/modules/functions/sci_gateway/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.dirstamp
diff --git a/modules/functions/sci_gateway/fortran/.libs/intdeff.o b/modules/functions/sci_gateway/fortran/.libs/intdeff.o
new file mode 100755
index 000000000..c36ec68c5
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intdeff.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intexec.o b/modules/functions/sci_gateway/fortran/.libs/intexec.o
new file mode 100755
index 000000000..322ab9a19
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intexec.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intexecstr.o b/modules/functions/sci_gateway/fortran/.libs/intexecstr.o
new file mode 100755
index 000000000..466ae1732
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intexecstr.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intlib.o b/modules/functions/sci_gateway/fortran/.libs/intlib.o
new file mode 100755
index 000000000..c3730cc85
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intlib.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/intdeff.f b/modules/functions/sci_gateway/fortran/intdeff.f
new file mode 100755
index 000000000..acbffe32a
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intdeff.f
@@ -0,0 +1,82 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intdeff
+
+ INCLUDE 'stack.h'
+c
+ integer top0
+ integer nocomp,profile
+
+ logical cremat
+ integer iadr
+ character *8 caller
+
+ save icomp
+c
+ data nocomp/23/,profile/25/
+c
+ iadr(l)=l+l-1
+c
+ icomp=1
+ caller='deff'
+ if(rhs.eq.3) then
+ ilc=iadr(lstk(top))
+ if(istk(ilc).eq.10) then
+ if(istk(ilc+5+istk(ilc+1)*istk(ilc+2)).eq.nocomp) then
+ icomp=0
+ elseif(istk(ilc+5+istk(ilc+1)*istk(ilc+2)).eq.profile) then
+ icomp=2
+ endif
+ else
+ caller='function'
+ endif
+ rhs=rhs-1
+ top=top-1
+ endif
+ if(rhs.ne.2) then
+ call error(42)
+ return
+ endif
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+ top0=top-rhs+1
+ il=iadr(lstk(top))
+ nlines=1
+ call getfun(0,nlines,caller)
+ if(err.gt.0.or.err1.gt.0) goto 999
+ if(icomp.ne.0) then
+ call unsfdcopy(lstk(top+1)-lstk(top),stk(lstk(top)),1,
+ $ stk(lstk(top0)),1)
+ lstk(top0+1)=lstk(top0)+lstk(top+1)-lstk(top)
+ call putid(idstk(1,top0),idstk(1,top))
+ top=top0
+ if(icomp.eq.2) then
+ top=top+1
+ if (.not.cremat('getf',top,0,1,1,lr1,lc1)) return
+ stk(lr1)=2
+ rhs=2
+ else
+ rhs=1
+ endif
+ lhs=1
+c *call* comp
+ fun=13
+ fin=06
+ else
+ call stackp(idstk(1,top),0)
+ top=top-1
+ call objvide('deff',top)
+ fun=0
+ endif
+
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intdeff.lo b/modules/functions/sci_gateway/fortran/intdeff.lo
new file mode 100755
index 000000000..d31549e8f
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intdeff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intdeff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intdeff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intexec.f b/modules/functions/sci_gateway/fortran/intexec.f
new file mode 100755
index 000000000..59e05a252
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexec.f
@@ -0,0 +1,213 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intexec
+c interface of exec function
+
+ INCLUDE 'stack.h'
+c
+ integer flag,semi,typ
+ integer mode(2)
+ logical opened
+ integer iadr,sadr
+c
+ save opened,lunit
+c
+ data semi/43/
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (ddt .eq. 4) then
+ call writebufexec(buf,fin)
+ call basout(io,wte,' intexec '//buf(1:4))
+ endif
+c
+ if(int(rstk(pt)/100).ne.9) goto 01
+ if(rstk(pt).eq.902) goto 12
+ if(rstk(pt).eq.909) goto 16
+
+ 01 lw=lstk(top+1)
+
+ if(rhs.gt.3.or.rhs.lt.1) then
+ call error(42)
+ return
+ endif
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+
+c options handling
+c---------------------
+c default options values
+ flag = 3
+ if (sym .eq. semi) flag = 0
+ icheck=0
+c
+ if(rhs.gt.1) then
+c . specified options
+ do 11 ir=2,rhs
+ ilopt=iadr(lstk(top))
+ if(istk(ilopt).lt.0) ilopt=iadr(istk(ilopt+1))
+ if(istk(ilopt).eq.1) then
+c . mode given
+ flag = int(stk(sadr(ilopt+4)))
+ elseif(istk(ilopt).eq.10) then
+c . error control
+ icheck=1
+ else
+ call error(44)
+ return
+ endif
+ top=top-1
+ 11 continue
+ endif
+ if(flag.ge.4) then
+ call basout(io,wte,
+ $ 'step-by-step mode: enter carriage return to proceed')
+ endif
+ il=iadr(lstk(top))
+ typ=abs(istk(il))
+ if(typ.eq.1.or.typ.eq.10) then
+c . exec of a file , opening file
+ call v2cunit(top,'rb',lunit,opened,ierr)
+ if(ierr.gt.0) return
+ top=top-1
+ typ=1
+ elseif(typ.eq.11.or.typ.eq.13) then
+c . exec of a function
+ typ=0
+ else
+ err=1
+ call error(44)
+ return
+ endif
+c
+ pt=pt+1
+c preserve current error recovery modes
+ ids(2,pt)=errct
+ ids(3,pt)=err2
+ ids(4,pt)=err1
+ ids(5,pt)=errpt
+c set error recovery modes
+ if(icheck.eq.0) then
+ ids(1,pt)=0
+ else
+c ids(1,pt)=1+toperr
+c toperr=top
+ ids(1,pt)=1+top
+ errpt=pt
+ imode=1
+ imess=1
+ num=-1
+ errct=(8*imess+imode)*100000+abs(num)
+ if(num.lt.0) errct=-errct
+ endif
+
+ if(typ.eq.0) goto 15
+
+c exec of a file
+c ---------------
+ pstk(pt)=rio
+ rio = lunit
+ rstk(pt)=902
+
+ ids(6,pt)=0
+ if(opened) ids(6,pt)=1
+ icall=5
+ fin=flag
+c *call* macro
+ go to 999
+ 12 continue
+ opened=ids(6,pt).eq.1
+ if(.not.opened) call clunit(-rio,buf,mode)
+ rio=pstk(pt)
+ top=top+1
+ lhs=1
+ if(ids(1,pt).gt.0) then
+c return error number
+ top=ids(1,pt)
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err1,err2)
+ lstk(top+1)=l+1
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+ pt=pt-1
+ goto 999
+
+
+c exec of a function
+c ------------------
+ 15 continue
+ fin=lstk(top)
+ pstk(pt)=flag
+
+ rstk(pt)=909
+ icall=5
+c *call* macro
+ go to 999
+ 16 lhs=1
+ if(ids(1,pt).gt.0) then
+c return error number
+ top=ids(1,pt)-1
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err1,err2)
+ lstk(top+1)=l+1
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+ pt=pt-1
+ goto 999
+c
+ 999 return
+ end
+c ====================================
+c required by f2c :(
+c ====================================
+ subroutine writebufexec(buffer,line)
+
+ character*(*) buffer
+ integer line
+ write(buffer(1:4),'(i4)') line
+
+ end
+c ==================================== \ No newline at end of file
diff --git a/modules/functions/sci_gateway/fortran/intexec.lo b/modules/functions/sci_gateway/fortran/intexec.lo
new file mode 100755
index 000000000..2b13fecd2
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexec.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intexec.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intexec.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intexecstr.f b/modules/functions/sci_gateway/fortran/intexecstr.f
new file mode 100755
index 000000000..ec7f6820a
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexecstr.f
@@ -0,0 +1,166 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c ...
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intexecstr
+c Bug 1054 corrected by Francois VOGEL, October 2004
+ INCLUDE 'stack.h'
+c
+ integer retu(6),comma,eol,topk
+ logical getsmat,checklhs,checkrhs,checkval
+ integer iadr,sadr
+c
+ data retu/27,14,29,30,27,23/,comma/52/,eol/99/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(rstk(pt).eq.903) goto 24
+
+
+ rhs=max(0,rhs)
+ topk=top
+
+ if(.not.checklhs('execstr',0,1)) return
+ if(.not.checkrhs('execstr',1,3)) return
+
+ imess=1
+ if(rhs.eq.3) then
+ if(.not.getsmat('execstr',topk,top,m,n,1,1,il1,n1)) return
+ if(.not.checkval('execstr',m*n,1) ) return
+ l=abs(istk(il1))
+ if(l.eq.22) imess=0
+ top=top-1
+ endif
+ if(rhs.ge.2) then
+ if(.not.getsmat('execstr',topk,top,m,n,1,1,il1,n1)) return
+ if(.not.checkval('execstr',m*n,1) ) return
+ top=top-1
+ icheck=1
+ else
+ icheck=0
+ endif
+ rhs=1
+ lw=lstk(top+1)
+ il=iadr(lstk(top))
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+ if(istk(il).ne.10) then
+ if(istk(il).eq.1.and.istk(il+1).eq.0) then
+ if (icheck.eq.1) then
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=0
+ lstk(top+1)=l+1
+ else
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ endif
+ return
+ endif
+ err=1
+ call error(55)
+ return
+ endif
+ n=istk(il+1)*istk(il+2)
+ l=il+5+n
+ if(n.gt.1) then
+c . add <eol> at the end of the first n-1 lines
+ i1=n-1
+ do 21 i=n,2,-1
+ ld=l+istk(il+3+i)-1
+ ln=istk(il+4+i)-istk(il+3+i)
+ call icopy(ln,istk(ld),-1,istk(ld+i1),-1)
+ i1=i1-1
+ istk(ld+i1)=eol
+ istk(il+4+i)=istk(il+4+i)+i-1
+ 21 continue
+ endif
+c add "<eol>,return,<eol><eol>" at the end of the last line
+ l1=l-1+istk(l-1)
+ istk(l1)=eol
+ l1=l1+1
+ istk(l1)=comma
+ l1=l1+1
+ call icopy(6,retu,1,istk(l1),1)
+ l1=l1+6
+ istk(l1)=comma
+ l1=l1+1
+ istk(l1)=eol
+ l1=l1+1
+ istk(l1)=eol
+ istk(l-1)=istk(l-1)+11
+ lstk(top+1)=sadr(l1)+1
+c
+ fin=lstk(top)
+ pt=pt+1
+ pstk(pt)=top
+ rstk(pt)=903
+c error control
+ ids(2,pt)=errct
+ ids(3,pt)=err2
+ ids(4,pt)=err1
+ ids(5,pt)=errpt
+ ids(6,pt)=(lct(4)+100)+10000*sym
+ if(icheck.eq.0) then
+ ids(1,pt)=0
+ if(errct.ne.0) then
+ imode=abs(errct/100000)
+ imode=imode-8*int(imode/8)
+ endif
+ if (imode.ne.0) errpt=pt
+ else
+ errpt=pt
+ ids(1,pt)=1
+ imode=1
+ num=-1
+ errct=(8*imess+imode)*100000+abs(num)
+ if(num.lt.0) errct=-errct
+ endif
+ icall=5
+c *call* macro
+ go to 999
+ 24 continue
+ if(ids(1,pt).eq.1) then
+c . error recovery required: return error number
+ top=pstk(pt)
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err2,err1)
+ lstk(top+1)=l+1
+ sym=ids(6,pt)/10000
+ lct(4)=ids(6,pt)-10000*sym-100
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+
+ pt=pt-1
+
+ goto 999
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intexecstr.lo b/modules/functions/sci_gateway/fortran/intexecstr.lo
new file mode 100755
index 000000000..3ad7db545
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexecstr.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intexecstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intexecstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intlib.f b/modules/functions/sci_gateway/fortran/intlib.f
new file mode 100755
index 000000000..1d32aea55
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intlib.f
@@ -0,0 +1,109 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intlib(lendirlib, libdir)
+ INCLUDE 'stack.h'
+ CHARACTER*(*) libdir
+ integer lendirlib
+ integer percen,mode(2),id(nlgh)
+ integer iadr,sadr
+c
+ data percen/56/
+ data nclas/29/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+
+c path du repertoire
+ il=iadr(lstk(top))
+ n=lendirlib
+ call cvstr(lendirlib,istk(il+2),libdir,0)
+
+ istk(il+1)=lendirlib
+ istk(il)=14
+ il0=il+2+lendirlib
+ ilc=il0+1
+ iln=ilc+nclas+1
+c
+c ouverture du fichier names
+ call cvstr(n,istk(il+2),buf,1)
+ buf=libdir(1:n)//'names'
+ mode(1)=-1
+ lunit=0
+ len = n + 5
+ call getshortpathname(buf(1:len),len)
+ call clunit(lunit,buf(1:len),mode)
+ if(err.gt.0) then
+ buf(n+6:)=' '
+ call error(err)
+ return
+ endif
+ m=0
+ il=iln
+c lecture des noms
+ 131 read(lunit,'(a)',err=139,end=132) buf
+ err=sadr(il+nsiz)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call cvname(istk(il),buf(1:nlgh),0)
+ il=il+nsiz
+ m=m+1
+ goto 131
+ 132 continue
+ mode(1)=0
+ mode(2)=0
+ call clunit(-lunit,' ',mode)
+c tri dans l'ordre alphabetique
+ il2=il+1
+ err=sadr(il2+(nsiz+1)*m)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call icopy(nsiz*m,istk(iln),1,istk(il2),1)
+ call iset(nclas+1,0,istk(ilc),1)
+ il=iln
+ il1=il
+ do 133 i=1,m
+ call namstr(istk(il),id,nn,1)
+ ic=abs(id(1))
+ if(ic.eq.percen) then
+ ic=abs(id(2))
+ endif
+ ic=min(nclas,max(1,ic-9))
+ istk(ilc+ic)=istk(ilc+ic)+1
+ istk(il1)=ic
+ il=il+nsiz
+ il1=il1+1
+ 133 continue
+ il1=il2+m*nsiz
+ call isort(istk(iln),m,istk(il1))
+ il1=il1+m
+ il=iln
+ do 134 i=1,m
+ il1=il1-1
+ ic=istk(il1)
+ call putid(istk(il),istk(il2+nsiz*(ic-1)))
+ il=il+nsiz
+ 134 continue
+c table des pointeurs
+ istk(ilc)=1
+ do 135 i=1,nclas
+ istk(ilc+i)=istk(ilc+i-1)+istk(ilc+i)
+ 135 continue
+ istk(il0)=m
+ lstk(top+1)=sadr(iln+m*nsiz)
+ goto 999
+c
+ 139 call error(49)
+ call clunit(-lunit,buf,mode)
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intlib.lo b/modules/functions/sci_gateway/fortran/intlib.lo
new file mode 100755
index 000000000..831d8993b
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intlib.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intlib.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intlib.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/functions_gateway.xml b/modules/functions/sci_gateway/functions_gateway.xml
new file mode 100755
index 000000000..0cb7b6f6d
--- /dev/null
+++ b/modules/functions/sci_gateway/functions_gateway.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<!--
+ Scilab
+ Interface description. In this file, we define the list of the function which
+ will be available into Scilab and the link to the "native" function.
+
+ gatewayId is the position in the hashtable 'Interfaces' defined in the
+ file SCI/modules/core/src/c/callinterf.h
+
+ primitiveId is the position in the hashtable '<module>Table Tab[]' defined
+ in the file modules/<module>/sci_gateway/c/gw_<module>.c
+
+ primitiveName is the name of the Scilab function
+
+ Don't touch if you do not know what you are doing
+-->
+
+<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
+<GATEWAY name="functions">
+ <PRIMITIVE gatewayId="31" primitiveId="1" primitiveName="lib" />
+ <PRIMITIVE gatewayId="31" primitiveId="2" primitiveName="deff" />
+ <PRIMITIVE gatewayId="31" primitiveId="4" primitiveName="exec" />
+ <PRIMITIVE gatewayId="31" primitiveId="5" primitiveName="execstr" />
+ <PRIMITIVE gatewayId="31" primitiveId="6" primitiveName="librarieslist" />
+ <PRIMITIVE gatewayId="31" primitiveId="7" primitiveName="libraryinfo" />
+ <PRIMITIVE gatewayId="31" primitiveId="8" primitiveName="whereis" />
+
+</GATEWAY>
diff --git a/modules/functions/scripts/buildmacros/BuildMacros.vcxproj b/modules/functions/scripts/buildmacros/BuildMacros.vcxproj
new file mode 100755
index 000000000..a04a11479
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/BuildMacros.vcxproj
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{66F2FB48-5D68-4445-A856-119F685A371B}</ProjectGuid>
+ <RootNamespace>BuildMacros</RootNamespace>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\bin\scilex -l en_US -ns -nwni -f buildmacros.sce
+exit /B 0</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">call cleanmacros.bat
+"$(SolutionDir)bin\scilex" -l en_US -ns -nwni -f "$(ProjectDir)buildmacros.sce"
+exit /B 0</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cleanmacros.bat</NMakeCleanCommandLine>
+ <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
+ <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
+ <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\..\bin\scilex -l en_US -ns -nwni -f buildmacros.sce
+exit /B 0</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">call cleanmacros.bat
+"$(SolutionDir)bin\scilex" -l en_US -ns -nwni -f "$(ProjectDir)buildmacros.sce"
+exit /B 0</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cleanmacros.bat</NMakeCleanCommandLine>
+ <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
+ <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
+ <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\bin\scilex -l en_US -ns -nwni -f buildmacros.sce
+exit /B 0</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">call cleanmacros.bat
+"$(SolutionDir)bin\scilex" -l en_US -ns -nwni -f "$(ProjectDir)buildmacros.sce"
+exit /B 0</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cleanmacros.bat</NMakeCleanCommandLine>
+ <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
+ <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
+ <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\..\bin\scilex -l en_US -ns -nwni -f buildmacros.sce
+exit /B 0</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">call cleanmacros.bat
+"$(SolutionDir)bin\scilex" -l en_US -ns -nwni -f "$(ProjectDir)buildmacros.sce"
+exit /B 0</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cleanmacros.bat</NMakeCleanCommandLine>
+ <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
+ <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
+ <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <None Include="buildmacros.sce" />
+ <None Include="cleanmacros.sce" />
+ <None Include="loadgenlib.sce" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\windows_tools\src\c\CScilex\CScilex.vcxproj">
+ <Project>{9ba6f7e4-ae64-4fd9-a5a7-0996a8b73b77}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/scripts/buildmacros/BuildMacros.vcxproj.filters b/modules/functions/scripts/buildmacros/BuildMacros.vcxproj.filters
new file mode 100755
index 000000000..341ba1a4c
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/BuildMacros.vcxproj.filters
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{24208bff-fcb1-41c8-8b49-d4d921fa09cc}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{65c3421f-36a1-4bf3-be49-c77f32611504}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{10503c39-c1bf-4b23-a00b-1bf9550012b8}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="buildmacros.sce">
+ <Filter>Source Files</Filter>
+ </None>
+ <None Include="cleanmacros.sce">
+ <Filter>Source Files</Filter>
+ </None>
+ <None Include="loadgenlib.sce">
+ <Filter>Source Files</Filter>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/scripts/buildmacros/Makefile b/modules/functions/scripts/buildmacros/Makefile
new file mode 100755
index 000000000..59ced8d3d
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/Makefile
@@ -0,0 +1,13 @@
+SHELL = /bin/sh
+
+#include ../Path.incl
+#include ../Makefile.incl
+
+#CFLAGS = $(CC_OPTIONS)
+
+all::
+ ../../../../.libs/lt-scilex -nwni -ns -f buildmacros.sce
+
+release :
+ ../bin/scilab -nwni -ns -f buildmacros.sce
+distclean::
diff --git a/modules/functions/scripts/buildmacros/buildmacros.sce b/modules/functions/scripts/buildmacros/buildmacros.sce
new file mode 100755
index 000000000..fc4ef0b35
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/buildmacros.sce
@@ -0,0 +1,49 @@
+
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// ------------------------------------
+//warning('off'); // disable warnings
+// ------------------------------------
+
+if (isdef("genlib") == %f) then
+ exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce");
+end
+// ------------------------------------
+lines(0);
+Directories=[];
+CurrentDirectory=pwd();
+
+// set stacksize
+// because scilab.start not called when we build macros
+// Previously (wrong place), it was defined in buildmacros.sce of metanet module
+
+stacksize(5000000);
+
+modules=getmodules();
+index=size(modules);
+
+for i=1:index(1) do
+ Directories=[Directories;"SCI/modules/"+modules(i)+"/macros"];
+end
+clear modules index i
+
+Dim=size(Directories);
+
+
+for i=1:Dim(1) do
+ chdir(Directories(i));
+ if isfile("buildmacros.sce") then
+ exec("buildmacros.sce");
+ end
+ chdir(CurrentDirectory);
+end
+clear CurrentDirectory Dim Directories
+exit
+// ------------------------------------
diff --git a/modules/functions/scripts/buildmacros/cleanmacros.bat b/modules/functions/scripts/buildmacros/cleanmacros.bat
new file mode 100755
index 000000000..2fae56286
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/cleanmacros.bat
@@ -0,0 +1,16 @@
+
+rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) 2008 - INRIA
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ @rem Allan CORNET INRIA 2006
+ @cd ..\..\..\
+ @del *.bin /s 2>NUL
+ @del lib /s 2>NUL
+ @del names /s 2>NUL
+ @del *.moc /s 2>NUL
diff --git a/modules/functions/scripts/buildmacros/cleanmacros.sce b/modules/functions/scripts/buildmacros/cleanmacros.sce
new file mode 100755
index 000000000..3320b12a4
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/cleanmacros.sce
@@ -0,0 +1,31 @@
+
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+lines(0);
+
+CurrentDirectory=pwd();
+
+chdir ("SCI/modules");
+if getos() == "Windows" then
+ dos("del *.bin /s 2>NUL","-echo");
+ dos("del lib /s 2>NUL","-echo");
+ dos("del names /s 2>NUL","-echo");
+ dos("del *.moc /s 2>NUL","-echo");
+else
+ unix("rm -Rf *.bin");
+ unix("rm -Rf lib");
+ unix("rm -Rf names");
+ unix("rm -Rf *.moc");
+end
+
+chdir (CurrentDirectory);
+
+exit
+// ------------------------------------ \ No newline at end of file
diff --git a/modules/functions/scripts/buildmacros/loadgenlib.sce b/modules/functions/scripts/buildmacros/loadgenlib.sce
new file mode 100755
index 000000000..33e22e3fa
--- /dev/null
+++ b/modules/functions/scripts/buildmacros/loadgenlib.sce
@@ -0,0 +1,27 @@
+
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// Warning : order !!
+// list of : filename , module
+
+listmacrostoload = ["listfiles","fileio"
+"%c_a_c","overloading";
+"genlib","functions";
+];
+
+dim = size(listmacrostoload);
+
+for i = 1:dim(1)
+ clear(listmacrostoload(i,1));
+ exec(SCI+"/modules/"+listmacrostoload(i,2)+"/macros/"+listmacrostoload(i,1)+".sci");
+end
+clear i;
+clear dim;
+// ------------------------------------ \ No newline at end of file
diff --git a/modules/functions/src/c/.deps/.dirstamp b/modules/functions/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/src/c/.deps/.dirstamp
diff --git a/modules/functions/src/c/.deps/libscifunctions_algo_la-getmacroslist.Plo b/modules/functions/src/c/.deps/libscifunctions_algo_la-getmacroslist.Plo
new file mode 100755
index 000000000..1afb16b51
--- /dev/null
+++ b/modules/functions/src/c/.deps/libscifunctions_algo_la-getmacroslist.Plo
@@ -0,0 +1,281 @@
+src/c/libscifunctions_algo_la-getmacroslist.lo: src/c/getmacroslist.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h includes/getmacroslist.h \
+ includes/dynlib_functions.h includes/librarieslist.h \
+ includes/libraryinfo.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/freeArrayOfString.h \
+ ../../modules/core/includes/getvariablesname.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/getmacroslist.h:
+
+includes/dynlib_functions.h:
+
+includes/librarieslist.h:
+
+includes/libraryinfo.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+../../modules/core/includes/getvariablesname.h:
diff --git a/modules/functions/src/c/.deps/libscifunctions_algo_la-isScilabFunction.Plo b/modules/functions/src/c/.deps/libscifunctions_algo_la-isScilabFunction.Plo
new file mode 100755
index 000000000..b04db5a0d
--- /dev/null
+++ b/modules/functions/src/c/.deps/libscifunctions_algo_la-isScilabFunction.Plo
@@ -0,0 +1,280 @@
+src/c/libscifunctions_algo_la-isScilabFunction.lo: \
+ src/c/isScilabFunction.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/isScilabFunction.h \
+ includes/dynlib_functions.h ../../modules/core/includes/BOOL.h \
+ src/c/searchmacroinlibraries.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/Funtab.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/isScilabFunction.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/BOOL.h:
+
+src/c/searchmacroinlibraries.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/Funtab.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/functions/src/c/.deps/libscifunctions_algo_la-librarieslist.Plo b/modules/functions/src/c/.deps/libscifunctions_algo_la-librarieslist.Plo
new file mode 100755
index 000000000..9e3269699
--- /dev/null
+++ b/modules/functions/src/c/.deps/libscifunctions_algo_la-librarieslist.Plo
@@ -0,0 +1,287 @@
+src/c/libscifunctions_algo_la-librarieslist.lo: src/c/librarieslist.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h includes/librarieslist.h \
+ includes/dynlib_functions.h ../../modules/core/includes/stackinfo.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/librarieslist.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/stackinfo.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/functions/src/c/.deps/libscifunctions_algo_la-libraryinfo.Plo b/modules/functions/src/c/.deps/libscifunctions_algo_la-libraryinfo.Plo
new file mode 100755
index 000000000..fe8dc4aaa
--- /dev/null
+++ b/modules/functions/src/c/.deps/libscifunctions_algo_la-libraryinfo.Plo
@@ -0,0 +1,260 @@
+src/c/libscifunctions_algo_la-libraryinfo.lo: src/c/libraryinfo.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h includes/libraryinfo.h \
+ includes/dynlib_functions.h ../../modules/core/includes/stackinfo.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/string/includes/cvstr.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/string/includes/dynlib_string.h \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/libraryinfo.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/stackinfo.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/string/includes/cvstr.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/src/c/.deps/libscifunctions_algo_la-searchmacroinlibraries.Plo b/modules/functions/src/c/.deps/libscifunctions_algo_la-searchmacroinlibraries.Plo
new file mode 100755
index 000000000..77c9078a5
--- /dev/null
+++ b/modules/functions/src/c/.deps/libscifunctions_algo_la-searchmacroinlibraries.Plo
@@ -0,0 +1,132 @@
+src/c/libscifunctions_algo_la-searchmacroinlibraries.lo: \
+ src/c/searchmacroinlibraries.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ src/c/searchmacroinlibraries.h includes/librarieslist.h \
+ includes/dynlib_functions.h includes/libraryinfo.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/freeArrayOfString.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/searchmacroinlibraries.h:
+
+includes/librarieslist.h:
+
+includes/dynlib_functions.h:
+
+includes/libraryinfo.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/src/c/.dirstamp b/modules/functions/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/src/c/.dirstamp
diff --git a/modules/functions/src/c/.libs/libscifunctions_algo_la-getmacroslist.o b/modules/functions/src/c/.libs/libscifunctions_algo_la-getmacroslist.o
new file mode 100755
index 000000000..21d624a1e
--- /dev/null
+++ b/modules/functions/src/c/.libs/libscifunctions_algo_la-getmacroslist.o
Binary files differ
diff --git a/modules/functions/src/c/.libs/libscifunctions_algo_la-isScilabFunction.o b/modules/functions/src/c/.libs/libscifunctions_algo_la-isScilabFunction.o
new file mode 100755
index 000000000..f8679b22c
--- /dev/null
+++ b/modules/functions/src/c/.libs/libscifunctions_algo_la-isScilabFunction.o
Binary files differ
diff --git a/modules/functions/src/c/.libs/libscifunctions_algo_la-librarieslist.o b/modules/functions/src/c/.libs/libscifunctions_algo_la-librarieslist.o
new file mode 100755
index 000000000..7af75924c
--- /dev/null
+++ b/modules/functions/src/c/.libs/libscifunctions_algo_la-librarieslist.o
Binary files differ
diff --git a/modules/functions/src/c/.libs/libscifunctions_algo_la-libraryinfo.o b/modules/functions/src/c/.libs/libscifunctions_algo_la-libraryinfo.o
new file mode 100755
index 000000000..1421d4ac7
--- /dev/null
+++ b/modules/functions/src/c/.libs/libscifunctions_algo_la-libraryinfo.o
Binary files differ
diff --git a/modules/functions/src/c/.libs/libscifunctions_algo_la-searchmacroinlibraries.o b/modules/functions/src/c/.libs/libscifunctions_algo_la-searchmacroinlibraries.o
new file mode 100755
index 000000000..57e4c2272
--- /dev/null
+++ b/modules/functions/src/c/.libs/libscifunctions_algo_la-searchmacroinlibraries.o
Binary files differ
diff --git a/modules/functions/src/c/Core_f_Import.def b/modules/functions/src/c/Core_f_Import.def
new file mode 100755
index 000000000..7be29a0f0
--- /dev/null
+++ b/modules/functions/src/c/Core_f_Import.def
@@ -0,0 +1,11 @@
+ LIBRARY core_f.dll
+
+
+EXPORTS
+;
+;core_f
+;
+cvname_
+
+
+
diff --git a/modules/functions/src/c/DllmainFunctions.c b/modules/functions/src/c/DllmainFunctions.c
new file mode 100755
index 000000000..599a076ed
--- /dev/null
+++ b/modules/functions/src/c/DllmainFunctions.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/functions/src/c/core_Import.def b/modules/functions/src/c/core_Import.def
new file mode 100755
index 000000000..bad24c8df
--- /dev/null
+++ b/modules/functions/src/c/core_Import.def
@@ -0,0 +1,25 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;core
+freeArrayOfString
+getLocalVariablesName
+callFunctionFromGateway
+com_
+getRecursionFunctionToCall
+isRecursionCallToFunction
+funtab_
+stack_
+vstk_
+objptr_
+getLocalNamefromId
+getvariablesinfo_
+putlhsvar_
+intersci_
+createvarfromptr_
+checklhs_
+checkrhs_
+MyHeapAlloc
+MyHeapFree
+MyHeapRealloc
diff --git a/modules/functions/src/c/functions.rc b/modules/functions/src/c/functions.rc
new file mode 100755
index 000000000..9682e1955
--- /dev/null
+++ b/modules/functions/src/c/functions.rc
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "functions module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "functions module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "functions.dll"
+ VALUE "ProductName", "functions module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/functions/src/c/functions.vcxproj b/modules/functions/src/c/functions.vcxproj
new file mode 100755
index 000000000..4ead291d6
--- /dev/null
+++ b/modules/functions/src/c/functions.vcxproj
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{53A01263-92BE-4C87-AA9A-79297F882310}</ProjectGuid>
+ <RootNamespace>functions</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../localization/includes;../../../call_scilab/includes;../../../string/includes;../../../output_stream/includes;../../../api_scilab/includes;../../../core/includes;../../../../libs/intl;../../../fileio/includes;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;FUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;functions_f.lib;core_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../localization/includes;../../../call_scilab/includes;../../../string/includes;../../../output_stream/includes;../../../api_scilab/includes;../../../core/includes;../../../../libs/intl;../../../fileio/includes;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;FUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;functions_f.lib;core_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../localization/includes;../../../call_scilab/includes;../../../string/includes;../../../output_stream/includes;../../../api_scilab/includes;../../../core/includes;../../../../libs/intl;../../../fileio/includes;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;FUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;functions_f.lib;core_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../localization/includes;../../../call_scilab/includes;../../../string/includes;../../../output_stream/includes;../../../api_scilab/includes;../../../core/includes;../../../../libs/intl;../../../fileio/includes;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;FUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;functions_f.lib;core_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainFunctions.c" />
+ <ClCompile Include="getmacroslist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\gw_functions.c" />
+ <ClCompile Include="isScilabFunction.c" />
+ <ClCompile Include="librarieslist.c" />
+ <ClCompile Include="libraryinfo.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_deff.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_exec.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_execstr.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_lib.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_librarieslist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_libraryinfo.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_whereis.c" />
+ <ClCompile Include="searchmacroinlibraries.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_functions.h" />
+ <ClInclude Include="..\..\includes\getmacroslist.h" />
+ <ClInclude Include="..\..\includes\gw_functions.h" />
+ <ClInclude Include="..\..\includes\isScilabFunction.h" />
+ <ClInclude Include="..\..\includes\librarieslist.h" />
+ <ClInclude Include="..\..\includes\libraryinfo.h" />
+ <ClInclude Include="searchmacroinlibraries.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\locales\functions.pot" />
+ <None Include="Core_f_Import.def" />
+ <None Include="functions_f_Import.def" />
+ <None Include="core_import.def" />
+ <None Include="..\..\functions.iss" />
+ <None Include="..\..\sci_gateway\functions_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="functions.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
+ <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\fileio\fileio.vcxproj">
+ <Project>{4fc72d4a-80ee-4b1a-8724-0201c1a35621}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\localization\src\localization.vcxproj">
+ <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
+ <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\string\src\c\string.vcxproj">
+ <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\windows_tools\src\c\scilab_windows\scilab_windows.vcxproj">
+ <Project>{8028f371-6a94-4a26-8804-6e7f05f1d1aa}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/src/c/functions.vcxproj.filters b/modules/functions/src/c/functions.vcxproj.filters
new file mode 100755
index 000000000..481f59169
--- /dev/null
+++ b/modules/functions/src/c/functions.vcxproj.filters
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{037589fc-0efb-41b6-97d5-d797b8b7ceb6}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{fedbe278-355f-42f1-ab7e-35da31a22603}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="localization">
+ <UniqueIdentifier>{c9c0c8f5-7f1c-46c5-a19b-9a29a74d5698}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{24a3105a-3877-407d-b8bc-15921b089523}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies\Imports">
+ <UniqueIdentifier>{aa7bde1d-d53e-4c6e-bce6-7f433a95a7d3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{eca73cc4-590e-4274-ba62-11d58cba8c69}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainFunctions.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getmacroslist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\gw_functions.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="librarieslist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="libraryinfo.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_deff.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_exec.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_execstr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_lib.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_librarieslist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_libraryinfo.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_whereis.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="searchmacroinlibraries.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="isScilabFunction.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_functions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getmacroslist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\gw_functions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\librarieslist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\libraryinfo.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="searchmacroinlibraries.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\isScilabFunction.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="functions_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="..\..\functions.iss" />
+ <None Include="..\..\sci_gateway\functions_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\locales\functions.pot">
+ <Filter>localization</Filter>
+ </None>
+ <None Include="Core_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="functions.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/src/c/functions_f_Import.def b/modules/functions/src/c/functions_f_Import.def
new file mode 100755
index 000000000..5fa5727fa
--- /dev/null
+++ b/modules/functions/src/c/functions_f_Import.def
@@ -0,0 +1,12 @@
+LIBRARY functions_f.dll
+
+
+EXPORTS
+; ---------------------------------------
+; functions_f
+; ---------------------------------------
+intlib_
+whereismacro_
+intdeff_
+intexec_
+intexecstr_ \ No newline at end of file
diff --git a/modules/functions/src/c/getmacroslist.c b/modules/functions/src/c/getmacroslist.c
new file mode 100755
index 000000000..0504eb25c
--- /dev/null
+++ b/modules/functions/src/c/getmacroslist.c
@@ -0,0 +1,271 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * Copyright (C) 2009-2010 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h>
+#include <stdlib.h>
+#include "api_scilab.h"
+#include "sci_types.h"
+#include "getmacroslist.h"
+#include "librarieslist.h"
+#include "libraryinfo.h"
+#include "MALLOC.h"
+#include "freeArrayOfString.h"
+#include "getvariablesname.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+static char **getmacrosonstacklist(int *sizearray);
+static char **getmacrosinlibrarieslist(int *sizearray);
+static int getsizemacrosinlibrarieslist(void);
+static void RemoveDuplicateStrings(char **Strings, int *SizeStrings);
+static int cmpstr( const void *a , const void *b);
+/*--------------------------------------------------------------------------*/
+char **getmacroslist(int *sizearray)
+{
+ char **macroslist = NULL;
+
+ char **macrosonstack = NULL;
+ int sizemacrosonstack = 0;
+ char **macrosinlibraries = NULL;
+ int sizemacrosinlibraries = 0;
+
+ *sizearray = 0;
+
+ macrosonstack = getmacrosonstacklist(&sizemacrosonstack);
+ macrosinlibraries = getmacrosinlibrarieslist(&sizemacrosinlibraries);
+
+ if (macrosinlibraries || macrosonstack)
+ {
+ int nbMacros = sizemacrosonstack + sizemacrosinlibraries;
+ if (sizemacrosonstack)
+ {
+ macroslist = (char**)REALLOC(macrosinlibraries, sizeof(char*) * nbMacros);
+ if (macroslist)
+ {
+ int i = 0;
+ int j = 0;
+ for (i = sizemacrosinlibraries; i < nbMacros; i++)
+ {
+ macroslist[i] = strdup(macrosonstack[j++]);
+ }
+
+ qsort(macroslist, nbMacros, sizeof(char*), cmpstr);
+ RemoveDuplicateStrings(macroslist, &nbMacros);
+ macroslist = (char**)REALLOC(macroslist, sizeof(char*) * nbMacros);
+ *sizearray = nbMacros;
+ }
+ else
+ {
+ macroslist = macrosinlibraries;
+ *sizearray = sizemacrosinlibraries;
+ }
+ }
+ else
+ {
+ macroslist = macrosinlibraries;
+ *sizearray = sizemacrosinlibraries;
+ }
+ }
+
+ if (macrosonstack)
+ {
+ freeArrayOfString(macrosonstack, sizemacrosonstack);
+ macrosonstack = NULL;
+ }
+ return macroslist;
+}
+/*--------------------------------------------------------------------------*/
+static char **getmacrosonstacklist(int *sizearray)
+{
+ char **macroslist = NULL;
+
+ char **localvariables = NULL;
+ int sizelocalvariables = 0;
+
+ *sizearray = 0;
+ localvariables = getLocalVariablesName(&sizelocalvariables, FALSE);
+ if (localvariables)
+ {
+ int i = 0;
+ int nbMacros = 0;
+
+ for (i = 0; i < sizelocalvariables; i++)
+ {
+ int iType = 0;
+ SciErr sciErr = getNamedVarType(pvApiCtx, localvariables[i], &iType);
+ if (!sciErr.iErr)
+ {
+ if (iType == sci_c_function)
+ {
+ nbMacros++;
+ }
+ }
+ }
+
+ if (nbMacros)
+ {
+ macroslist = (char**)MALLOC(sizeof(char*) * nbMacros);
+ }
+
+ if (macroslist)
+ {
+ nbMacros = 0;
+ for (i = 0; i < sizelocalvariables; i++)
+ {
+ int iType = 0;
+ SciErr sciErr = getNamedVarType(pvApiCtx, localvariables[i], &iType);
+ if (!sciErr.iErr)
+ {
+ if (iType == sci_c_function)
+ {
+ macroslist[nbMacros++] = strdup(localvariables[i]);
+ }
+ }
+ }
+ *sizearray = nbMacros;
+ }
+
+ freeArrayOfString(localvariables, sizelocalvariables);
+ localvariables = NULL;
+ }
+ return macroslist;
+}
+/*--------------------------------------------------------------------------*/
+static char **getmacrosinlibrarieslist(int *sizearray)
+{
+ char **dictionary = NULL;
+ int sizedictionary = getsizemacrosinlibrarieslist();
+
+ *sizearray = 0;
+
+ if (sizedictionary > 0)
+ {
+ int sizelibraries = 0;
+ char **libraries = getlibrarieslist(&sizelibraries);
+
+ dictionary = (char**)MALLOC(sizeof(char*) * sizedictionary);
+
+ if (dictionary)
+ {
+ int m = 0;
+ if (libraries)
+ {
+ int i = 0;
+ for (i = 0; i < sizelibraries; i++)
+ {
+ int j = 0;
+ char **macros = NULL;
+ int sizemacros = 0;
+
+ macros = getlistmacrosfromlibrary(libraries[i], &sizemacros);
+
+ if (macros)
+ {
+ for (j = 0; j < sizemacros; j++)
+ {
+ dictionary[m] = macros[j];
+ m++;
+ }
+ FREE(macros);
+ macros = NULL;
+ }
+ }
+ *sizearray = sizedictionary;
+ }
+ }
+ else
+ {
+ *sizearray = 0;
+ }
+ freeArrayOfString(libraries, sizelibraries);
+ }
+ return dictionary;
+}
+/*--------------------------------------------------------------------------*/
+static int getsizemacrosinlibrarieslist(void)
+{
+ int sizedictionary = 0;
+ int sizelibraries = 0;
+ char **libraries = getlibrarieslist(&sizelibraries);
+
+ if (libraries)
+ {
+ int i = 0;
+ for (i = 0; i < sizelibraries; i++)
+ {
+ if (libraries[i])
+ {
+ char **macros = NULL;
+ int sizemacros = 0;
+
+ macros = getlistmacrosfromlibrary(libraries[i], &sizemacros);
+ if (macros)
+ {
+ sizedictionary = sizedictionary + sizemacros;
+
+ freeArrayOfString(macros, sizemacros);
+ }
+
+ FREE(libraries[i]);
+ libraries[i] = NULL;
+ }
+
+ }
+ FREE(libraries);
+ libraries = NULL;
+ }
+ return sizedictionary;
+}
+/*--------------------------------------------------------------------------*/
+static void RemoveDuplicateStrings(char **Strings, int *SizeStrings)
+{
+ int fin = 0, i = 0;
+ int newsize = *SizeStrings;
+
+ for (fin = *SizeStrings - 1; fin > 0; fin--)
+ {
+ int Sorted = FALSE;
+
+ for (i = 0; i < fin; i++)
+ {
+ if (Strings[i])
+ {
+ if (strcmp(Strings[i], Strings[i + 1]) == 0)
+ {
+ FREE(Strings[i + 1]);
+ Strings[i + 1] = NULL;
+ Sorted = TRUE;
+ newsize--;
+ }
+ }
+ else
+ {
+ Strings[i] = Strings[i + 1];
+ Strings[i + 1] = NULL;
+ Sorted = TRUE;
+ }
+ }
+
+ if (!Sorted)
+ {
+ break;
+ }
+ }
+ *SizeStrings = newsize;
+}
+/*--------------------------------------------------------------------------*/
+static int cmpstr( const void *a , const void *b)
+{
+ return strcmp(*(const char **)a, *(const char **)b );
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/src/c/isScilabFunction.c b/modules/functions/src/c/isScilabFunction.c
new file mode 100755
index 000000000..3804db067
--- /dev/null
+++ b/modules/functions/src/c/isScilabFunction.c
@@ -0,0 +1,81 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "isScilabFunction.h"
+#include "searchmacroinlibraries.h"
+#include "api_scilab.h"
+#include "stack-c.h"
+#include "sci_types.h"
+#include "stack-def.h"
+#include "Funtab.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+BOOL isScilabFunction(const char * functionName)
+{
+ return (isScilabBuiltIn(functionName) ||
+ isScilabMacroVariable(functionName) ||
+ isScilabMacro(functionName));
+}
+/*--------------------------------------------------------------------------*/
+BOOL isScilabMacro(const char * functionName)
+{
+ if (functionName)
+ {
+ char **librariesResult = NULL;
+ int librariesResultSize = 0;
+
+ librariesResult = searchmacroinlibraries((char*)functionName, &librariesResultSize);
+ freeArrayOfString(librariesResult, librariesResultSize);
+ if (librariesResultSize > 0)
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isScilabMacroVariable(const char * functionName)
+{
+ if (functionName)
+ {
+ int *piAddr = NULL;
+ SciErr sciErr = getVarAddressFromName(pvApiCtx, functionName, &piAddr);
+ if (sciErr.iErr == 0)
+ {
+ int typeVariable = 0;
+ sciErr = getVarType(pvApiCtx, piAddr, &typeVariable);
+ if (sciErr.iErr == 0)
+ {
+ return (BOOL)(typeVariable == sci_c_function);
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isScilabBuiltIn(const char * functionName)
+{
+ if (functionName)
+ {
+ int id[nsiz];
+ int funptr = 0;
+ int zero = 0;
+ int one = 1;
+ int job = one; /* Find function & returns fptr value */
+ C2F(cvname)(id, (char*)functionName, &zero, (unsigned long)strlen(functionName));
+ C2F(funtab)(id, &funptr, &job, "NULL_NAME", zero);
+ return (BOOL)(funptr != zero);
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/src/c/librarieslist.c b/modules/functions/src/c/librarieslist.c
new file mode 100755
index 000000000..9137480d7
--- /dev/null
+++ b/modules/functions/src/c/librarieslist.c
@@ -0,0 +1,108 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <string.h>
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "stack-c.h"
+#include "librarieslist.h"
+#include "stackinfo.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+static int getnumberoflibraries(void);
+/*--------------------------------------------------------------------------*/
+char **getlibrarieslist(int *sizearray)
+{
+ char **librarieslist = NULL;
+ int nbElements = getnumberoflibraries();
+
+ if (nbElements > 0)
+ {
+ librarieslist = (char**)MALLOC(sizeof(char*) * (nbElements));
+ if (librarieslist)
+ {
+ int Lused = 0;
+ int Ltotal = 0;
+ int j = 0;
+ int i = 0;
+
+ C2F(getvariablesinfo)(&Ltotal, &Lused);
+
+ for (j = 1; j < Lused + 1; ++j)
+ {
+ char * NameVariable = getLocalNamefromId(j);
+ int * header = NULL;
+ SciErr sciErr = getVarAddressFromName(pvApiCtx, NameVariable, &header);
+ if (!sciErr.iErr)
+ {
+ if (header && (header[0] == sci_lib))
+ {
+ librarieslist[i] = strdup(NameVariable);
+ i++;
+ }
+ }
+ if (NameVariable)
+ {
+ FREE(NameVariable);
+ NameVariable = NULL;
+ }
+ }
+ *sizearray = i;
+ }
+ else
+ {
+ *sizearray = 0;
+ }
+ }
+ else
+ {
+ *sizearray = 0;
+ }
+ return librarieslist;
+}
+/*--------------------------------------------------------------------------*/
+static int getnumberoflibraries(void)
+{
+ int nbrlibraries = 0;
+ int Lused = 0;
+ int Ltotal = 0;
+ int j = 0;
+
+ C2F(getvariablesinfo)(&Ltotal, &Lused);
+
+ for (j = 1; j < Lused + 1; ++j)
+ {
+ char *NameVariable = getLocalNamefromId(j);
+ int * header = NULL;
+ SciErr sciErr = getVarAddressFromName(pvApiCtx, NameVariable, &header);
+
+ if (!sciErr.iErr)
+ {
+ if (header && (header[0] == sci_lib))
+ {
+ nbrlibraries++;
+ }
+ }
+ if (NameVariable)
+ {
+ FREE(NameVariable);
+ NameVariable = NULL;
+ }
+ }
+ return nbrlibraries;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/src/c/libraryinfo.c b/modules/functions/src/c/libraryinfo.c
new file mode 100755
index 000000000..7d0313f6f
--- /dev/null
+++ b/modules/functions/src/c/libraryinfo.c
@@ -0,0 +1,123 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ * Copyright (C) 2010 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "PATH_MAX.h"
+#include "stack-c.h"
+#include "libraryinfo.h"
+#include "stackinfo.h"
+#include "MALLOC.h"
+#include "cvstr.h"
+#include "expandPathVariable.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+char *getlibrarypath(char *libraryname)
+{
+ char *path = NULL;
+ int lw = 0;
+ int fin = 0;
+
+ if (C2F(objptr)(libraryname, &lw, &fin, (unsigned long)strlen(libraryname)))
+ {
+ int *header = istk(iadr(*Lstk(fin)));
+ if ( (header) && (header[0] == sci_lib ) )
+ {
+ int lengthpath = 0, job = 0;
+
+ lengthpath = header[1];
+ path = (char *) MALLOC((lengthpath + 1) * sizeof(char));
+
+ job = 1; /* convert scilab to ascii */
+ C2F(cvstr)(&lengthpath, &header[2], path, &job, lengthpath);
+ path[lengthpath] = '\0';
+ }
+ }
+ return path;
+}
+/*--------------------------------------------------------------------------*/
+char **getlistmacrosfromlibrary(char *libraryname, int *sizearray)
+{
+ char **macroslist = NULL;
+ char *pathlibrary = getlibrarypath(libraryname);
+
+ if (pathlibrary)
+ {
+ /* in each library directory , we have a "names" file with list of macros */
+#define filenameNAMES "names"
+ char *expandedpath = expandPathVariable(pathlibrary);
+
+ if (expandedpath)
+ {
+ char *fullfilename = (char*)MALLOC(sizeof(char) * (strlen(expandedpath) + strlen(filenameNAMES) + 1));
+ if (fullfilename)
+ {
+ char line[PATH_MAX + 1];
+ FILE * pFile = NULL;
+ int nbElements = 0;
+
+ sprintf(fullfilename, "%s%s", expandedpath, filenameNAMES);
+
+ wcfopen (pFile, fullfilename, "rt");
+ if (pFile)
+ {
+ while (fgets (line, sizeof(line), pFile) != NULL)
+ {
+ /* remove carriage return */
+ char *pos = strchr(line, '\n');
+ if (pos)
+ {
+ *pos = 0;
+ }
+
+ pos = strchr(line, '\r');
+ if (pos)
+ {
+ *pos = 0;
+ }
+
+ if (macroslist)
+ {
+ macroslist = (char**)REALLOC(macroslist, sizeof(char*) * (nbElements + 1));
+ }
+ else
+ {
+ macroslist = (char**)MALLOC(sizeof(char*) * (nbElements + 1));
+ }
+
+ macroslist[nbElements] = strdup(line);
+ nbElements++;
+ }
+ fclose(pFile);
+ *sizearray = nbElements;
+ }
+ FREE(fullfilename);
+ fullfilename = NULL;
+ }
+ FREE(expandedpath);
+ expandedpath = NULL;
+ }
+
+ FREE(pathlibrary);
+ pathlibrary = NULL;
+ }
+ else
+ {
+ *sizearray = 0;
+ }
+ return macroslist;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/src/c/libscifunctions_algo_la-getmacroslist.lo b/modules/functions/src/c/libscifunctions_algo_la-getmacroslist.lo
new file mode 100755
index 000000000..ee6793cb9
--- /dev/null
+++ b/modules/functions/src/c/libscifunctions_algo_la-getmacroslist.lo
@@ -0,0 +1,12 @@
+# src/c/libscifunctions_algo_la-getmacroslist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_algo_la-getmacroslist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/src/c/libscifunctions_algo_la-isScilabFunction.lo b/modules/functions/src/c/libscifunctions_algo_la-isScilabFunction.lo
new file mode 100755
index 000000000..54bfaf765
--- /dev/null
+++ b/modules/functions/src/c/libscifunctions_algo_la-isScilabFunction.lo
@@ -0,0 +1,12 @@
+# src/c/libscifunctions_algo_la-isScilabFunction.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_algo_la-isScilabFunction.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/src/c/libscifunctions_algo_la-librarieslist.lo b/modules/functions/src/c/libscifunctions_algo_la-librarieslist.lo
new file mode 100755
index 000000000..af76a9dd3
--- /dev/null
+++ b/modules/functions/src/c/libscifunctions_algo_la-librarieslist.lo
@@ -0,0 +1,12 @@
+# src/c/libscifunctions_algo_la-librarieslist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_algo_la-librarieslist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/src/c/libscifunctions_algo_la-libraryinfo.lo b/modules/functions/src/c/libscifunctions_algo_la-libraryinfo.lo
new file mode 100755
index 000000000..50a5b0c74
--- /dev/null
+++ b/modules/functions/src/c/libscifunctions_algo_la-libraryinfo.lo
@@ -0,0 +1,12 @@
+# src/c/libscifunctions_algo_la-libraryinfo.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_algo_la-libraryinfo.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/src/c/libscifunctions_algo_la-searchmacroinlibraries.lo b/modules/functions/src/c/libscifunctions_algo_la-searchmacroinlibraries.lo
new file mode 100755
index 000000000..52dc8c594
--- /dev/null
+++ b/modules/functions/src/c/libscifunctions_algo_la-searchmacroinlibraries.lo
@@ -0,0 +1,12 @@
+# src/c/libscifunctions_algo_la-searchmacroinlibraries.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_algo_la-searchmacroinlibraries.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/src/c/searchmacroinlibraries.c b/modules/functions/src/c/searchmacroinlibraries.c
new file mode 100755
index 000000000..13da441db
--- /dev/null
+++ b/modules/functions/src/c/searchmacroinlibraries.c
@@ -0,0 +1,70 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "searchmacroinlibraries.h"
+#include "librarieslist.h"
+#include "libraryinfo.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+char **searchmacroinlibraries(char *macro, int *sizeReturnedArray)
+{
+ char **returnedArray = NULL;
+ *sizeReturnedArray = 0;
+
+ if (macro)
+ {
+ int sizelibraries = 0;
+ char **libraries = getlibrarieslist(&sizelibraries);
+ if ( libraries && (sizelibraries > 0) )
+ {
+ int nbLibsWhereIsMacro = 0;
+ int i = 0;
+
+ for (i = 0; i < sizelibraries; i++)
+ {
+ int sizemacrosLib = 0;
+ char **macrosLib = getlistmacrosfromlibrary(libraries[i], &sizemacrosLib);
+
+ if (macrosLib && (sizemacrosLib > 0) )
+ {
+ int j = 0;
+ for (j = 0; j < sizemacrosLib; j++)
+ {
+ if (strcmp(macrosLib[j], macro) == 0)
+ {
+ nbLibsWhereIsMacro++;
+ if (nbLibsWhereIsMacro == 1)
+ {
+ returnedArray = (char**)MALLOC(sizeof(char*) * nbLibsWhereIsMacro);
+ }
+ else
+ {
+ returnedArray = (char**)REALLOC(returnedArray, sizeof(char*) * (nbLibsWhereIsMacro));
+ }
+ returnedArray[nbLibsWhereIsMacro - 1] = strdup(libraries[i]);
+ }
+ }
+ freeArrayOfString(macrosLib, sizemacrosLib);
+ }
+ }
+ *sizeReturnedArray = nbLibsWhereIsMacro;
+ freeArrayOfString(libraries, sizelibraries);
+ }
+ }
+ return returnedArray;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/src/c/searchmacroinlibraries.h b/modules/functions/src/c/searchmacroinlibraries.h
new file mode 100755
index 000000000..1321ee8ac
--- /dev/null
+++ b/modules/functions/src/c/searchmacroinlibraries.h
@@ -0,0 +1,27 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __SEARCHMACROINLIBRARIES_H__
+#define __SEARCHMACROINLIBRARIES_H__
+
+/**
+* search a macro in all scilab libraries
+* and returns all libraries names
+* @param[in] macro name
+* @param[out] size of returned array
+* @return array of char where macro founded
+*/
+
+char **searchmacroinlibraries(char *macro, int *sizeReturnedArray);
+
+#endif /* __SEARCHMACROINLIBRARIES_H__ */
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/functions/src/fortran/.deps/.dirstamp b/modules/functions/src/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/src/fortran/.deps/.dirstamp
diff --git a/modules/functions/src/fortran/.dirstamp b/modules/functions/src/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/src/fortran/.dirstamp
diff --git a/modules/functions/src/fortran/.libs/whereis.o b/modules/functions/src/fortran/.libs/whereis.o
new file mode 100755
index 000000000..afd74ae4e
--- /dev/null
+++ b/modules/functions/src/fortran/.libs/whereis.o
Binary files differ
diff --git a/modules/functions/src/fortran/Core_f_Import.def b/modules/functions/src/fortran/Core_f_Import.def
new file mode 100755
index 000000000..57b75fa0a
--- /dev/null
+++ b/modules/functions/src/fortran/Core_f_Import.def
@@ -0,0 +1,16 @@
+ LIBRARY core_f.dll
+
+
+EXPORTS
+;
+;core_f
+;
+cvname_
+clunit_
+funs_
+getfun_
+putid_
+stackp_
+
+
+
diff --git a/modules/functions/src/fortran/Elementary_functions_Import.def b/modules/functions/src/fortran/Elementary_functions_Import.def
new file mode 100755
index 000000000..848566585
--- /dev/null
+++ b/modules/functions/src/fortran/Elementary_functions_Import.def
@@ -0,0 +1,6 @@
+ LIBRARY elementary_functions.dll
+
+
+EXPORTS
+; elementary_functions
+unsfdcopy_
diff --git a/modules/functions/src/fortran/core_Import.def b/modules/functions/src/fortran/core_Import.def
new file mode 100755
index 000000000..af886061a
--- /dev/null
+++ b/modules/functions/src/fortran/core_Import.def
@@ -0,0 +1,33 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+; core
+vstk_
+stack_
+com_
+iop_
+cha1_
+recu_
+errgst_
+;
+vstk_
+stack_
+com_
+iop_
+cha1_
+recu_
+errgst_
+cremat_
+namstr_
+checklhs_
+checkrhs_
+getsmat_
+checkval_
+objvide_
+;
+; explicit imports (COMMON) to fix warning LNK4049: locally defined symbol
+;
+adre_
+intersci_
+;
diff --git a/modules/functions/src/fortran/elementary_functions_f_Import.def b/modules/functions/src/fortran/elementary_functions_f_Import.def
new file mode 100755
index 000000000..4e886649a
--- /dev/null
+++ b/modules/functions/src/fortran/elementary_functions_f_Import.def
@@ -0,0 +1,7 @@
+ LIBRARY elementary_functions_f.dll
+
+
+EXPORTS
+; elementary_functions_f
+iset_
+isort_
diff --git a/modules/functions/src/fortran/fileio_Import.def b/modules/functions/src/fortran/fileio_Import.def
new file mode 100755
index 000000000..76a3cb7ac
--- /dev/null
+++ b/modules/functions/src/fortran/fileio_Import.def
@@ -0,0 +1,6 @@
+ LIBRARY fileio.dll
+
+
+EXPORTS
+; fileio
+getshortpathname_ \ No newline at end of file
diff --git a/modules/functions/src/fortran/functions_f.rc b/modules/functions/src/fortran/functions_f.rc
new file mode 100755
index 000000000..b41d8f09f
--- /dev/null
+++ b/modules/functions/src/fortran/functions_f.rc
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "functions_f module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "functions_f module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "functions_f.dll"
+ VALUE "ProductName", "functions_f module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/functions/src/fortran/functions_f.vfproj b/modules/functions/src/fortran/functions_f.vfproj
new file mode 100755
index 000000000..3fe84ab52
--- /dev/null
+++ b/modules/functions/src/fortran/functions_f.vfproj
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject ProjectType="typeDynamicLibrary" ProjectCreator="Intel Fortran" Keyword="Dll" Version="11.0" ProjectIdGuid="{E6552427-01DD-4C12-823C-09AD46F77FAD}">
+ <Platforms>
+ <Platform Name="Win32"/>
+ <Platform Name="x64"/></Platforms>
+ <Configurations>
+ <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="functions_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core_f.lib core.lib string.lib output_stream.lib fileio.lib io_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib ../../../../bin/blasplus.lib "/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="functions_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core_f.lib core.lib string.lib output_stream.lib fileio.lib io_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib ../../../../bin/blasplus.lib "/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="functions_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core_f.lib core.lib string.lib output_stream.lib fileio.lib io_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib ../../../../bin/blasplus.lib "/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="functions_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core_f.lib core.lib string.lib output_stream.lib fileio.lib io_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib ../../../../bin/blasplus.lib "/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
+ <Files>
+ <Filter Name="Header Files" Filter="fi;fd"/>
+ <Filter Name="Library dependencies">
+ <File RelativePath=".\Core_f_Import.def"/>
+ <File RelativePath=".\core_import.def"/>
+ <File RelativePath=".\elementary_functions_f_Import.def"/>
+ <File RelativePath=".\Elementary_functions_Import.def"/>
+ <File RelativePath=".\fileio_Import.def"/>
+ <File RelativePath=".\io_f_Import.def"/>
+ <File RelativePath=".\linpack_f_Import.def"/>
+ <File RelativePath=".\output_stream_Import.def"/>
+ <File RelativePath=".\string_Import.def"/></Filter>
+ <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ <File RelativePath=".\functions_f.rc"/></Filter>
+ <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
+ <File RelativePath="..\..\sci_gateway\fortran\intdeff.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\intexec.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\intexecstr.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\intlib.f"/>
+ <File RelativePath=".\whereis.f"/></Filter>
+ <File RelativePath="..\..\sci_gateway\functions_gateway.xml"/>
+ <File RelativePath="..\..\Makefile.am"/></Files>
+ <Globals/></VisualStudioProject>
diff --git a/modules/functions/src/fortran/functions_f2c.vcxproj b/modules/functions/src/fortran/functions_f2c.vcxproj
new file mode 100755
index 000000000..abdec9b15
--- /dev/null
+++ b/modules/functions/src/fortran/functions_f2c.vcxproj
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>functions_f</ProjectName>
+ <ProjectGuid>{E6552427-01DD-4C12-823C-09AD46F77FAD}</ProjectGuid>
+ <RootNamespace>functions_f2c</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)fileio_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)fileio.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)io_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FUNCTIONS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;string.lib;output_stream.lib;fileio.lib;io_f.lib;elementary_functions.lib;elementary_functions_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>functions_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)fileio_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)fileio.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)io_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FUNCTIONS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;string.lib;output_stream.lib;fileio.lib;io_f.lib;elementary_functions.lib;elementary_functions_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>functions_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)fileio_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)fileio.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)io_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FUNCTIONS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;string.lib;output_stream.lib;fileio.lib;io_f.lib;elementary_functions.lib;elementary_functions_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>functions_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)fileio_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)fileio.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)io_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FUNCTIONS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;string.lib;output_stream.lib;fileio.lib;io_f.lib;elementary_functions.lib;elementary_functions_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>functions_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\sci_gateway\fortran\intdeff.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\intexec.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\intexecstr.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\intlib.c" />
+ <ClCompile Include="whereis.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="..\..\sci_gateway\fortran\intdeff.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\intexec.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\intexecstr.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\intlib.f" />
+ <f2c_rule Include="whereis.f" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\sci_gateway\functions_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="Core_f_Import.def" />
+ <None Include="elementary_functions_f_Import.def" />
+ <None Include="Elementary_functions_Import.def" />
+ <None Include="fileio_Import.def" />
+ <None Include="io_f_Import.def" />
+ <None Include="core_import.def" />
+ <None Include="linpack_f_Import.def" />
+ <None Include="output_stream_Import.def" />
+ <None Include="string_Import.def" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" />
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/src/fortran/functions_f2c.vcxproj.filters b/modules/functions/src/fortran/functions_f2c.vcxproj.filters
new file mode 100755
index 000000000..ba8307366
--- /dev/null
+++ b/modules/functions/src/fortran/functions_f2c.vcxproj.filters
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ <Filter Include="Fortran files">
+ <UniqueIdentifier>{b29b80df-33bf-4e8d-a9e7-a4f0f78e04d5}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{f55c7287-a365-45aa-b971-b54e3bd9a9ad}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\sci_gateway\fortran\intdeff.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\intexec.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\intexecstr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\intlib.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="whereis.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="..\..\sci_gateway\fortran\intdeff.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\intexec.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\intexecstr.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\intlib.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="whereis.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\sci_gateway\functions_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="Elementary_functions_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="fileio_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="io_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="output_stream_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="string_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="linpack_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="elementary_functions_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Core_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/functions/src/fortran/io_f_Import.def b/modules/functions/src/fortran/io_f_Import.def
new file mode 100755
index 000000000..1a8c4ae1d
--- /dev/null
+++ b/modules/functions/src/fortran/io_f_Import.def
@@ -0,0 +1,6 @@
+ LIBRARY io_f.dll
+
+
+EXPORTS
+; io_f
+v2cunit_ \ No newline at end of file
diff --git a/modules/functions/src/fortran/linpack_f_Import.def b/modules/functions/src/fortran/linpack_f_Import.def
new file mode 100755
index 000000000..89b76b3bb
--- /dev/null
+++ b/modules/functions/src/fortran/linpack_f_Import.def
@@ -0,0 +1,6 @@
+ LIBRARY linpack_f.dll
+
+
+EXPORTS
+; linpack_f
+icopy_
diff --git a/modules/functions/src/fortran/output_stream_Import.def b/modules/functions/src/fortran/output_stream_Import.def
new file mode 100755
index 000000000..b3d1dd601
--- /dev/null
+++ b/modules/functions/src/fortran/output_stream_Import.def
@@ -0,0 +1,8 @@
+ LIBRARY output_stream.dll
+
+
+EXPORTS
+; output_stream
+error_
+msgs_
+basout_ \ No newline at end of file
diff --git a/modules/functions/src/fortran/string_Import.def b/modules/functions/src/fortran/string_Import.def
new file mode 100755
index 000000000..66cc943d0
--- /dev/null
+++ b/modules/functions/src/fortran/string_Import.def
@@ -0,0 +1,6 @@
+ LIBRARY string.dll
+
+
+EXPORTS
+; string
+cvstr_ \ No newline at end of file
diff --git a/modules/functions/src/fortran/whereis.f b/modules/functions/src/fortran/whereis.f
new file mode 100755
index 000000000..a536cf9bc
--- /dev/null
+++ b/modules/functions/src/fortran/whereis.f
@@ -0,0 +1,48 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) DIGITEO - Allan CORNET
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine whereismacro
+ include 'stack.h'
+ integer id(nsiz)
+ logical checkrhs,checklhs,cremat,getsmat,checkval
+ integer topk
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ il=iadr(lstk(top))
+ if (istk(il).lt.0) il=iadr(istk(il+1))
+c
+ if(istk(il).eq.11.or.istk(il).eq.13) then
+ call putid(id,idstk(1,top))
+ endif
+ fin=-3
+ call funs(id)
+ if(err.gt.0) return
+ if(fun.eq.0) then
+ if(.not.cremat('whereis',top,0,0,0,lr,lc)) return
+ else
+ call putid(id,idstk(1,fun))
+ il=iadr(lstk(top))
+ istk(il)=10
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ istk(il+4)=1
+ l=il+6
+ fun=0
+ call namstr(id,istk(l),n,1)
+ istk(il+5)=n+1
+ lstk(top+1)=sadr(l+n)
+ endif
+ return
+ end
+
diff --git a/modules/functions/src/fortran/whereis.lo b/modules/functions/src/fortran/whereis.lo
new file mode 100755
index 000000000..a1ca527fa
--- /dev/null
+++ b/modules/functions/src/fortran/whereis.lo
@@ -0,0 +1,12 @@
+# src/fortran/whereis.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/whereis.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/tests/nonreg_tests/bug_10243.dia.ref b/modules/functions/tests/nonreg_tests/bug_10243.dia.ref
new file mode 100755
index 000000000..c943b93b7
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_10243.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 10243 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10243
+//
+// <-- Short Description -->
+// fun2string(fun) called fun before returning its code.
+// Checking that fun2string(members) does not display anything.
+// If it did, then it would mean that members() has been called.
+fun2string(members);
diff --git a/modules/functions/tests/nonreg_tests/bug_10243.tst b/modules/functions/tests/nonreg_tests/bug_10243.tst
new file mode 100755
index 000000000..081ed46bb
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_10243.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 10243 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10243
+//
+// <-- Short Description -->
+// fun2string(fun) called fun before returning its code.
+
+// Checking that fun2string(members) does not display anything.
+// If it did, then it would mean that members() has been called.
+fun2string(members);
diff --git a/modules/functions/tests/nonreg_tests/bug_10391.dia.ref b/modules/functions/tests/nonreg_tests/bug_10391.dia.ref
new file mode 100755
index 000000000..3b87f0a89
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_10391.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 10391 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10391
+//
+// <-- Short Description -->
+// Error when completion occurs after global deletation.
+global("xyz");
+xyz=1;
+clearglobal("xyz");
+librarieslist();
diff --git a/modules/functions/tests/nonreg_tests/bug_10391.tst b/modules/functions/tests/nonreg_tests/bug_10391.tst
new file mode 100755
index 000000000..1e3e466df
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_10391.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//
+// <-- Non-regression test for bug 10391 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10391
+//
+// <-- Short Description -->
+// Error when completion occurs after global deletation.
+
+global("xyz");
+xyz=1;
+clearglobal("xyz");
+librarieslist(); \ No newline at end of file
diff --git a/modules/functions/tests/nonreg_tests/bug_1074.dia.ref b/modules/functions/tests/nonreg_tests/bug_1074.dia.ref
new file mode 100755
index 000000000..190948a68
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1074.dia.ref
@@ -0,0 +1,14 @@
+// <-- Non-regression test for bug 1074 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1074
+//
+// <-- Short Description -->
+// fun2string() converts anomalously function calls with more
+// than 1 return argument, and does not retain the function name
+// Non-regression test file for bug 1057
+// Pierre MARECHAL - Scilab Project
+// Copyright INRIA
+// 1er juin 2005
+mode(-1);
+
diff --git a/modules/functions/tests/nonreg_tests/bug_1074.tst b/modules/functions/tests/nonreg_tests/bug_1074.tst
new file mode 100755
index 000000000..766c07ceb
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1074.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 1074 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1074
+//
+// <-- Short Description -->
+// fun2string() converts anomalously function calls with more
+// than 1 return argument, and does not retain the function name
+
+mode(-1);
+clear;
+
+function foo()
+ [a,b,c]=foo1(1)
+endfunction
+
+A = fun2string(foo)
+B = ["function []=ans()";" [a,b,c] = foo1(1)";"endfunction"]
+
+if or( A <> B ) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_12593.dia.ref b/modules/functions/tests/nonreg_tests/bug_12593.dia.ref
new file mode 100755
index 000000000..8d88161be
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_12593.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12593 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12593
+//
+// <-- Short Description -->
+// Unrelated error message when running genlib on a sci file containing a scilab function
+// with a missing parenthesis
+// Error: "mprintf: wrong number of input arguments: data do not fit with format"
+my_function = ["function test()";"foo(";"endfunction"];
+my_dir = pathconvert(TMPDIR+"/bug12593_dir");
+my_file = my_dir+"test.sci";
+mkdir(my_dir);
+mputl(my_function,my_file);
+errmsg=msprintf(gettext("%s: Error in file %s : %s.\n"), "genlib", my_file, msprintf(gettext("Invalid factor.\n")));
+assert_checkerror("genlib(""bug_12593_dir"", my_dir,%T)",errmsg);
diff --git a/modules/functions/tests/nonreg_tests/bug_12593.tst b/modules/functions/tests/nonreg_tests/bug_12593.tst
new file mode 100755
index 000000000..b3d0c5e73
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_12593.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12593 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12593
+//
+// <-- Short Description -->
+// Unrelated error message when running genlib on a sci file containing a scilab function
+// with a missing parenthesis
+// Error: "mprintf: wrong number of input arguments: data do not fit with format"
+
+my_function = ["function test()";"foo(";"endfunction"];
+my_dir = pathconvert(TMPDIR+"/bug12593_dir");
+my_file = my_dir+"test.sci";
+
+mkdir(my_dir);
+mputl(my_function,my_file);
+
+errmsg=msprintf(gettext("%s: Error in file %s : %s.\n"), "genlib", my_file, msprintf(gettext("Invalid factor.\n")));
+assert_checkerror("genlib(""bug_12593_dir"", my_dir,%T)",errmsg);
+
diff --git a/modules/functions/tests/nonreg_tests/bug_13093.dia.ref b/modules/functions/tests/nonreg_tests/bug_13093.dia.ref
new file mode 100755
index 000000000..5252632b0
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_13093.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13093
+//
+// <-- Short Description -->
+// head_comments displayed a trailing "\n" when the argument had no head comments.
+head_comments("demo_gui");
+function [] = demo_gui()
+No comment available.
diff --git a/modules/functions/tests/nonreg_tests/bug_13093.tst b/modules/functions/tests/nonreg_tests/bug_13093.tst
new file mode 100755
index 000000000..0ce78a7f4
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_13093.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13093
+//
+// <-- Short Description -->
+// head_comments displayed a trailing "\n" when the argument had no head comments.
+
+head_comments("demo_gui");
diff --git a/modules/functions/tests/nonreg_tests/bug_13146.dia.ref b/modules/functions/tests/nonreg_tests/bug_13146.dia.ref
new file mode 100755
index 000000000..48fd62736
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_13146.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 13146 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13146
+//
+// <-- Short Description -->
+// profile failed when a comment was at the same line as a function declaration.
+function A() // Comment
+endfunction
+add_profiling("A");
+Warning : redefining function: A . Use funcprot(0) to avoid this message
+
+A();
+prof = profile(A);
+assert_checkequal(prof(:, 2:3), [0 1 ; 0 0]);
diff --git a/modules/functions/tests/nonreg_tests/bug_13146.tst b/modules/functions/tests/nonreg_tests/bug_13146.tst
new file mode 100755
index 000000000..923103e13
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_13146.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 13146 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13146
+//
+// <-- Short Description -->
+// profile failed when a comment was at the same line as a function declaration.
+
+function A() // Comment
+endfunction
+
+add_profiling("A");
+A();
+prof = profile(A);
+
+assert_checkequal(prof(:, 2:3), [0 1 ; 0 0]);
diff --git a/modules/functions/tests/nonreg_tests/bug_1469.dia.ref b/modules/functions/tests/nonreg_tests/bug_1469.dia.ref
new file mode 100755
index 000000000..8f5b823a5
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1469.dia.ref
@@ -0,0 +1,368 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 1469 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1469
+//
+// <-- Short Description -->
+// Comments modify line numbering in functions
+//
+// What you don't believe?
+//
+// Try this:
+//
+// 1st test, no comment in line 1:
+//
+// -->function foo1()
+// --> function foo3
+// --> endfunction
+// --> disp("line a");
+// --> disp("line b");
+// --> disp("line c");
+// -->endfunction
+//
+// -->setbpt("foo1",[3,4])
+//
+// -->foo1()
+// Stop after row 3 in function foo1 :
+// ...
+//test of line numbering in functions, handling initial comments
+// ================ Test 1 =====================================================
+function foo,endfunction
+L=macr2lst(foo);
+R1=L(4)(1)=='15'&size(L)==6
+ R1 =
+
+ T
+if ~R1 then bugmes();quit;end
+clear foo;
+// ================ Test 2 =====================================================
+function foo,,endfunction
+L=macr2lst(foo);
+R2=L(4)(1)=='15'&size(L)==6
+ R2 =
+
+ T
+if ~R2 then bugmes();quit;end
+clear foo;
+// ================ Test 3 =====================================================
+function foo(),endfunction
+L=macr2lst(foo);
+R3=L(4)(1)=='15'&size(L)==6
+ R3 =
+
+ T
+if ~R3 then bugmes();quit;end
+clear foo;
+// ================ Test 4 =====================================================
+function foo(),a=1,endfunction
+L=macr2lst(foo);
+R4=L(4)(1)=='6'&size(L)==8
+ R4 =
+
+ T
+if ~R4 then bugmes();quit;end
+clear foo;
+// ================ Test 5 =====================================================
+function foo
+endfunction
+L=macr2lst(foo);
+R5=L(4)(1)=='15'&size(L)==7
+ R5 =
+
+ T
+if ~R5 then bugmes();quit;end
+clear foo;
+// ================ Test 6 =====================================================
+function foo,
+endfunction
+L=macr2lst(foo);
+R6=L(4)(1)=='15'&size(L)==7
+ R6 =
+
+ T
+if ~R6 then bugmes();quit;end
+clear foo;
+// ================ Test 7 =====================================================
+function foo//ZZZZ
+endfunction
+L=macr2lst(foo);
+R7=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==8
+ R7 =
+
+ T
+if ~R7 then bugmes();quit;end
+clear foo;
+// ================ Test 8 =====================================================
+function foo,//ZZZZ
+endfunction
+L=macr2lst(foo);
+R8=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==8
+ R8 =
+
+ T
+if ~R8 then bugmes();quit;end
+clear foo;
+// ================ Test 9 =====================================================
+function foo
+//ZZZZ
+endfunction
+L=macr2lst(foo);
+R9=L(4)(1)=='15'&L(5)(1)=='31'&size(L)==9
+ R9 =
+
+ T
+if ~R9 then bugmes();quit;end
+clear foo;
+// ================ Test 10 ====================================================
+function foo,//ZZZZ
+ a=1
+endfunction
+L=macr2lst(foo);
+R10=L(4)(1)=='31'&L(5)(1)=='15'&L(6)(1)=='6'&size(L)==11
+ R10 =
+
+ T
+if ~R10 then bugmes();quit;end
+clear foo;
+// ================ Test 11 ====================================================
+function loc=foo,[l,w]=where(),loc=l(1),endfunction
+R11= and(foo()==1)
+ R11 =
+
+ T
+if ~R11 then bugmes();quit;end
+clear foo;
+// ================ Test 12 ====================================================
+function loc=foo,//ZZZZ
+ [l,w]=where(),loc=l(1)
+endfunction
+R12= and(foo()==2)
+ R12 =
+
+ T
+if ~R12 then bugmes();quit;end
+clear foo;
+// ================ Test 13 ====================================================
+function loc=foo
+//ZZZZ
+ [l,w]=where(),loc=l(1)
+endfunction
+R13= and(foo()==3)
+ R13 =
+
+ T
+if ~R13 then bugmes();quit;end
+clear foo;
+// ================ Test 14 ====================================================
+function loc=foo1()
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+R14= and(foo1()==[2,6,2,7])
+ R14 =
+
+ T
+if ~R14 then bugmes();quit;end
+clear foo1;
+// ================ Test 15 ====================================================
+function loc=foo1()//ZZZZZZZ
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+L=macr2lst(foo1);
+R15=and(foo1()==[2,6,2,7])&(L(4)(1)=='31')&(L(5)=='15')
+ R15 =
+
+ T
+if ~R15 then bugmes();quit;end
+clear foo1;
+// ================ Test 16 ====================================================
+function loc=foo1()
+ //ZZZZZZZ
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+L=macr2lst(foo1);
+R16=and(foo1()==[3,7,2,8])&(L(4)=='15')&(L(5)(1)=='31')
+ R16 =
+
+ T
+if ~R16 then bugmes();quit;end
+clear foo1;
+// ================ Test 17 ====================================================
+//pb execution des macros non compilee
+deff('y=foo(a,b,c)','y=a+b+c','n')
+R17=foo('aaa','bbb','cc')=='aaabbbcc'
+ R17 =
+
+ T
+if ~R17 then bugmes();quit;end
+clear foo
+// ================ Test 18 ====================================================
+deff('y=foo(a,b,c)',['','y=a+b+c'],'n')
+R18=foo('aaa','bbb','cc')=='aaabbbcc'
+ R18 =
+
+ T
+if ~R18 then bugmes();quit;end
+// ================ Test 19 ====================================================
+comp(foo)
+Warning : redefining function: foo . Use funcprot(0) to avoid this message
+
+R19=foo('aaa','bbb','cc')=='aaabbbcc'
+ R19 =
+
+ T
+if ~R19 then bugmes();quit;end
+clear foo
+// ================ Test 20 ====================================================
+//function definition nested in a or loop!
+z=0;R20=%t
+ R20 =
+
+ T
+for k=1:2
+ function y=foo()
+ y=k
+ endfunction
+ L=macr2lst(foo);
+ R20=R20&(L(4)=='15')&(L(5)(1)=='2');
+ z=z+foo();
+end
+R20=R20&z==3
+ R20 =
+
+ T
+if ~R20 then bugmes();quit;end
+// ================ Test 21 ====================================================
+//test avec getf
+t=['function foo,//ZZZZ'
+' a=1'
+'endfunction'];
+mputl(t,TMPDIR+'/foo.sci');
+warning('off');
+exec(TMPDIR+'/foo.sci')
+
+function foo,//ZZZZ
+ a=1
+endfunction
+
+warning('on');
+L=macr2lst(foo); //getf ignores declaration line comments
+R21=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==11
+ R21 =
+
+ T
+if ~R21 then bugmes();quit;end
+clear foo;
+// ================ Test 22 ====================================================
+t=['function foo'
+'//ZZZZ'
+' a=1'
+'endfunction'];
+mputl(t,TMPDIR+'/foo.sci');
+exec(TMPDIR+'/foo.sci')
+
+function foo
+//ZZZZ
+ a=1
+endfunction
+
+L=macr2lst(foo); //getf ignores declaration line comments
+R22=L(4)(1)=='15'&L(5)(1)=='31'&L(6)(1)=='15'&size(L)==12
+ R22 =
+
+ T
+if ~R22 then bugmes();quit;end
+clear foo;
+// ================ Test 23 ====================================================
+function foo()
+ function bar()
+ a=1
+endfunction
+endfunction
+t=fun2string(foo,'foo')
+ t =
+
+!function []=foo() !
+! !
+! function bar() !
+! !
+! a=1 !
+! !
+! endfunction !
+! !
+!endfunction !
+if size(t,1)<>5 then bugmes();quit;end
+clear foo
+function foo()
+ function bar()
+ a=1
+ endfunction
+endfunction
+t1=fun2string(foo,'foo')
+ t1 =
+
+!function []=foo() !
+! !
+! function bar() !
+! !
+! a=1 !
+! !
+! endfunction !
+! !
+!endfunction !
+if or(t<>t1) then bugmes();quit;end
+// ================ Test 24 ====================================================
+function test;endfunction
+L=macr2lst(test)
+ L =
+
+
+ L(1)
+
+ test
+
+ L(2)
+
+ []
+
+ L(3)
+
+ []
+
+ L(4)
+
+ 15
+
+ L(5)
+
+ 99
+
+ L(6)
+
+ 15
+if size(L)<>6 then bugmes();quit;end
+if L(4)<>'15'|L(5)<>'99'| L(6)<>'15' then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_1469.tst b/modules/functions/tests/nonreg_tests/bug_1469.tst
new file mode 100755
index 000000000..50dd2de65
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1469.tst
@@ -0,0 +1,286 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 1469 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1469
+//
+// <-- Short Description -->
+// Comments modify line numbering in functions
+//
+// What you don't believe?
+//
+// Try this:
+//
+// 1st test, no comment in line 1:
+//
+// -->function foo1()
+// --> function foo3
+// --> endfunction
+// --> disp("line a");
+// --> disp("line b");
+// --> disp("line c");
+// -->endfunction
+//
+// -->setbpt("foo1",[3,4])
+//
+// -->foo1()
+// Stop after row 3 in function foo1 :
+// ...
+
+//test of line numbering in functions, handling initial comments
+
+
+// ================ Test 1 =====================================================
+
+function foo,endfunction
+L=macr2lst(foo);
+R1=L(4)(1)=='15'&size(L)==6
+if ~R1 then pause,end
+clear foo;
+
+// ================ Test 2 =====================================================
+
+function foo,,endfunction
+L=macr2lst(foo);
+R2=L(4)(1)=='15'&size(L)==6
+if ~R2 then pause,end
+clear foo;
+
+// ================ Test 3 =====================================================
+
+function foo(),endfunction
+L=macr2lst(foo);
+R3=L(4)(1)=='15'&size(L)==6
+if ~R3 then pause,end
+clear foo;
+
+// ================ Test 4 =====================================================
+
+function foo(),a=1,endfunction
+L=macr2lst(foo);
+R4=L(4)(1)=='6'&size(L)==8
+if ~R4 then pause,end
+clear foo;
+
+// ================ Test 5 =====================================================
+
+function foo
+endfunction
+L=macr2lst(foo);
+R5=L(4)(1)=='15'&size(L)==7
+if ~R5 then pause,end
+clear foo;
+
+// ================ Test 6 =====================================================
+
+function foo,
+endfunction
+L=macr2lst(foo);
+R6=L(4)(1)=='15'&size(L)==7
+if ~R6 then pause,end
+clear foo;
+
+// ================ Test 7 =====================================================
+
+function foo//ZZZZ
+endfunction
+L=macr2lst(foo);
+R7=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==8
+if ~R7 then pause,end
+clear foo;
+
+// ================ Test 8 =====================================================
+
+function foo,//ZZZZ
+endfunction
+L=macr2lst(foo);
+R8=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==8
+if ~R8 then pause,end
+clear foo;
+
+// ================ Test 9 =====================================================
+
+function foo
+//ZZZZ
+endfunction
+L=macr2lst(foo);
+R9=L(4)(1)=='15'&L(5)(1)=='31'&size(L)==9
+if ~R9 then pause,end
+clear foo;
+
+// ================ Test 10 ====================================================
+
+function foo,//ZZZZ
+ a=1
+endfunction
+L=macr2lst(foo);
+R10=L(4)(1)=='31'&L(5)(1)=='15'&L(6)(1)=='6'&size(L)==11
+if ~R10 then pause,end
+clear foo;
+
+// ================ Test 11 ====================================================
+
+function loc=foo,[l,w]=where(),loc=l(1),endfunction
+R11= and(foo()==1)
+if ~R11 then pause,end
+clear foo;
+
+// ================ Test 12 ====================================================
+
+function loc=foo,//ZZZZ
+ [l,w]=where(),loc=l(1)
+endfunction
+R12= and(foo()==2)
+if ~R12 then pause,end
+clear foo;
+
+// ================ Test 13 ====================================================
+
+function loc=foo
+//ZZZZ
+ [l,w]=where(),loc=l(1)
+endfunction
+R13= and(foo()==3)
+if ~R13 then pause,end
+clear foo;
+
+// ================ Test 14 ====================================================
+
+function loc=foo1()
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+R14= and(foo1()==[2,6,2,7])
+if ~R14 then pause,end
+clear foo1;
+
+// ================ Test 15 ====================================================
+
+function loc=foo1()//ZZZZZZZ
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+L=macr2lst(foo1);
+R15=and(foo1()==[2,6,2,7])&(L(4)(1)=='31')&(L(5)=='15')
+if ~R15 then pause,end
+clear foo1;
+
+// ================ Test 16 ====================================================
+
+function loc=foo1()
+ //ZZZZZZZ
+ [l,w]=where(),loc=l(1)
+ function loc=foo3(loc)
+ [l,w]=where(),loc=[loc,l(1:2)']
+ endfunction
+ [l,w]=where(),loc=[loc,l(1)]
+ loc=foo3(loc)
+endfunction
+L=macr2lst(foo1);
+R16=and(foo1()==[3,7,2,8])&(L(4)=='15')&(L(5)(1)=='31')
+if ~R16 then pause,end
+clear foo1;
+
+// ================ Test 17 ====================================================
+
+//pb execution des macros non compilee
+deff('y=foo(a,b,c)','y=a+b+c','n')
+R17=foo('aaa','bbb','cc')=='aaabbbcc'
+if ~R17 then pause,end
+clear foo
+
+// ================ Test 18 ====================================================
+
+deff('y=foo(a,b,c)',['','y=a+b+c'],'n')
+R18=foo('aaa','bbb','cc')=='aaabbbcc'
+if ~R18 then pause,end
+
+// ================ Test 19 ====================================================
+
+comp(foo)
+R19=foo('aaa','bbb','cc')=='aaabbbcc'
+if ~R19 then pause,end
+clear foo
+
+// ================ Test 20 ====================================================
+
+//function definition nested in a or loop!
+z=0;R20=%t
+for k=1:2
+ function y=foo()
+ y=k
+ endfunction
+ L=macr2lst(foo);
+ R20=R20&(L(4)=='15')&(L(5)(1)=='2');
+ z=z+foo();
+end
+R20=R20&z==3
+if ~R20 then pause,end
+
+// ================ Test 21 ====================================================
+
+//test avec getf
+t=['function foo,//ZZZZ'
+' a=1'
+'endfunction'];
+mputl(t,TMPDIR+'/foo.sci');
+warning('off');
+exec(TMPDIR+'/foo.sci')
+warning('on');
+L=macr2lst(foo); //getf ignores declaration line comments
+R21=L(4)(1)=='31'&L(5)(1)=='15'&size(L)==11
+if ~R21 then pause,end
+clear foo;
+
+// ================ Test 22 ====================================================
+
+t=['function foo'
+'//ZZZZ'
+' a=1'
+'endfunction'];
+mputl(t,TMPDIR+'/foo.sci');
+exec(TMPDIR+'/foo.sci')
+L=macr2lst(foo); //getf ignores declaration line comments
+R22=L(4)(1)=='15'&L(5)(1)=='31'&L(6)(1)=='15'&size(L)==12
+if ~R22 then pause,end
+clear foo;
+
+// ================ Test 23 ====================================================
+function foo()
+ function bar()
+ a=1
+endfunction
+endfunction
+t=fun2string(foo,'foo')
+if size(t,1)<>5 then pause,end
+
+clear foo
+function foo()
+ function bar()
+ a=1
+ endfunction
+endfunction
+t1=fun2string(foo,'foo')
+if or(t<>t1) then pause,end
+// ================ Test 24 ====================================================
+function test;endfunction
+L=macr2lst(test)
+if size(L)<>6 then pause,end
+if L(4)<>'15'|L(5)<>'99'| L(6)<>'15' then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_1794.dia.ref b/modules/functions/tests/nonreg_tests/bug_1794.dia.ref
new file mode 100755
index 000000000..df783e697
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1794.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 1794 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1794
+//
+// <-- Short Description -->
+// Problem encountered when redefining builtin function
+funcprot(0);
+beta=5;
+if execstr("beta","errcatch") <> 0 then bugmes();quit;end
+function y=foo()
+ beta;
+ y=beta+1
+endfunction
+if execstr("foo","errcatch") <> 0 then bugmes();quit;end
+funcprot(1);
diff --git a/modules/functions/tests/nonreg_tests/bug_1794.tst b/modules/functions/tests/nonreg_tests/bug_1794.tst
new file mode 100755
index 000000000..78f0f178a
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1794.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 1794 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1794
+//
+// <-- Short Description -->
+// Problem encountered when redefining builtin function
+
+funcprot(0);
+
+beta=5;
+
+if execstr("beta","errcatch") <> 0 then pause,end
+
+function y=foo()
+ beta;
+ y=beta+1
+endfunction
+
+if execstr("foo","errcatch") <> 0 then pause,end
+
+funcprot(1);
diff --git a/modules/functions/tests/nonreg_tests/bug_1966.dia.ref b/modules/functions/tests/nonreg_tests/bug_1966.dia.ref
new file mode 100755
index 000000000..743589439
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1966.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 1966 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1966
+//
+// <-- Short Description -->
+//
+// getd doesn't work
+//
+//-->getd(pwd())
+// !--error 998
+//Can't go to directory getd(pwd())
+//at line 14 of function cd called by :
+//cd getd(pwd())
+my_dir = pathconvert(TMPDIR+"/bug_1966",%F,%F);
+my_file = pathconvert(my_dir+"/bug_1966_tst.sci",%F,%F);
+my_function_str = ["function c=bug_1966_tst(a,b)"; ..
+ " c = a + b;"; ..
+ "endfunction"];
+mkdir(my_dir);
+mputl(my_function_str,my_file);
+if execstr("getd(my_dir);","errcatch") <> 0 then bugmes();quit;end
+cd(my_dir);
+if execstr("getd(pwd());","errcatch") <> 0 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_1966.tst b/modules/functions/tests/nonreg_tests/bug_1966.tst
new file mode 100755
index 000000000..332eb0f5c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_1966.tst
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 1966 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1966
+//
+// <-- Short Description -->
+//
+// getd doesn't work
+//
+//-->getd(pwd())
+// !--error 998
+//Can't go to directory getd(pwd())
+//at line 14 of function cd called by :
+//cd getd(pwd())
+
+my_dir = pathconvert(TMPDIR+"/bug_1966",%F,%F);
+my_file = pathconvert(my_dir+"/bug_1966_tst.sci",%F,%F);
+my_function_str = ["function c=bug_1966_tst(a,b)"; ..
+ " c = a + b;"; ..
+ "endfunction"];
+
+mkdir(my_dir);
+
+mputl(my_function_str,my_file);
+
+if execstr("getd(my_dir);","errcatch") <> 0 then pause,end
+cd(my_dir);
+if execstr("getd(pwd());","errcatch") <> 0 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2098.dia.ref b/modules/functions/tests/nonreg_tests/bug_2098.dia.ref
new file mode 100755
index 000000000..e05c9f652
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2098.dia.ref
@@ -0,0 +1,26 @@
+// <-- Non-regression test for bug 2098 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2098
+//
+// <-- Short Description -->
+// showprofile(test) makes Scilab crash if the function 'test' has not
+// been prepared for profiling, as demonstrated by the following example:
+//
+// -->function test
+// -->disp('test')
+// -->endfunction
+//
+// -->test
+//
+// test
+//
+// -->showprofile(test) // this line makes Scilab exit silently
+// Author : Scilab Project - Pierre MARECHAL
+// Copyright INRIA
+// Date : 05 mai 2007
+function test
+ disp('test');
+endfunction
+ierr = execstr('showprofile(test)','errcatch');
+if ierr <> 10000 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2098.tst b/modules/functions/tests/nonreg_tests/bug_2098.tst
new file mode 100755
index 000000000..4de9edaf9
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2098.tst
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2098 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2098
+//
+// <-- Short Description -->
+// showprofile(test) makes Scilab crash if the function 'test' has not
+// been prepared for profiling, as demonstrated by the following example:
+//
+// -->function test
+// -->disp('test')
+// -->endfunction
+//
+// -->test
+//
+// test
+//
+// -->showprofile(test) // this line makes Scilab exit silently
+
+function test
+ disp('test');
+endfunction
+
+ierr = execstr('showprofile(test)','errcatch');
+if ierr <> 10000 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2238.dia.ref b/modules/functions/tests/nonreg_tests/bug_2238.dia.ref
new file mode 100755
index 000000000..2b7c21fa3
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2238.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2238 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2238
+//
+// <-- Short Description -->
+// function can returns a wrong error
+//
+function f2()
+ xxxxxxF0xx = 32;
+ disp(xxxxxxF0xx);
+endfunction
+f2();
+
+ 32.
diff --git a/modules/functions/tests/nonreg_tests/bug_2238.tst b/modules/functions/tests/nonreg_tests/bug_2238.tst
new file mode 100755
index 000000000..66083d466
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2238.tst
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2238 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2238
+//
+// <-- Short Description -->
+// function can returns a wrong error
+//
+
+function f2()
+ xxxxxxF0xx = 32;
+ disp(xxxxxxF0xx);
+endfunction
+
+f2();
diff --git a/modules/functions/tests/nonreg_tests/bug_2347.dia.ref b/modules/functions/tests/nonreg_tests/bug_2347.dia.ref
new file mode 100755
index 000000000..87a781ddd
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2347.dia.ref
@@ -0,0 +1,69 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2009 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2347 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2347
+//
+// <-- Short Description -->
+// fun2string does not correctly indent several 'case' clauses.
+//
+function testfun(a)
+select a
+case 1 then
+disp('a is 1')
+case 2 then
+disp('a is')
+disp('2')
+case 3 then
+disp('3')
+else
+disp('a is greater')
+end
+endfunction
+s=fun2string(testfun,'testf');
+ref=["function []=testf(a)";
+ " select a";
+ " case 1 then";
+ " disp(''a is 1'')";
+ " case 2 then";
+ " disp(''a is'')";
+ " disp(''2'')";
+ " case 3 then";
+ " disp(''3'')";
+ " else";
+ " disp(''a is greater'')";
+ " end,";
+ "endfunction"]
+ ref =
+
+!function []=testf(a) !
+! !
+! select a !
+! !
+! case 1 then !
+! !
+! disp('a is 1') !
+! !
+! case 2 then !
+! !
+! disp('a is') !
+! !
+! disp('2') !
+! !
+! case 3 then !
+! !
+! disp('3') !
+! !
+! else !
+! !
+! disp('a is greater') !
+! !
+! end, !
+! !
+!endfunction !
+if or(s<>ref) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2347.tst b/modules/functions/tests/nonreg_tests/bug_2347.tst
new file mode 100755
index 000000000..ce93faf6e
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2347.tst
@@ -0,0 +1,45 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2009 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2347 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2347
+//
+// <-- Short Description -->
+// fun2string does not correctly indent several 'case' clauses.
+//
+function testfun(a)
+select a
+case 1 then
+disp('a is 1')
+case 2 then
+disp('a is')
+disp('2')
+case 3 then
+disp('3')
+else
+disp('a is greater')
+end
+endfunction
+s=fun2string(testfun,'testf');
+ref=["function []=testf(a)";
+ " select a";
+ " case 1 then";
+ " disp(''a is 1'')";
+ " case 2 then";
+ " disp(''a is'')";
+ " disp(''2'')";
+ " case 3 then";
+ " disp(''3'')";
+ " else";
+ " disp(''a is greater'')";
+ " end,";
+ "endfunction"]
+if or(s<>ref) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2378.dia.ref b/modules/functions/tests/nonreg_tests/bug_2378.dia.ref
new file mode 100755
index 000000000..81ae22fea
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2378.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2378 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2378
+//
+// <-- Short Description -->
+// fun2string produces erroneous output (an extra 2 character appears) when there is a comment after an assignment.
+function []=f()
+a=b//
+endfunction
+t=fun2string(f);
+if or(stripblanks(t)<>["function []=ans()";"a = b//";"endfunction"]) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2378.tst b/modules/functions/tests/nonreg_tests/bug_2378.tst
new file mode 100755
index 000000000..902efe50e
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2378.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2378 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2378
+//
+// <-- Short Description -->
+// fun2string produces erroneous output (an extra 2 character appears) when there is a comment after an assignment.
+
+function []=f()
+a=b//
+endfunction
+
+t=fun2string(f);
+if or(stripblanks(t)<>["function []=ans()";"a = b//";"endfunction"]) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2420.dia.ref b/modules/functions/tests/nonreg_tests/bug_2420.dia.ref
new file mode 100755
index 000000000..0bf6ba3c7
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2420.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2420 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2420
+//
+// <-- Short Description -->
+// fun2string converts the sequence \@ as carriage return
+function a=strudel(),a='+\@+';endfunction
+t=fun2string(strudel);
+if stripblanks(t)<>"function a=ans(),a = ''+\@+'';endfunction" then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2420.tst b/modules/functions/tests/nonreg_tests/bug_2420.tst
new file mode 100755
index 000000000..8f7160a2a
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2420.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2420 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2420
+//
+// <-- Short Description -->
+// fun2string converts the sequence \@ as carriage return
+
+function a=strudel(),a='+\@+';endfunction
+t=fun2string(strudel);
+if stripblanks(t)<>"function a=ans(),a = ''+\@+'';endfunction" then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2476.dia.ref b/modules/functions/tests/nonreg_tests/bug_2476.dia.ref
new file mode 100755
index 000000000..785a6dee6
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2476.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2476 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2476
+//
+// <-- Short Description -->
+// Problems with quit and exit when using fun2string
+function foo1,exit,endfunction
+function foo2,quit,endfunction
+if execstr('fun2string(foo1)','errcatch')<>0 then bugmes();quit;end
+if execstr('fun2string(foo2)','errcatch')<>0 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2476.tst b/modules/functions/tests/nonreg_tests/bug_2476.tst
new file mode 100755
index 000000000..5de44eeb5
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2476.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2476 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2476
+//
+// <-- Short Description -->
+// Problems with quit and exit when using fun2string
+
+
+function foo1,exit,endfunction
+function foo2,quit,endfunction
+
+if execstr('fun2string(foo1)','errcatch')<>0 then pause,end
+if execstr('fun2string(foo2)','errcatch')<>0 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2509.dia.ref b/modules/functions/tests/nonreg_tests/bug_2509.dia.ref
new file mode 100755
index 000000000..cfc4b195d
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2509.dia.ref
@@ -0,0 +1,59 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2509 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2509
+//
+// <-- Short Description -->
+// execstr forgets to store the function name and line number when in the errcatch mode
+prot=funcprot();funcprot(0);
+//uncompiled macros
+deff('foo','a=aaaa','n')
+if execstr('foo()','errcatch')<>4 then bugmes();quit;end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then bugmes();quit;end
+try,
+ foo();
+catch
+ [str,n,l,f]=lasterror(%t);
+ if l<>2|f<>'foo' then bugmes();quit;end;
+end
+if exec(foo,'errcatch')<>4 then bugmes();quit;end
+
+
+
+a=aaaa
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then bugmes();quit;end
+//compiled macros
+deff('foo','a=aaaa')
+if execstr('foo()','errcatch')<>4 then bugmes();quit;end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then bugmes();quit;end
+try,
+ foo();
+catch
+ [str,n,l,f]=lasterror(%t);
+ if l<>2|f<>'foo' then bugmes();quit;end;
+end
+if exec(foo,'errcatch')<>4 then bugmes();quit;end
+
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then bugmes();quit;end
+//scripts
+foo=['a=1';'a=aaaa'];
+if execstr(foo,'errcatch')<>4 then bugmes();quit;end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'' then bugmes();quit;end
+//complex situations
+deff('foo','execstr(''a=aaaa'')')
+if execstr('foo()','errcatch')<>4 then bugmes();quit;end
+[str,n,l,f]=lasterror(%t);
+if l<>1|f<>'' then bugmes();quit;end
+funcprot(prot);
diff --git a/modules/functions/tests/nonreg_tests/bug_2509.tst b/modules/functions/tests/nonreg_tests/bug_2509.tst
new file mode 100755
index 000000000..54397ba4c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2509.tst
@@ -0,0 +1,68 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2509 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2509
+//
+// <-- Short Description -->
+// execstr forgets to store the function name and line number when in the errcatch mode
+
+prot=funcprot();funcprot(0);
+
+
+//uncompiled macros
+deff('foo','a=aaaa','n')
+if execstr('foo()','errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then pause,end
+
+try,
+ foo();
+catch
+ [str,n,l,f]=lasterror(%t);
+ if l<>2|f<>'foo' then pause,end;
+end
+
+if exec(foo,'errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then pause,end
+
+//compiled macros
+deff('foo','a=aaaa')
+if execstr('foo()','errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then pause,end
+
+try,
+ foo();
+catch
+ [str,n,l,f]=lasterror(%t);
+ if l<>2|f<>'foo' then pause,end;
+end
+
+if exec(foo,'errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'foo' then pause,end
+
+//scripts
+foo=['a=1';'a=aaaa'];
+if execstr(foo,'errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>2|f<>'' then pause,end
+
+//complex situations
+deff('foo','execstr(''a=aaaa'')')
+if execstr('foo()','errcatch')<>4 then pause,end
+[str,n,l,f]=lasterror(%t);
+if l<>1|f<>'' then pause,end
+
+
+funcprot(prot);
diff --git a/modules/functions/tests/nonreg_tests/bug_2551.dia.ref b/modules/functions/tests/nonreg_tests/bug_2551.dia.ref
new file mode 100755
index 000000000..f72f5c3dc
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2551.dia.ref
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2551 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=2551
+//
+// <-- Short Description -->
+// error recovery problem
+// Serge Steer - Scilab Project
+// Copyright INRIA
+// 6 feb 2008
+function f(); x=1;y=x(3);endfunction
+function g();exec(f);endfunction
+ierr=exec(g,'errcatch',-1)
+ ierr =
+
+ 21.
+if ierr<>21 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2551.tst b/modules/functions/tests/nonreg_tests/bug_2551.tst
new file mode 100755
index 000000000..e1897bd15
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2551.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2551 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=2551
+//
+// <-- Short Description -->
+// error recovery problem
+
+// Serge Steer - Scilab Project
+// Copyright INRIA
+// 6 feb 2008
+
+
+function f(); x=1;y=x(3);endfunction
+function g();exec(f);endfunction
+
+ierr=exec(g,'errcatch',-1)
+if ierr<>21 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2553.dia.ref b/modules/functions/tests/nonreg_tests/bug_2553.dia.ref
new file mode 100755
index 000000000..72c3c1d83
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2553.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2553 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=2553
+//
+// <-- Short Description -->
+// error recovery problem
+function toto();x=1;y=x(3)+1;endfunction
+function titi();execstr('toto();disp ok');endfunction
+ierr=exec(titi,'errcatch',-1)
+ ierr =
+
+ 21.
+
+if ierr<>21 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2553.tst b/modules/functions/tests/nonreg_tests/bug_2553.tst
new file mode 100755
index 000000000..43c58c688
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2553.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2553 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=2553
+//
+// <-- Short Description -->
+// error recovery problem
+
+function toto();x=1;y=x(3)+1;endfunction
+function titi();execstr('toto();disp ok');endfunction
+ierr=exec(titi,'errcatch',-1)
+
+if ierr<>21 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2654.dia.ref b/modules/functions/tests/nonreg_tests/bug_2654.dia.ref
new file mode 100755
index 000000000..b4c543413
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2654.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2654 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2654
+//
+// <-- Short Description -->
+// exec returned a wrong error if line had more than 4096 characters
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce','errcatch');
+if ierr <> 113 then bugmes();quit;end
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce','errcatch');
+if ierr <> 113 then bugmes();quit;end
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_OK.sce','errcatch');
+
+ NO
+if ierr <> 0 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2654.tst b/modules/functions/tests/nonreg_tests/bug_2654.tst
new file mode 100755
index 000000000..39eaf12de
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2654.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2654 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2654
+//
+// <-- Short Description -->
+// exec returned a wrong error if line had more than 4096 characters
+
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce','errcatch');
+if ierr <> 113 then pause, end
+
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce','errcatch');
+if ierr <> 113 then pause, end
+
+ierr = exec('SCI/modules/functions/tests/nonreg_tests/bug_2654_test_OK.sce','errcatch');
+if ierr <> 0 then pause, end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce b/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce
new file mode 100755
index 000000000..61ecb2c6e
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_1.sce
@@ -0,0 +1,12 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+a = "YES";
+b = "NO";
+
+if (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) then disp(a); else disp(b); end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce b/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce
new file mode 100755
index 000000000..a82c77e30
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2654_test_NOK_2.sce
@@ -0,0 +1,12 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+a = "YES";
+b = "NO";
+
+if (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) then disp(a); else disp(b); end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_2654_test_OK.sce b/modules/functions/tests/nonreg_tests/bug_2654_test_OK.sce
new file mode 100755
index 000000000..7511f3c28
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2654_test_OK.sce
@@ -0,0 +1,12 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+a = "YES";
+b = "NO";
+
+if (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) | (0 == 1) then disp(a); else disp(b); end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_2873.dia.ref b/modules/functions/tests/nonreg_tests/bug_2873.dia.ref
new file mode 100755
index 000000000..2922246e0
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2873.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2873 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2873
+//
+// <-- Short Description -->
+// Use of getd() on the command line for a directory which contains a function named the same
+// as a permanent variable causes Scilab to stop responding to any input (on the command line or UI in general).
+// The Scilab executable must be forced to close from tas
+my_function = ["function out = home()";"out = 1";"endfunction"];
+my_dir = TMPDIR+"/bug2873_dir";
+my_file = my_dir+"/home.sci";
+mkdir(my_dir);
+mputl(my_function,my_file);
+execstr("getd(''"+my_dir+"'')","errcatch");
+if( execstr("a = 1;","errcatch") <> 0 ) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_2873.tst b/modules/functions/tests/nonreg_tests/bug_2873.tst
new file mode 100755
index 000000000..8dbd4135c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2873.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO TRY CATCH -->
+
+// <-- Non-regression test for bug 2873 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2873
+//
+// <-- Short Description -->
+// Use of getd() on the command line for a directory which contains a function named the same
+// as a permanent variable causes Scilab to stop responding to any input (on the command line or UI in general).
+// The Scilab executable must be forced to close from tas
+
+my_function = ["function out = home()";"out = 1";"endfunction"];
+my_dir = TMPDIR+"/bug2873_dir";
+my_file = my_dir+"/home.sci";
+
+mkdir(my_dir);
+mputl(my_function,my_file);
+
+execstr("getd(''"+my_dir+"'')","errcatch");
+if( execstr("a = 1;","errcatch") <> 0 ) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_2987.dia.ref b/modules/functions/tests/nonreg_tests/bug_2987.dia.ref
new file mode 100755
index 000000000..a0b52034c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2987.dia.ref
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2987 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2987
+head_comments('sinc')
+function [y] = sinc(x,fl)
+ [ sin(x(i))/x(i) if x(i)~=0
+ computes y(i)=[
+ [ 1 if x(i)~=0
diff --git a/modules/functions/tests/nonreg_tests/bug_2987.tst b/modules/functions/tests/nonreg_tests/bug_2987.tst
new file mode 100755
index 000000000..c11535d35
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_2987.tst
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2987 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2987
+
+head_comments('sinc')
diff --git a/modules/functions/tests/nonreg_tests/bug_3533.dia.ref b/modules/functions/tests/nonreg_tests/bug_3533.dia.ref
new file mode 100755
index 000000000..6c43aece3
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_3533.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3533 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3533
+//
+// <-- Short Description -->
+// lib(dir_path) doesn't work if the final slash is missing in dir_path.
+//define some variables
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+A=1:10;
+//create the *.bin files in libdir
+libdir=TMPDIR;
+warning("off");
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+save(libdir + '/A.bin', A);
+//create the name file
+mputl(['myplus';'yourplus';'A'],TMPDIR+'/names');
+//build the library containing myplus and yourplus
+ierr = execstr('mylib = lib(libdir)','errcatch');
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('mylib = lib(libdir+filesep())','errcatch');
+if ierr <> 0 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_3533.tst b/modules/functions/tests/nonreg_tests/bug_3533.tst
new file mode 100755
index 000000000..016aed673
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_3533.tst
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 3533 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3533
+//
+// <-- Short Description -->
+// lib(dir_path) doesn't work if the final slash is missing in dir_path.
+
+
+//define some variables
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+A=1:10;
+
+//create the *.bin files in libdir
+libdir=TMPDIR;
+warning("off");
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+save(libdir + '/A.bin', A);
+
+//create the name file
+mputl(['myplus';'yourplus';'A'],TMPDIR+'/names');
+
+//build the library containing myplus and yourplus
+ierr = execstr('mylib = lib(libdir)','errcatch');
+if ierr <> 0 then pause,end
+
+ierr = execstr('mylib = lib(libdir+filesep())','errcatch');
+if ierr <> 0 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_4192.dia.ref b/modules/functions/tests/nonreg_tests/bug_4192.dia.ref
new file mode 100755
index 000000000..90e6131cb
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4192.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 4192 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4192
+//
+// <-- Short Description -->
+// When I do a getd in a directory where there are no .sci files, getd prints
+// an error message. The error message should be clearer
+test_dir = TMPDIR+"/dir_bug_4192";
+test_file = test_dir+"/file.sci.bug_4192";
+mkdir(test_dir);
+if ~isdir(test_dir) then bugmes();quit;end
+cd(test_dir);
+execstr("getd(""."")","errcatch");
+if( regexp(lasterror(),"/getd: I cannot find any files with extension/") <> 1 ) then bugmes();quit;end
+mputl("Hello World",test_file);
+execstr("getd(""."")","errcatch");
+if( regexp(lasterror(),"/getd: I cannot find any files with extension/") <> 1 ) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_4192.tst b/modules/functions/tests/nonreg_tests/bug_4192.tst
new file mode 100755
index 000000000..95ca66239
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4192.tst
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// <-- Non-regression test for bug 4192 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4192
+//
+// <-- Short Description -->
+// When I do a getd in a directory where there are no .sci files, getd prints
+// an error message. The error message should be clearer
+
+
+test_dir = TMPDIR+"/dir_bug_4192";
+test_file = test_dir+"/file.sci.bug_4192";
+
+mkdir(test_dir);
+if ~isdir(test_dir) then pause,end
+
+cd(test_dir);
+
+execstr("getd(""."")","errcatch");
+if( regexp(lasterror(),"/getd: I cannot find any files with extension/") <> 1 ) then pause,end
+
+mputl("Hello World",test_file);
+execstr("getd(""."")","errcatch");
+if( regexp(lasterror(),"/getd: I cannot find any files with extension/") <> 1 ) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_4495.dia.ref b/modules/functions/tests/nonreg_tests/bug_4495.dia.ref
new file mode 100755
index 000000000..649d5ac1c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4495.dia.ref
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 4495 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4495
+//
+// <-- Short Description -->
+// exec does not check second and third input arguments.
+// =============================================================================
+function mytestfunc()
+ disp("mytestfunc: called ok");
+endfunction
+// =============================================================================
+exec(mytestfunc);
+
+ mytestfunc: called ok
+// =============================================================================
+mputl("a=1;b=2;",TMPDIR+"/myscript");
+ierr = execstr("exec(TMPDIR+''/myscript'',''toto'',''tata'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
+exec(TMPDIR+"/myscript");
+// =============================================================================
+exec(TMPDIR+"/myscript","errcatch");
+exec(TMPDIR+"/myscript",-1);
+exec(TMPDIR+"/myscript","errcatch",-1);
+ierr = execstr("exec(TMPDIR+''/myscript'',-1,''blabla'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
+ierr = execstr("exec(TMPDIR+''/myscript'',0,''blabla'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
+ierr = execstr("exec(TMPDIR+''/myscript'',''blabla'',0);","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4495.tst b/modules/functions/tests/nonreg_tests/bug_4495.tst
new file mode 100755
index 000000000..dfb829404
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4495.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4495 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4495
+//
+// <-- Short Description -->
+// exec does not check second and third input arguments.
+// =============================================================================
+function mytestfunc()
+ disp("mytestfunc: called ok");
+endfunction
+// =============================================================================
+exec(mytestfunc);
+// =============================================================================
+mputl("a=1;b=2;",TMPDIR+"/myscript");
+ierr = execstr("exec(TMPDIR+''/myscript'',''toto'',''tata'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
+exec(TMPDIR+"/myscript");
+// =============================================================================
+exec(TMPDIR+"/myscript","errcatch");
+exec(TMPDIR+"/myscript",-1);
+exec(TMPDIR+"/myscript","errcatch",-1);
+ierr = execstr("exec(TMPDIR+''/myscript'',-1,''blabla'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
+ierr = execstr("exec(TMPDIR+''/myscript'',0,''blabla'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
+ierr = execstr("exec(TMPDIR+''/myscript'',''blabla'',0);","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4608.dia.ref b/modules/functions/tests/nonreg_tests/bug_4608.dia.ref
new file mode 100755
index 000000000..e0667034b
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4608.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 4608 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4608
+//
+// <-- Short Description -->
+// get_function_path returns a non-consistent path
+// ver is in "core" module
+r = get_function_path('ver');
+ref = pathconvert(SCI + '/modules/core/macros/ver.sci',%f);
+if getlongpathname(r) <> getlongpathname(ref) then bugmes();quit;end
+ierr = execstr('get_function_path(1)','errcatch');
+if ierr <> 999 then bugmes();quit;end
+ierr = execstr('get_function_path([''ver'',''typeof''])','errcatch');
+if ierr <> 999 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_4608.tst b/modules/functions/tests/nonreg_tests/bug_4608.tst
new file mode 100755
index 000000000..5963b7fb4
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4608.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4608 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4608
+//
+// <-- Short Description -->
+// get_function_path returns a non-consistent path
+
+// ver is in "core" module
+r = get_function_path('ver');
+ref = pathconvert(SCI + '/modules/core/macros/ver.sci',%f);
+if getlongpathname(r) <> getlongpathname(ref) then pause,end
+
+ierr = execstr('get_function_path(1)','errcatch');
+if ierr <> 999 then pause,end
+
+ierr = execstr('get_function_path([''ver'',''typeof''])','errcatch');
+if ierr <> 999 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_4841.dia.ref b/modules/functions/tests/nonreg_tests/bug_4841.dia.ref
new file mode 100755
index 000000000..99dbf528c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4841.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 4841 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4841
+//
+// <-- Short Description -->
+// functions created by 'getd' were unknown to scilab.
+cd TMPDIR;
+mkdir('bug_2807');
+txt = ['function bug_2807()';
+ 'endfunction'];
+mputl(txt, TMPDIR + '/bug_2807/bug_2807.sci');
+cd(SCI);
+getd(TMPDIR + '/bug_2807');
+v = getvariablesonstack();
+if grep(v,'bug_2807') == [] then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_4841.tst b/modules/functions/tests/nonreg_tests/bug_4841.tst
new file mode 100755
index 000000000..4f5480d32
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4841.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 4841 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4841
+//
+// <-- Short Description -->
+// functions created by 'getd' were unknown to scilab.
+
+cd TMPDIR;
+mkdir('bug_2807');
+txt = ['function bug_2807()';
+ 'endfunction'];
+mputl(txt, TMPDIR + '/bug_2807/bug_2807.sci');
+cd(SCI);
+getd(TMPDIR + '/bug_2807');
+v = getvariablesonstack();
+if grep(v,'bug_2807') == [] then pause, end
diff --git a/modules/functions/tests/nonreg_tests/bug_4943.dia.ref b/modules/functions/tests/nonreg_tests/bug_4943.dia.ref
new file mode 100755
index 000000000..5912cd0ad
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4943.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 4943 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4943
+//
+// <-- Short Description -->
+// execstr does not check input arguments.
+// =============================================================================
+ierr = execstr('a=zzzzzzz','errcatch','n');
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errcatch'',''nooon'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
+ierr = execstr('a=zzzzzzz','errcatch');
+if ierr <> 4 then bugmes();quit;end
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errBADcatch'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errBADcatch'',''n'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4943.tst b/modules/functions/tests/nonreg_tests/bug_4943.tst
new file mode 100755
index 000000000..0c4a8a3ba
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4943.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4943 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4943
+//
+// <-- Short Description -->
+// execstr does not check input arguments.
+// =============================================================================
+ierr = execstr('a=zzzzzzz','errcatch','n');
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errcatch'',''nooon'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
+ierr = execstr('a=zzzzzzz','errcatch');
+if ierr <> 4 then pause,end
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errBADcatch'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
+ierr = execstr("ierr = execstr(''a=zzzzzzz'',''errBADcatch'',''n'');","errcatch");
+if ierr <> 999 then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4966.dia.ref b/modules/functions/tests/nonreg_tests/bug_4966.dia.ref
new file mode 100755
index 000000000..884c68d4a
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4966.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 4943 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4943
+//
+// <-- Short Description -->
+// execstr([]) should return []
+// =============================================================================
+if execstr([]) <> [] then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4966.tst b/modules/functions/tests/nonreg_tests/bug_4966.tst
new file mode 100755
index 000000000..574e07daf
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4966.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4943 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4943
+//
+// <-- Short Description -->
+// execstr([]) should return []
+// =============================================================================
+if execstr([]) <> [] then pause,end
+// ============================================================================= \ No newline at end of file
diff --git a/modules/functions/tests/nonreg_tests/bug_4968.dia.ref b/modules/functions/tests/nonreg_tests/bug_4968.dia.ref
new file mode 100755
index 000000000..423a45a13
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4968.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 4968 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4968
+//
+// <-- Short Description -->
+// part() or strsubst() problem with UTF-8 when exec ???
+// =============================================================================
+URL = "http://www.scilab.org/abc.htm";
+// =============================================================================
+tmp = strsubst(URL, "//", "§");
+if tmp <> "http:§www.scilab.org/abc.htm" then bugmes();quit;end
+// =============================================================================
+i = strcspn(tmp, "/");
+if length("http:§www.scilab.org") <> 20 then bugmes();quit;end
+if i <> 20 then bugmes();quit;end
+// =============================================================================
+server = strsubst(part(tmp, 1:i), "§", "//");
+if part(tmp, 1:i) <> 'http:§www.scilab.org' then bugmes();quit;end
+if server <> 'http://www.scilab.org' then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4968.tst b/modules/functions/tests/nonreg_tests/bug_4968.tst
new file mode 100755
index 000000000..cb332dbd5
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4968.tst
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 4968 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4968
+//
+// <-- Short Description -->
+// part() or strsubst() problem with UTF-8 when exec ???
+// =============================================================================
+URL = "http://www.scilab.org/abc.htm";
+// =============================================================================
+tmp = strsubst(URL, "//", "§");
+if tmp <> "http:§www.scilab.org/abc.htm" then pause,end
+// =============================================================================
+i = strcspn(tmp, "/");
+if length("http:§www.scilab.org") <> 20 then pause, end
+if i <> 20 then pause,end
+// =============================================================================
+server = strsubst(part(tmp, 1:i), "§", "//");
+if part(tmp, 1:i) <> 'http:§www.scilab.org' then pause, end
+if server <> 'http://www.scilab.org' then pause, end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4974.dia.ref b/modules/functions/tests/nonreg_tests/bug_4974.dia.ref
new file mode 100755
index 000000000..1e217c918
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4974.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 4974 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4974
+//
+// <-- Short Description -->
+// exec('') crashs scilab
+// =============================================================================
+ierr = execstr("exec('''',-1);","errcatch");
+if ierr == 0 then bugmes();quit;end
+ierr = execstr("exec('''');","errcatch");
+if ierr == 0 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_4974.tst b/modules/functions/tests/nonreg_tests/bug_4974.tst
new file mode 100755
index 000000000..1bdb45118
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_4974.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4974 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4974
+//
+// <-- Short Description -->
+// exec('') crashs scilab
+// =============================================================================
+ierr = execstr("exec('''',-1);","errcatch");
+if ierr == 0 then pause,end
+ierr = execstr("exec('''');","errcatch");
+if ierr == 0 then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_525.dia.ref b/modules/functions/tests/nonreg_tests/bug_525.dia.ref
new file mode 100755
index 000000000..8c698b3da
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_525.dia.ref
@@ -0,0 +1,31 @@
+// <-- Non-regression test for bug 525 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=525
+//
+// <-- Short Description -->
+// Bug Report Id: 126632003824121343
+// error messages are strange to say least, scilab gets stymied after the second attempt.
+//
+// ps: I realize that execstr() is most likely responsible for all what I posted earlier today about ScilabEval on the newsgroup
+//
+// On Scilab CVS with " execstr() " function
+// The Error Messages are:
+// -->execstr("function foo")
+// !--error 17
+// stack size exceeded! (Use stacksize function to increase it)
+// Memory used for variables : 17086
+// Intermediate memory needed: 982925
+// Total memory available : 1000001
+// in execstr instruction called by :
+// execstr("function foo")
+//
+//
+// -->stacksize(2e6)
+//
+// -->execstr("function foo")
+// ...
+stacksize(2e6);
+execstr("function foo","errcatch");
+str = lasterror();
+if str<>msprintf(gettext("endfunction is missing.\n")) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_525.tst b/modules/functions/tests/nonreg_tests/bug_525.tst
new file mode 100755
index 000000000..076fe94c7
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_525.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 525 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=525
+//
+// <-- Short Description -->
+// Bug Report Id: 126632003824121343
+// error messages are strange to say least, scilab gets stymied after the second attempt.
+//
+// ps: I realize that execstr() is most likely responsible for all what I posted earlier today about ScilabEval on the newsgroup
+//
+// On Scilab CVS with " execstr() " function
+// The Error Messages are:
+// -->execstr("function foo")
+// !--error 17
+// stack size exceeded! (Use stacksize function to increase it)
+// Memory used for variables : 17086
+// Intermediate memory needed: 982925
+// Total memory available : 1000001
+// in execstr instruction called by :
+// execstr("function foo")
+//
+//
+// -->stacksize(2e6)
+//
+// -->execstr("function foo")
+// ...
+
+stacksize(2e6);
+execstr("function foo","errcatch");
+str = lasterror();
+if str<>msprintf(gettext("endfunction is missing.\n")) then pause,end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_528.dia.ref b/modules/functions/tests/nonreg_tests/bug_528.dia.ref
new file mode 100755
index 000000000..f4da9e5a2
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_528.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 528 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=528
+//
+// <-- Short Description -->
+// Bug Report Id: 12711200382914450
+// misleading error message (I think the error means: "hardcoded function cannot be translated in lingo")
+//
+// On Scilab CVS with " fun2string() " function
+// The Error Messages are:
+// -->fun2string(ones)
+// Warning: obsolete use of eye rand or ones
+// !
+//
+//
+// !--error 44
+// first argument is incorrect
+// at line 13 of function fun2string called by :
+// fun2string(ones)
+//
+//
+//
+// Commands: fun2string(ones)
+//
+// Enrico SEGRE on Linux version distribution RH9-i386 with as window manager
+// ...
+// exec("bug528.sce")
+execstr("fun2string(ones)","errcatch");
+if lasterror()<> msprintf(gettext("Wrong first argument.\n")) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_528.tst b/modules/functions/tests/nonreg_tests/bug_528.tst
new file mode 100755
index 000000000..c332382a3
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_528.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 528 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=528
+//
+// <-- Short Description -->
+// Bug Report Id: 12711200382914450
+// misleading error message (I think the error means: "hardcoded function cannot be translated in lingo")
+//
+// On Scilab CVS with " fun2string() " function
+// The Error Messages are:
+// -->fun2string(ones)
+// Warning: obsolete use of eye rand or ones
+// !
+//
+//
+// !--error 44
+// first argument is incorrect
+// at line 13 of function fun2string called by :
+// fun2string(ones)
+//
+//
+//
+// Commands: fun2string(ones)
+//
+// Enrico SEGRE on Linux version distribution RH9-i386 with as window manager
+// ...
+
+// exec("bug528.sce")
+
+execstr("fun2string(ones)","errcatch");
+if lasterror()<> msprintf(gettext("Wrong first argument.\n")) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_5286.dia.ref b/modules/functions/tests/nonreg_tests/bug_5286.dia.ref
new file mode 100755
index 000000000..15168bfb2
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5286.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5286 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5286
+//
+// <-- Short Description -->
+// calling the 'lib' function with the wrong path makes scilab hangs on Mandriva 64
+// =============================================================================
+ierr = execstr('lib(''test'');','errcatch');
+if ierr <> 241 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_5286.tst b/modules/functions/tests/nonreg_tests/bug_5286.tst
new file mode 100755
index 000000000..a92fea5af
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5286.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 5286 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5286
+//
+// <-- Short Description -->
+// calling the 'lib' function with the wrong path makes scilab hangs on Mandriva 64
+// =============================================================================
+ierr = execstr('lib(''test'');','errcatch');
+if ierr <> 241 then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_5507.dia.ref b/modules/functions/tests/nonreg_tests/bug_5507.dia.ref
new file mode 100755
index 000000000..a3527a378
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5507.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5507 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5507
+//
+// <-- Short Description -->
+// whereis(bin2dec) returned a error
+// =============================================================================
+ierr = execstr('a = whereis(bin2dec);','errcatch');
+if ierr <> 0 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_5507.tst b/modules/functions/tests/nonreg_tests/bug_5507.tst
new file mode 100755
index 000000000..48be71f13
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5507.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 5507 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5507
+//
+// <-- Short Description -->
+// whereis(bin2dec) returned a error
+// =============================================================================
+ierr = execstr('a = whereis(bin2dec);','errcatch');
+if ierr <> 0 then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_5583.dia.ref b/modules/functions/tests/nonreg_tests/bug_5583.dia.ref
new file mode 100755
index 000000000..a039a9e34
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5583.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 5583 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5583
+//
+// <-- Short Description -->
+// 'exec' did not manage correctly UTF-8 and ANSI files encoded.
+exec SCI/modules/functions/tests/nonreg_tests/bug_5583_ANSI.sce;
+
+ éàçùè@$
+
+ ok with ANSI
+exec SCI/modules/functions/tests/nonreg_tests/bug_5583_UTF.sce;
+
+ éàçùè@$
+
+ ok with UTF
+
+!世界您好 !
+! !
+!азеазея !
+! !
+!ハロー・ワールド !
+! !
+!เฮลโลเวิลด์ !
+! !
+!حريات وحقوق !
+! !
+!תוכנית !
diff --git a/modules/functions/tests/nonreg_tests/bug_5583.tst b/modules/functions/tests/nonreg_tests/bug_5583.tst
new file mode 100755
index 000000000..24c9eec07
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5583.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 5583 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5583
+//
+// <-- Short Description -->
+// 'exec' did not manage correctly UTF-8 and ANSI files encoded.
+
+exec SCI/modules/functions/tests/nonreg_tests/bug_5583_ANSI.sce;
+exec SCI/modules/functions/tests/nonreg_tests/bug_5583_UTF.sce;
diff --git a/modules/functions/tests/nonreg_tests/bug_5583_ANSI.sce b/modules/functions/tests/nonreg_tests/bug_5583_ANSI.sce
new file mode 100755
index 000000000..3d9a27a3f
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5583_ANSI.sce
@@ -0,0 +1,10 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// file encoded as ANSI
+disp("éàçùè@$");
+disp("ok with ANSI");
diff --git a/modules/functions/tests/nonreg_tests/bug_5583_UTF.sce b/modules/functions/tests/nonreg_tests/bug_5583_UTF.sce
new file mode 100755
index 000000000..3cb9dba80
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_5583_UTF.sce
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// file encoded as UTF-8 (NO-BOM)
+disp("éàçùè@$");
+disp("ok with UTF");
+
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"תוכנית"];
+
+disp(tab_ref);
diff --git a/modules/functions/tests/nonreg_tests/bug_610.dia.ref b/modules/functions/tests/nonreg_tests/bug_610.dia.ref
new file mode 100755
index 000000000..a1585c39a
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_610.dia.ref
@@ -0,0 +1,17 @@
+// <-- Non-regression test for bug 610 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=610
+//
+// <-- Short Description -->
+// In a function with a varargout list I want to call another
+// function having a varargout list. How should I code it
+// (this is simple in Matlab)? The following is my example
+// which does not work. Any suggestions?
+function varargout = mysum(a, b)
+ varargout = list(a + b, a - b, a * b);
+endfunction
+if execstr('function [y, varargout] = MyNew(a,b) ..
+ [y, varargout] = mysum(a,b) ..
+ endfunction' ..
+,'errcatch' ) <> 37 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_610.tst b/modules/functions/tests/nonreg_tests/bug_610.tst
new file mode 100755
index 000000000..fd3d131a9
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_610.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 610 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=610
+//
+// <-- Short Description -->
+// In a function with a varargout list I want to call another
+// function having a varargout list. How should I code it
+// (this is simple in Matlab)? The following is my example
+// which does not work. Any suggestions?
+
+function varargout = mysum(a, b)
+ varargout = list(a + b, a - b, a * b);
+endfunction
+
+if execstr('function [y, varargout] = MyNew(a,b) ..
+ [y, varargout] = mysum(a,b) ..
+ endfunction' ..
+,'errcatch' ) <> 37 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_6549.dia.ref b/modules/functions/tests/nonreg_tests/bug_6549.dia.ref
new file mode 100755
index 000000000..b2712e816
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6549.dia.ref
@@ -0,0 +1,78 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6549 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6549
+//
+// <-- Short Description -->
+// genlib function had a behavior which was not consistent with the load function.
+// =============================================================================
+f = [
+"function titi()"
+" disp(''titi'');"
+"endfunction"
+""
+"function tata()"
+" disp(''tata'');"
+"endfunction"
+""
+"function toto()"
+" disp(''toto'');"
+"endfunction"
+""
+];
+cd TMPDIR;
+mkdir('bug_6549');
+cd('bug_6549');
+mputl(f,'toto.sci');
+if genlib('bug_6549lib',TMPDIR + '/bug_6549') <> %t then bugmes();quit;end;
+// =============================================================================
+ierr = execstr('toto','errcatch');
+
+ toto
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('titi','errcatch');
+
+ titi
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('tata','errcatch');
+
+ tata
+if ierr <> 0 then bugmes();quit;end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
+load(TMPDIR + '/bug_6549/lib');
+ierr = execstr('toto','errcatch');
+
+ toto
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('titi','errcatch');
+
+ titi
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('tata','errcatch');
+
+ tata
+if ierr <> 0 then bugmes();quit;end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
+bug_6549lib = lib(TMPDIR + '/bug_6549');
+ierr = execstr('toto','errcatch');
+
+ toto
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('titi','errcatch');
+
+ titi
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr('tata','errcatch');
+
+ tata
+if ierr <> 0 then bugmes();quit;end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_6549.tst b/modules/functions/tests/nonreg_tests/bug_6549.tst
new file mode 100755
index 000000000..f302a016f
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6549.tst
@@ -0,0 +1,60 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6549 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6549
+//
+// <-- Short Description -->
+// genlib function had a behavior which was not consistent with the load function.
+// =============================================================================
+f = [
+"function titi()"
+" disp(''titi'');"
+"endfunction"
+""
+"function tata()"
+" disp(''tata'');"
+"endfunction"
+""
+"function toto()"
+" disp(''toto'');"
+"endfunction"
+""
+];
+cd TMPDIR;
+mkdir('bug_6549');
+cd('bug_6549');
+mputl(f,'toto.sci');
+if genlib('bug_6549lib',TMPDIR + '/bug_6549') <> %t then pause,end;
+// =============================================================================
+ierr = execstr('toto','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('titi','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('tata','errcatch');
+if ierr <> 0 then pause,end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
+load(TMPDIR + '/bug_6549/lib');
+ierr = execstr('toto','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('titi','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('tata','errcatch');
+if ierr <> 0 then pause,end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
+bug_6549lib = lib(TMPDIR + '/bug_6549');
+ierr = execstr('toto','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('titi','errcatch');
+if ierr <> 0 then pause,end
+ierr = execstr('tata','errcatch');
+if ierr <> 0 then pause,end
+clear bug_6549lib titi toto tata ierr;
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_6550.dia.ref b/modules/functions/tests/nonreg_tests/bug_6550.dia.ref
new file mode 100755
index 000000000..8b717df45
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6550.dia.ref
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6550 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6550
+//
+// <-- Short Description -->
+// lib(".") used relative path in library variable created
+// =============================================================================
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+// =============================================================================
+cd TMPDIR;
+mkdir('bug_6550');
+libdir = TMPDIR + '/bug_6550';
+warning("off");
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+//create the name file
+mputl(['myplus';'yourplus'], libdir + '/names');
+// =============================================================================
+cd(libdir);
+AAlib = lib('.');
+[f, p] = libraryinfo('AAlib');
+if pathconvert(p, %f, %f) <> pathconvert(libdir, %f, %f) then bugmes();quit;end
+// =============================================================================
+BBlib = lib(libdir + '/../bug_6550/../bug_6550');
+[f, p] = libraryinfo('BBlib');
+if pathconvert(p, %f, %f) <> pathconvert(libdir, %f, %f) then bugmes();quit;end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_6550.tst b/modules/functions/tests/nonreg_tests/bug_6550.tst
new file mode 100755
index 000000000..79d2b611d
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6550.tst
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6550 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6550
+//
+// <-- Short Description -->
+// lib(".") used relative path in library variable created
+// =============================================================================
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+// =============================================================================
+cd TMPDIR;
+mkdir('bug_6550');
+libdir = TMPDIR + '/bug_6550';
+warning("off");
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+//create the name file
+mputl(['myplus';'yourplus'], libdir + '/names');
+// =============================================================================
+cd(libdir);
+AAlib = lib('.');
+[f, p] = libraryinfo('AAlib');
+if pathconvert(p, %f, %f) <> pathconvert(libdir, %f, %f) then pause,end
+// =============================================================================
+BBlib = lib(libdir + '/../bug_6550/../bug_6550');
+[f, p] = libraryinfo('BBlib');
+if pathconvert(p, %f, %f) <> pathconvert(libdir, %f, %f) then pause,end
+// =============================================================================
diff --git a/modules/functions/tests/nonreg_tests/bug_670.dia.ref b/modules/functions/tests/nonreg_tests/bug_670.dia.ref
new file mode 100755
index 000000000..83ccf728b
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_670.dia.ref
@@ -0,0 +1,22 @@
+// <-- Non-regression test for bug 670 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=670
+//
+// <-- Short Description -->
+// Stack problem in FUN2STRING. Occurs in many different
+// situations, one situation can be reproduced using the code
+// below.
+// Copyright INRIA
+// Scilab Project - Serge Steer
+// Copyright INRIA 2006
+// Date : 10 janvier 2006
+deff('a = foo()', ...
+ 'b = tlist([''b''; ''c''], 0); ' + ...
+ 'a = tlist([''a''; ''b''], b); ' + ...
+ 'a.b.c = getText() + ''text 2'' ');
+t=fun2string(foo);
+t_ref=["function a=ans()";
+" b = tlist([''b'';''c''], 0);a = tlist([''a'';''b''], b);a.b.c = getText() + ''text 2''";
+"endfunction"];
+if or( t <> t_ref ) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_670.tst b/modules/functions/tests/nonreg_tests/bug_670.tst
new file mode 100755
index 000000000..b73579e21
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_670.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 670 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=670
+//
+// <-- Short Description -->
+// Stack problem in FUN2STRING. Occurs in many different
+// situations, one situation can be reproduced using the code
+// below.
+
+deff('a = foo()', ...
+ 'b = tlist([''b''; ''c''], 0); ' + ...
+ 'a = tlist([''a''; ''b''], b); ' + ...
+ 'a.b.c = getText() + ''text 2'' ');
+
+t=fun2string(foo);
+
+t_ref=["function a=ans()";
+" b = tlist([''b'';''c''], 0);a = tlist([''a'';''b''], b);a.b.c = getText() + ''text 2''";
+"endfunction"];
+
+if or( t <> t_ref ) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_6841.dia.ref b/modules/functions/tests/nonreg_tests/bug_6841.dia.ref
new file mode 100755
index 000000000..1b2198fe4
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6841.dia.ref
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6841 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6841
+//
+// <-- Short Description -->
+// fun2string does not work on a simple example.
+function myfoo ( )
+ B = zeros(2,1)
+ v = B(1,1)
+endfunction
+fun2string(myfoo)
+ ans =
+
+!function []=ans() !
+! !
+! B = zeros(2, 1) !
+! !
+! v = B(1, 1) !
+! !
+!endfunction !
diff --git a/modules/functions/tests/nonreg_tests/bug_6841.tst b/modules/functions/tests/nonreg_tests/bug_6841.tst
new file mode 100755
index 000000000..9374e3034
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6841.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6841 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6841
+//
+// <-- Short Description -->
+// fun2string does not work on a simple example.
+
+function myfoo ( )
+ B = zeros(2,1)
+ v = B(1,1)
+endfunction
+fun2string(myfoo) \ No newline at end of file
diff --git a/modules/functions/tests/nonreg_tests/bug_6849.dia.ref b/modules/functions/tests/nonreg_tests/bug_6849.dia.ref
new file mode 100755
index 000000000..010c1b0e2
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6849.dia.ref
@@ -0,0 +1,85 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 6849 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6849
+//
+// <-- Short Description -->
+// add_profiling badly handles else that may make plotprofile function
+// produce an incorrect report
+function t
+ if ok then
+ //i
+ else
+ //l
+ end
+endfunction
+add_profiling('t')
+Warning : redefining function: t . Use funcprot(0) to avoid this message
+
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t)<>ref ) then bugmes();quit;end
+function t1
+ if ok then
+ //i
+ elseif a then
+ //e
+ else
+ //l
+ end
+endfunction
+add_profiling('t1')
+Warning : redefining function: t1 . Use funcprot(0) to avoid this message
+
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t1)<>ref) then bugmes();quit;end
+function t2
+ while ok
+ //w
+ else
+ //e
+ end
+endfunction
+add_profiling('t2')
+Warning : redefining function: t2 . Use funcprot(0) to avoid this message
+
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t2)<>ref ) then bugmes();quit;end
+function t3
+ select x
+ case 1
+ //1
+ case 2
+ //2
+ end
+endfunction
+add_profiling('t3')
+Warning : redefining function: t3 . Use funcprot(0) to avoid this message
+
+ref=[0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t3)<>ref ) then bugmes();quit;end
+function t4
+ select x
+ case 1
+ //1
+ case 2
+ //2
+ else
+ //e
+ end
+endfunction
+add_profiling('t4')
+Warning : redefining function: t4 . Use funcprot(0) to avoid this message
+
+ref=[0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t4)<>ref ) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_6849.tst b/modules/functions/tests/nonreg_tests/bug_6849.tst
new file mode 100755
index 000000000..538a5aaf5
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6849.tst
@@ -0,0 +1,87 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 6849 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6849
+//
+// <-- Short Description -->
+// add_profiling badly handles else that may make plotprofile function
+// produce an incorrect report
+
+function t
+ if ok then
+ //i
+ else
+ //l
+ end
+endfunction
+add_profiling('t')
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t)<>ref ) then pause,end
+
+
+
+function t1
+ if ok then
+ //i
+ elseif a then
+ //e
+ else
+ //l
+ end
+endfunction
+add_profiling('t1')
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t1)<>ref) then pause,end
+
+
+function t2
+ while ok
+ //w
+ else
+ //e
+ end
+endfunction
+
+add_profiling('t2')
+ref=[0,0,0;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t2)<>ref ) then pause,end
+
+function t3
+ select x
+ case 1
+ //1
+ case 2
+ //2
+ end
+endfunction
+
+add_profiling('t3')
+ref=[0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t3)<>ref ) then pause,end
+
+function t4
+ select x
+ case 1
+ //1
+ case 2
+ //2
+ else
+ //e
+ end
+endfunction
+
+add_profiling('t4')
+ref=[0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,1;0,0,0;0,0,0];
+if or(profile(t4)<>ref ) then pause,end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_6901.dia.ref b/modules/functions/tests/nonreg_tests/bug_6901.dia.ref
new file mode 100755
index 000000000..54cbd5e3c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6901.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 6901 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6901
+//
+// <-- Short Description -->
+// This script with 'exec' produced a weird warning
+mputl("exec("""", -1);", TMPDIR + "/bug.sce");
+ierr = execstr("exec(TMPDIR + ''/bug.sce'');", "errcatch");
+if ierr <> 241 then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_6901.tst b/modules/functions/tests/nonreg_tests/bug_6901.tst
new file mode 100755
index 000000000..7f1fde010
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_6901.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6901 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6901
+//
+// <-- Short Description -->
+// This script with 'exec' produced a weird warning
+
+mputl("exec("""", -1);", TMPDIR + "/bug.sce");
+ierr = execstr("exec(TMPDIR + ''/bug.sce'');", "errcatch");
+if ierr <> 241 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_7006.tst b/modules/functions/tests/nonreg_tests/bug_7006.tst
new file mode 100755
index 000000000..98e776947
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7006.tst
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 7006 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7006
+//
+// <-- Short Description -->
+// exec removed spaces at the end of filename when it returned an error.
+
+scilab -f "blabla "
+exec("blabla ")
+
+// error must have blanks
+// !--error 241
+//File "blabla " does not exist or read access denied.
diff --git a/modules/functions/tests/nonreg_tests/bug_7163.dia.ref b/modules/functions/tests/nonreg_tests/bug_7163.dia.ref
new file mode 100755
index 000000000..9e046068e
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7163.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 7163 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=7163
+//
+// <-- Short Description -->
+// assignment index : are translated into eye()
+function foo
+ a(:)
+ a(:,1)
+ a(1,:)
+ a(:,:)
+ a(:)=3
+ a(:,1)=4
+ a(1,:)=5
+ a(:,:)=6
+endfunction
+t=stripblanks(fun2string(foo));
+t=strsubst(t(2:$-1),' ','');
+tref=["a(:)";"a(:,1)";"a(1,:)";"a(:,:)";"";"a(:)=3";"a(:,1)=4";"a(1,:)=5";"a(:,:)=6"];
+if or(t<>tref) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_7163.tst b/modules/functions/tests/nonreg_tests/bug_7163.tst
new file mode 100755
index 000000000..d6d660fff
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7163.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 7163 -->
+//
+// <-- Bugzilla URL -->
+// http://www.scilab.org/cgi-bin/bugzilla_bugAdmin_II/show_bug.cgi?id=7163
+//
+// <-- Short Description -->
+// assignment index : are translated into eye()
+function foo
+ a(:)
+ a(:,1)
+ a(1,:)
+ a(:,:)
+
+ a(:)=3
+ a(:,1)=4
+ a(1,:)=5
+ a(:,:)=6
+endfunction
+t=stripblanks(fun2string(foo));
+t=strsubst(t(2:$-1),' ','');
+tref=["a(:)";"a(:,1)";"a(1,:)";"a(:,:)";"";"a(:)=3";"a(:,1)=4";"a(1,:)=5";"a(:,:)=6"];
+if or(t<>tref) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_731.dia.ref b/modules/functions/tests/nonreg_tests/bug_731.dia.ref
new file mode 100755
index 000000000..adf21cbb9
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_731.dia.ref
@@ -0,0 +1,57 @@
+// <-- Non-regression test for bug 731 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=731
+//
+// <-- Short Description -->
+// fun2string and macr2tree cannot cope with nested function
+// definitions
+// Copyright INRIA
+// Scilab Project - Pierre MARECHAL
+// Date : 3 mai 2005
+// last modified : 10 Jan 2006
+// =============== Test 1 ===============
+function y=foo(x)
+ a=sin(x)
+ function y=sq(x), y=x^2,endfunction
+ y=sq(a)+1
+endfunction
+CONTENTS = fun2string(foo);
+REFCONTENTS=["function y=ans(x)";
+ " a = sin(x)";
+ " function y=sq(x), y=x^2,endfunction";
+ " y = sq(a) + 1";
+ "endfunction"];
+if or(REFCONTENTS<>CONTENTS) then bugmes();quit;end
+// =============== Test 2 ===============
+function one()
+ function two()
+ // A comment
+ endfunction
+ function three()
+ // A comment
+ endfunction
+ //a comment here
+endfunction
+CONTENTS_II = fun2string(one);
+REFCONTENTS_II=["function []=ans()";
+ " function two()";
+ " // A comment";
+ " endfunction";
+ " function three()";
+ " // A comment";
+ " endfunction";
+ " //a comment here";
+ "endfunction"];
+if or(REFCONTENTS_II<>CONTENTS_II) then bugmes();quit;end
+// =============== Test 3 ===============
+function a=foo1()
+ a = 1 ; function foo2() ; disp("hello") ; endfunction ; disp("zut");
+ a = 2
+endfunction
+CONTENTS_III=fun2string(foo1);
+REFCONTENTS_III=["function a=ans()";
+ " a = 1;function foo2() , disp(""hello"") ;endfunction;disp(''zut'');";
+ " a = 2";
+ "endfunction"];
+if or(REFCONTENTS_III<>CONTENTS_III) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_731.tst b/modules/functions/tests/nonreg_tests/bug_731.tst
new file mode 100755
index 000000000..283428695
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_731.tst
@@ -0,0 +1,77 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 731 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=731
+//
+// <-- Short Description -->
+// fun2string and macr2tree cannot cope with nested function
+// definitions
+
+// =============== Test 1 ===============
+
+function y=foo(x)
+ a=sin(x)
+ function y=sq(x), y=x^2,endfunction
+ y=sq(a)+1
+endfunction
+
+CONTENTS = fun2string(foo);
+
+REFCONTENTS=["function y=ans(x)";
+ " a = sin(x)";
+ " function y=sq(x), y=x^2,endfunction";
+ " y = sq(a) + 1";
+ "endfunction"];
+
+if or(REFCONTENTS<>CONTENTS) then pause,end
+
+// =============== Test 2 ===============
+
+function one()
+ function two()
+ // A comment
+ endfunction
+ function three()
+ // A comment
+ endfunction
+ //a comment here
+endfunction
+
+CONTENTS_II = fun2string(one);
+
+REFCONTENTS_II=["function []=ans()";
+ " function two()";
+ " // A comment";
+ " endfunction";
+ " function three()";
+ " // A comment";
+ " endfunction";
+ " //a comment here";
+ "endfunction"];
+
+if or(REFCONTENTS_II<>CONTENTS_II) then pause,end
+
+// =============== Test 3 ===============
+
+function a=foo1()
+ a = 1 ; function foo2() ; disp("hello") ; endfunction ; disp("zut");
+ a = 2
+endfunction
+
+CONTENTS_III=fun2string(foo1);
+
+REFCONTENTS_III=["function a=ans()";
+ " a = 1;function foo2() , disp(""hello"") ;endfunction;disp(''zut'');";
+ " a = 2";
+ "endfunction"];
+
+if or(REFCONTENTS_III<>CONTENTS_III) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_7369.dia.ref b/modules/functions/tests/nonreg_tests/bug_7369.dia.ref
new file mode 100755
index 000000000..75b6af049
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7369.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7619 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7369
+//
+// <-- Short Description -->
+//fun2string may produce invalid output code
+function y=foo(ntimes)
+ a=33;b=7;
+ y = sqrt(a/ntimes - (b/ntimes)^2);
+endfunction
+execstr(fun2string(foo,"foo1"));
+if foo(4)<>foo1(4) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_7369.tst b/modules/functions/tests/nonreg_tests/bug_7369.tst
new file mode 100755
index 000000000..2a73a6014
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7369.tst
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7619 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7369
+//
+// <-- Short Description -->
+//fun2string may produce invalid output code
+
+function y=foo(ntimes)
+ a=33;b=7;
+ y = sqrt(a/ntimes - (b/ntimes)^2);
+endfunction
+
+execstr(fun2string(foo,"foo1"));
+if foo(4)<>foo1(4) then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_7619.dia.ref b/modules/functions/tests/nonreg_tests/bug_7619.dia.ref
new file mode 100755
index 000000000..9189f0f3c
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7619.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7619 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7619
+//
+// <-- Short Description -->
+// get_function_path did not return all available paths.
+//
+cd TMPDIR;
+mkdir("bug_7619");
+cd("bug_7619");
+mputl("function r = factorial(), endfunction", TMPDIR + "/bug_7619/factorial.sci");
+genlib("bug_7916lib", TMPDIR + "/bug_7619", %f ,%f);
+bug_7916lib = lib(TMPDIR + "/bug_7619");
+p = get_function_path("factorial");
+if size(p, "*") <> 2 then bugmes();quit;end;
diff --git a/modules/functions/tests/nonreg_tests/bug_7619.tst b/modules/functions/tests/nonreg_tests/bug_7619.tst
new file mode 100755
index 000000000..4b1d605a2
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7619.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7619 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7619
+//
+// <-- Short Description -->
+// get_function_path did not return all available paths.
+//
+
+cd TMPDIR;
+mkdir("bug_7619");
+cd("bug_7619");
+mputl("function r = factorial(), endfunction", TMPDIR + "/bug_7619/factorial.sci");
+genlib("bug_7916lib", TMPDIR + "/bug_7619", %f ,%f);
+bug_7916lib = lib(TMPDIR + "/bug_7619");
+p = get_function_path("factorial");
+if size(p, "*") <> 2 then pause, end;
diff --git a/modules/functions/tests/nonreg_tests/bug_7779.dia.ref b/modules/functions/tests/nonreg_tests/bug_7779.dia.ref
new file mode 100755
index 000000000..035d84217
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7779.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7779 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7779
+//
+// <-- Short Description -->
+// genlib did not check input arguments and did not use current path as default
+DIR_TST = TMPDIR + "/BUG_7779";
+mkdir(DIR_TST);
+f = ['function toto()'; 'disp(''hello'')'; 'endfunction'];
+mputl(f, DIR_TST + '/' + 'toto.sci');
+cd(DIR_TST);
+assert_checkequal(genlib('myLib'), %T);
+msgerr = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), 'genlib', 1);
+assert_checkerror ("genlib(1)", msgerr);
+msgerr = msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), 'genlib', 1);
+assert_checkerror ("genlib([''myLib1'' ; ''myLib2''])", msgerr);
+msgerr = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), 'genlib', 2);
+assert_checkerror ("genlib(''myLib'', 1)", msgerr);
+msgerr = msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), 'genlib', 2);
+assert_checkerror ("genlib(''myLib'', [''.'',''.''])", msgerr);
diff --git a/modules/functions/tests/nonreg_tests/bug_7779.tst b/modules/functions/tests/nonreg_tests/bug_7779.tst
new file mode 100755
index 000000000..7f6b87c58
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7779.tst
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7779 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7779
+//
+// <-- Short Description -->
+// genlib did not check input arguments and did not use current path as default
+
+DIR_TST = TMPDIR + "/BUG_7779";
+mkdir(DIR_TST);
+f = ['function toto()'; 'disp(''hello'')'; 'endfunction'];
+mputl(f, DIR_TST + '/' + 'toto.sci');
+
+cd(DIR_TST);
+assert_checkequal(genlib('myLib'), %T);
+
+msgerr = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), 'genlib', 1);
+assert_checkerror ("genlib(1)", msgerr);
+
+msgerr = msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), 'genlib', 1);
+assert_checkerror ("genlib([''myLib1'' ; ''myLib2''])", msgerr);
+
+msgerr = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"), 'genlib', 2);
+assert_checkerror ("genlib(''myLib'', 1)", msgerr);
+
+msgerr = msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"), 'genlib', 2);
+assert_checkerror ("genlib(''myLib'', [''.'',''.''])", msgerr);
diff --git a/modules/functions/tests/nonreg_tests/bug_7952.dia.ref b/modules/functions/tests/nonreg_tests/bug_7952.dia.ref
new file mode 100755
index 000000000..de29ca900
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7952.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7952 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7952
+//
+// <-- Short Description -->
+// libraryinfo did not check size of input argument.
+//
+if execstr("macros = libraryinfo()", "errcatch") <> 77 then bugmes();quit;end
+if lasterror() <> msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "libraryinfo", 1) then bugmes();quit;end
+if execstr("macros = libraryinfo([""functionslib"", ""corelib""])", "errcatch") <> 999 then bugmes();quit;end
+if lasterror() <> msprintf(_("%s: Wrong size for input argument #%d: String expected.\n"), "libraryinfo", 1) then bugmes();quit;end
+macros = libraryinfo('functionslib');
+if size(macros) == [] then bugmes();quit;end
+[macroslist, pathmacros] = libraryinfo('functionslib');
+if size(macros) == [] then bugmes();quit;end
+if ~isdir(pathmacros) then bugmes();quit;end
diff --git a/modules/functions/tests/nonreg_tests/bug_7952.tst b/modules/functions/tests/nonreg_tests/bug_7952.tst
new file mode 100755
index 000000000..4fc3658f6
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_7952.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7952 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7952
+//
+// <-- Short Description -->
+// libraryinfo did not check size of input argument.
+//
+
+if execstr("macros = libraryinfo()", "errcatch") <> 77 then pause, end
+if lasterror() <> msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "libraryinfo", 1) then pause, end
+
+if execstr("macros = libraryinfo([""functionslib"", ""corelib""])", "errcatch") <> 999 then pause, end
+if lasterror() <> msprintf(_("%s: Wrong size for input argument #%d: String expected.\n"), "libraryinfo", 1) then pause, end
+
+macros = libraryinfo('functionslib');
+if size(macros) == [] then pause,end
+
+[macroslist, pathmacros] = libraryinfo('functionslib');
+if size(macros) == [] then pause,end
+if ~isdir(pathmacros) then pause,end
+
diff --git a/modules/functions/tests/nonreg_tests/bug_8448.tst b/modules/functions/tests/nonreg_tests/bug_8448.tst
new file mode 100755
index 000000000..6b350abed
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_8448.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- INTERACTIVE TEST -->
+// interactive because it requires ATOMS and there are some outputs (not managed)
+//
+// <-- Non-regression test for bug 8448 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8448
+//
+// <-- Short Description -->
+// 'whereis' function with a string as input argument did not work on some ATOMS functions.
+
+
+atomsInstall("fmincon");
+atomsLoad("fmincon");
+bOK1 = whereis("fmincon") <> [];
+bOK2 = whereis("fmincon_ipopt") <> [];
+atomsRemove("fmincon");
+if ~bOK1 | ~bOK2 then pause,end
diff --git a/modules/functions/tests/nonreg_tests/bug_9059.dia.ref b/modules/functions/tests/nonreg_tests/bug_9059.dia.ref
new file mode 100755
index 000000000..8c7d18ce5
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_9059.dia.ref
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9059 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9059
+//
+// <-- Short Description -->
+// tbx_build_macros and genlib do not stop on error
+cd TMPDIR;
+mkdir('bug_9059');
+f = ['function [t] = macrobug(z)'; 't=z/'; 'endfunction'];
+mputl(f,TMPDIR+'/bug_9059/macrobug.sci');
+cd('bug_9059');
+exec("macrobug.sci","errcatch");
+str=lasterror();
+msgerr="%s: Error in file %s : %s.\n";
+assert_checkerror("genlib(''bug_9059lib'',''TMPDIR/bug_9059'',%f,%t)",msgerr,[],"genlib",pathconvert("TMPDIR" +"/bug_9059/macrobug.sci", %f),str);
+-- Creation of [bug_9059lib] (Macros) --
+genlib: Processing file: macrobug.sci
diff --git a/modules/functions/tests/nonreg_tests/bug_9059.tst b/modules/functions/tests/nonreg_tests/bug_9059.tst
new file mode 100755
index 000000000..5da03b6a2
--- /dev/null
+++ b/modules/functions/tests/nonreg_tests/bug_9059.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9059 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9059
+//
+// <-- Short Description -->
+// tbx_build_macros and genlib do not stop on error
+
+cd TMPDIR;
+mkdir('bug_9059');
+f = ['function [t] = macrobug(z)'; 't=z/'; 'endfunction'];
+mputl(f,TMPDIR+'/bug_9059/macrobug.sci');
+cd('bug_9059');
+exec("macrobug.sci","errcatch");
+str=lasterror();
+msgerr="%s: Error in file %s : %s.\n";
+assert_checkerror("genlib(''bug_9059lib'',''TMPDIR/bug_9059'',%f,%t)",msgerr,[],"genlib",pathconvert("TMPDIR" +"/bug_9059/macrobug.sci", %f),str);
diff --git a/modules/functions/tests/unit_tests/bytecode.dia.ref b/modules/functions/tests/unit_tests/bytecode.dia.ref
new file mode 100755
index 000000000..71526cd60
--- /dev/null
+++ b/modules/functions/tests/unit_tests/bytecode.dia.ref
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@scilab.org>
+// Copyright (C) 2008 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//build the list of loaded libs
+%libs=[];
+for %name=who('local')'
+ if %name<>'ans' then
+ execstr('%typ=type('+%name+')');
+ if %typ==14 then
+ if and(%name<>['parameterslib','simulated_annealinglib','genetic_algorithmslib','scilab2fortranlib']) then
+ %libs=[%libs %name];
+ end
+ end
+ end
+end
+for Lib=%libs
+ execstr('funs=string('+Lib+')''');
+ funs(1)=[];
+ funcprot(0);
+ for fun=funs
+ if execstr('f='+fun','errcatch')==0 then
+ if type(f)==13 then
+ if execstr("add_profiling(fun)" ,"errcatch" ) <> 0 then bugmes();quit;end
+ if execstr("remove_profiling(fun)" ,"errcatch" ) <> 0 then bugmes();quit;end
+ if execstr("c=bytecode(f)" ,"errcatch" ) <> 0 then bugmes();quit;end
+ if execstr("c1=bytecode("+fun+")" ,"errcatch" ) <> 0 then bugmes();quit;end
+ if c<>c1 then bugmes();quit;end
+ end
+ end
+ end
+end
diff --git a/modules/functions/tests/unit_tests/bytecode.tst b/modules/functions/tests/unit_tests/bytecode.tst
new file mode 100755
index 000000000..f37be82bc
--- /dev/null
+++ b/modules/functions/tests/unit_tests/bytecode.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@scilab.org>
+// Copyright (C) 2008 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+//build the list of loaded libs
+
+%libs=[];
+
+for %name=who('local')'
+ if %name<>'ans' then
+ execstr('%typ=type('+%name+')');
+ if %typ==14 then
+ if and(%name<>['parameterslib','simulated_annealinglib','genetic_algorithmslib','scilab2fortranlib']) then
+ %libs=[%libs %name];
+ end
+ end
+ end
+end
+
+for Lib=%libs
+ execstr('funs=string('+Lib+')''');
+ funs(1)=[];
+ funcprot(0);
+ for fun=funs
+ if execstr('f='+fun','errcatch')==0 then
+ if type(f)==13 then
+ if execstr("add_profiling(fun)" ,"errcatch" ) <> 0 then pause,end
+ if execstr("remove_profiling(fun)" ,"errcatch" ) <> 0 then pause,end
+ if execstr("c=bytecode(f)" ,"errcatch" ) <> 0 then pause,end
+ if execstr("c1=bytecode("+fun+")" ,"errcatch" ) <> 0 then pause,end
+ if c<>c1 then pause,end
+ end
+ end
+ end
+end
diff --git a/modules/functions/tests/unit_tests/deff.dia.ref b/modules/functions/tests/unit_tests/deff.dia.ref
new file mode 100755
index 000000000..b760f5d5d
--- /dev/null
+++ b/modules/functions/tests/unit_tests/deff.dia.ref
@@ -0,0 +1,43 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+deff("[x] = myplus(y,z)","x=y+z");
+assert_checktrue(isdef("myplus"));
+assert_checkequal(myplus(3,2), 5);
+clear myplus;
+assert_checkfalse(isdef("myplus"));
+deff("[x] = mymacro(y,z)",["a=3*y+1"; "x=a*z+y"]);
+assert_checktrue(isdef("mymacro"));
+assert_checkequal(mymacro(5,2), 37);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+deff("[a,b,c] = mymacro(varargin)",["a = varargin(1); b = varargin(2) * a; c = varargin(3) * b"]);
+assert_checktrue(isdef("mymacro"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 3);
+assert_checkequal(b, 12);
+assert_checkequal(c, 60);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+deff("[varargout] = mymacro(varargin)",["for i = 1 : size(varargin)"; " varargout(i) = varargin(i) * 2;";"end"]);
+assert_checktrue(isdef("mymacro"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 6);
+assert_checkequal(b, 8);
+assert_checkequal(c, 10);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+deff("[varargout] = mymacro(varargin)", ["deff(""varargout = mymacro2(varargin)"", [""for i = 1 : size(varargin)""; "" varargout(i) = varargin(i) * 2;"";""end""]);";"[a,b,c] = mymacro2(varargin(:));";"varargout(1) = a*2;";"varargout(2) = b*2;";"varargout(3) = c*2;"]);
+assert_checktrue(isdef("mymacro"));
+assert_checkfalse(isdef("mymacro2"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 12);
+assert_checkequal(b, 16);
+assert_checkequal(c, 20);
+assert_checkfalse(isdef("mymacro2"));
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
diff --git a/modules/functions/tests/unit_tests/deff.tst b/modules/functions/tests/unit_tests/deff.tst
new file mode 100755
index 000000000..b724c91d0
--- /dev/null
+++ b/modules/functions/tests/unit_tests/deff.tst
@@ -0,0 +1,50 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+deff("[x] = myplus(y,z)","x=y+z");
+assert_checktrue(isdef("myplus"));
+assert_checkequal(myplus(3,2), 5);
+clear myplus;
+assert_checkfalse(isdef("myplus"));
+
+deff("[x] = mymacro(y,z)",["a=3*y+1"; "x=a*z+y"]);
+assert_checktrue(isdef("mymacro"));
+assert_checkequal(mymacro(5,2), 37);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+
+deff("[a,b,c] = mymacro(varargin)",["a = varargin(1); b = varargin(2) * a; c = varargin(3) * b"]);
+assert_checktrue(isdef("mymacro"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 3);
+assert_checkequal(b, 12);
+assert_checkequal(c, 60);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+
+deff("[varargout] = mymacro(varargin)",["for i = 1 : size(varargin)"; " varargout(i) = varargin(i) * 2;";"end"]);
+assert_checktrue(isdef("mymacro"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 6);
+assert_checkequal(b, 8);
+assert_checkequal(c, 10);
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+
+deff("[varargout] = mymacro(varargin)", ["deff(""varargout = mymacro2(varargin)"", [""for i = 1 : size(varargin)""; "" varargout(i) = varargin(i) * 2;"";""end""]);";"[a,b,c] = mymacro2(varargin(:));";"varargout(1) = a*2;";"varargout(2) = b*2;";"varargout(3) = c*2;"]);
+assert_checktrue(isdef("mymacro"));
+assert_checkfalse(isdef("mymacro2"));
+[a,b,c] = mymacro(3,4,5);
+assert_checkequal(a, 12);
+assert_checkequal(b, 16);
+assert_checkequal(c, 20);
+assert_checkfalse(isdef("mymacro2"));
+clear mymacro;
+assert_checkfalse(isdef("mymacro"));
+
diff --git a/modules/functions/tests/unit_tests/exec.dia.ref b/modules/functions/tests/unit_tests/exec.dia.ref
new file mode 100755
index 000000000..c13770120
--- /dev/null
+++ b/modules/functions/tests/unit_tests/exec.dia.ref
@@ -0,0 +1,68 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"תוכנית"];
+str_exec = 'disp(''OK'');';
+for i = 1 : size(tab_ref,'*')
+ mkdir(TMPDIR + filesep() + tab_ref(i));
+ fd = mopen(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce','wt');
+ mputl(str_exec,fd);
+ mclose(fd);
+ exec(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ mdelete(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ rmdir(TMPDIR + filesep() + tab_ref(i));
+end
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+// create a script file
+mputl('a=1;b=2',TMPDIR+'/myscript')
+ ans =
+
+ T
+// execute it
+exec(TMPDIR+'/myscript')
+
+a=1;b=2
+ b =
+
+ 2.
+
+if isdef('a')<> %t then bugmes();quit;end
+if isdef('b')<> %t then bugmes();quit;end
+if a <> 1 then bugmes();quit;end
+if b <> 2 then bugmes();quit;end
+// create a function
+deff('y=foo(x)','a=x+1;y=a^2');
+clear a b
+// call the function
+k = foo(1);
+if isdef('k')<> %t then bugmes();quit;end
+if isdef('a')<> %f then bugmes();quit;end
+if k <> 4 then bugmes();quit;end
+x=4; //create x to make it known by the script foo
+clear k y
+exec(foo);
+ y =
+
+ 25.
+if isdef('y')<> %t then bugmes();quit;end
+if y <> 25 then bugmes();quit;end
diff --git a/modules/functions/tests/unit_tests/exec.tst b/modules/functions/tests/unit_tests/exec.tst
new file mode 100755
index 000000000..37676c0be
--- /dev/null
+++ b/modules/functions/tests/unit_tests/exec.tst
@@ -0,0 +1,52 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"תוכנית"];
+
+str_exec = 'disp(''OK'');';
+
+for i = 1 : size(tab_ref,'*')
+ mkdir(TMPDIR + filesep() + tab_ref(i));
+ fd = mopen(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce','wt');
+ mputl(str_exec,fd);
+ mclose(fd);
+ exec(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ mdelete(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ rmdir(TMPDIR + filesep() + tab_ref(i));
+end
+
+// create a script file
+mputl('a=1;b=2',TMPDIR+'/myscript')
+// execute it
+exec(TMPDIR+'/myscript')
+if isdef('a')<> %t then pause,end
+if isdef('b')<> %t then pause,end
+if a <> 1 then pause,end
+if b <> 2 then pause,end
+
+
+// create a function
+deff('y=foo(x)','a=x+1;y=a^2');
+clear a b
+// call the function
+k = foo(1);
+if isdef('k')<> %t then pause,end
+if isdef('a')<> %f then pause,end
+if k <> 4 then pause,end
+
+x=4; //create x to make it known by the script foo
+clear k y
+exec(foo);
+if isdef('y')<> %t then pause,end
+if y <> 25 then pause,end
+
diff --git a/modules/functions/tests/unit_tests/exec_UTF8BOM.dia.ref b/modules/functions/tests/unit_tests/exec_UTF8BOM.dia.ref
new file mode 100755
index 000000000..c13770120
--- /dev/null
+++ b/modules/functions/tests/unit_tests/exec_UTF8BOM.dia.ref
@@ -0,0 +1,68 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"תוכנית"];
+str_exec = 'disp(''OK'');';
+for i = 1 : size(tab_ref,'*')
+ mkdir(TMPDIR + filesep() + tab_ref(i));
+ fd = mopen(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce','wt');
+ mputl(str_exec,fd);
+ mclose(fd);
+ exec(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ mdelete(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ rmdir(TMPDIR + filesep() + tab_ref(i));
+end
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+
+ OK
+// create a script file
+mputl('a=1;b=2',TMPDIR+'/myscript')
+ ans =
+
+ T
+// execute it
+exec(TMPDIR+'/myscript')
+
+a=1;b=2
+ b =
+
+ 2.
+
+if isdef('a')<> %t then bugmes();quit;end
+if isdef('b')<> %t then bugmes();quit;end
+if a <> 1 then bugmes();quit;end
+if b <> 2 then bugmes();quit;end
+// create a function
+deff('y=foo(x)','a=x+1;y=a^2');
+clear a b
+// call the function
+k = foo(1);
+if isdef('k')<> %t then bugmes();quit;end
+if isdef('a')<> %f then bugmes();quit;end
+if k <> 4 then bugmes();quit;end
+x=4; //create x to make it known by the script foo
+clear k y
+exec(foo);
+ y =
+
+ 25.
+if isdef('y')<> %t then bugmes();quit;end
+if y <> 25 then bugmes();quit;end
diff --git a/modules/functions/tests/unit_tests/exec_UTF8BOM.tst b/modules/functions/tests/unit_tests/exec_UTF8BOM.tst
new file mode 100755
index 000000000..561e2fe00
--- /dev/null
+++ b/modules/functions/tests/unit_tests/exec_UTF8BOM.tst
@@ -0,0 +1,52 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"תוכנית"];
+
+str_exec = 'disp(''OK'');';
+
+for i = 1 : size(tab_ref,'*')
+ mkdir(TMPDIR + filesep() + tab_ref(i));
+ fd = mopen(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce','wt');
+ mputl(str_exec,fd);
+ mclose(fd);
+ exec(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ mdelete(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + '.sce');
+ rmdir(TMPDIR + filesep() + tab_ref(i));
+end
+
+// create a script file
+mputl('a=1;b=2',TMPDIR+'/myscript')
+// execute it
+exec(TMPDIR+'/myscript')
+if isdef('a')<> %t then pause,end
+if isdef('b')<> %t then pause,end
+if a <> 1 then pause,end
+if b <> 2 then pause,end
+
+
+// create a function
+deff('y=foo(x)','a=x+1;y=a^2');
+clear a b
+// call the function
+k = foo(1);
+if isdef('k')<> %t then pause,end
+if isdef('a')<> %f then pause,end
+if k <> 4 then pause,end
+
+x=4; //create x to make it known by the script foo
+clear k y
+exec(foo);
+if isdef('y')<> %t then pause,end
+if y <> 25 then pause,end
+
diff --git a/modules/functions/tests/unit_tests/execstr.dia.ref b/modules/functions/tests/unit_tests/execstr.dia.ref
new file mode 100755
index 000000000..4ac290203
--- /dev/null
+++ b/modules/functions/tests/unit_tests/execstr.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+execstr('a=1') // sets a=1.
+if isdef('a')<> %t then bugmes();quit;end
+if a<> 1 then bugmes();quit;end
+execstr('1+1');
+if evstr('1+1')<> 2 then bugmes();quit;end
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+ierr = execstr('a=zzzzzzz','errcatch');
+if ierr <> 4 then bugmes();quit;end
+ierr = execstr('a=1?02','errcatch');
+if ierr <> 276 then bugmes();quit;end
+ierr = execstr('a=[1 2 3)','errcatch');
+if ierr <> 2 then bugmes();quit;end
+// variable1 does not exist
+if execstr('variable1;','errcatch')<>0 then disp("Trigger an error"),end
+
+ Trigger an error
+// variable2 exists ... no error is triggered by execstr
+variable2 = [2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+
+ execstr is happy
+end
diff --git a/modules/functions/tests/unit_tests/execstr.tst b/modules/functions/tests/unit_tests/execstr.tst
new file mode 100755
index 000000000..3201abb92
--- /dev/null
+++ b/modules/functions/tests/unit_tests/execstr.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+execstr('a=1') // sets a=1.
+if isdef('a')<> %t then pause,end
+if a<> 1 then pause,end
+
+execstr('1+1');
+if evstr('1+1')<> 2 then pause,end
+
+execstr(['if %t then';
+ ' a=1';
+ ' b=a+1';
+ 'else'
+ ' b=0'
+ 'end'])
+
+ierr = execstr('a=zzzzzzz','errcatch');
+if ierr <> 4 then pause,end
+
+ierr = execstr('a=1?02','errcatch');
+if ierr <> 276 then pause,end
+
+ierr = execstr('a=[1 2 3)','errcatch');
+if ierr <> 2 then pause,end
+
+// variable1 does not exist
+if execstr('variable1;','errcatch')<>0 then disp("Trigger an error"),end
+
+// variable2 exists ... no error is triggered by execstr
+variable2 = [2,3];
+if execstr('variable2;','errcatch')<>0 then
+ disp("Trigger an error");
+else
+ disp("execstr is happy");
+end \ No newline at end of file
diff --git a/modules/functions/tests/unit_tests/fun2string.dia.ref b/modules/functions/tests/unit_tests/fun2string.dia.ref
new file mode 100755
index 000000000..5d723259c
--- /dev/null
+++ b/modules/functions/tests/unit_tests/fun2string.dia.ref
@@ -0,0 +1,174 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+funcprot(0);
+function y=foo(a)
+ y=a+1
+endfunction
+ref=["function y=ans(a)";
+ " y = a + 1";
+ "endfunction"];
+if or(fun2string(foo)<>ref) then bugmes();quit;end
+ref=["function y=foo(a)";
+ " y = a + 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function y=foo()
+ y=1
+endfunction
+ref=["function y=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+ y=1
+endfunction
+ref=["function []=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+ y=1,
+endfunction
+ref=["function []=foo()";
+ " y = 1,";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+ y=1;
+endfunction
+ref=["function []=foo()";
+ " y = 1;";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo(),y=1
+endfunction
+ref=["function []=foo(),y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo(),y=1;endfunction
+ref=["function []=foo(),y = 1;endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo(),endfunction
+ref=["function []=foo(),endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+if %t then a=1,end
+if b==3 then
+ a=5
+else
+ c=8
+end
+endfunction
+ref = ["function []=foo()";
+ " if %t then a = 1,end,";
+ " if b == 3 then ";
+ " a = 5";
+ " else ";
+ " c = 8";
+ " end,";
+ "endfunction"]
+ ref =
+
+!function []=foo() !
+! !
+! if %t then a = 1,end, !
+! !
+! if b == 3 then !
+! !
+! a = 5 !
+! !
+! else !
+! !
+! c = 8 !
+! !
+! end, !
+! !
+!endfunction !
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+// with deff
+// ---------
+deff('foo','y=1')
+ref=["function []=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+deff('foo',['y=1';'z=3;'])
+ref=["function []=foo()";
+ " y = 1";
+ " z = 3;";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+// with getf
+// ------------
+ref=["function []=foo()";
+ " y = 1";
+ " z = 3;";
+ "endfunction"];
+mputl(ref,TMPDIR+'/foo.sci');
+warning('off');
+exec(TMPDIR+'/foo.sci');
+warning('on');
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+// with nested functions
+// ---------------------
+function y=foo(x)
+ function y=foo1(x),
+ y=x+1;
+ endfunction
+endfunction
+ref= ["function y=foo(x)";
+ " function y=foo1(x)";
+ " y=x+1;";
+ " endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+ function foo3,a=1,
+ endfunction,
+endfunction
+ref=["function []=foo()";
+ " function foo3,a=1,";
+ " endfunction,";
+ "endfunction"]
+ ref =
+
+!function []=foo() !
+! !
+! function foo3,a=1, !
+! !
+! endfunction, !
+! !
+!endfunction !
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()
+ function foo3,a=1,endfunction
+endfunction
+ref=["function []=foo()";
+ " function foo3,a=1,endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+// with comments
+// -------------
+function a=foo//
+ if a> 10 then //
+ end
+endfunction
+ref= ["function a=foo(),//";
+ " if a > 10 then //";
+ " end,";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
+function foo()//
+ function foo3()//
+ endfunction
+endfunction
+ref=["function []=foo(),//";
+ " function foo3(),//";
+ " endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then bugmes();quit;end
diff --git a/modules/functions/tests/unit_tests/fun2string.tst b/modules/functions/tests/unit_tests/fun2string.tst
new file mode 100755
index 000000000..8d52d993c
--- /dev/null
+++ b/modules/functions/tests/unit_tests/fun2string.tst
@@ -0,0 +1,177 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+funcprot(0);
+
+function y=foo(a)
+ y=a+1
+endfunction
+ref=["function y=ans(a)";
+ " y = a + 1";
+ "endfunction"];
+if or(fun2string(foo)<>ref) then pause,end
+
+ref=["function y=foo(a)";
+ " y = a + 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+function y=foo()
+ y=1
+endfunction
+ref=["function y=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+function foo()
+ y=1
+endfunction
+ref=["function []=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+function foo()
+ y=1,
+endfunction
+ref=["function []=foo()";
+ " y = 1,";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+function foo()
+ y=1;
+endfunction
+ref=["function []=foo()";
+ " y = 1;";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+function foo(),y=1
+endfunction
+ref=["function []=foo(),y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+function foo(),y=1;endfunction
+ref=["function []=foo(),y = 1;endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+function foo(),endfunction
+ref=["function []=foo(),endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+function foo()
+if %t then a=1,end
+if b==3 then
+ a=5
+else
+ c=8
+end
+endfunction
+ref = ["function []=foo()";
+ " if %t then a = 1,end,";
+ " if b == 3 then ";
+ " a = 5";
+ " else ";
+ " c = 8";
+ " end,";
+ "endfunction"]
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+
+// with deff
+// ---------
+deff('foo','y=1')
+ref=["function []=foo()";
+ " y = 1";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+deff('foo',['y=1';'z=3;'])
+ref=["function []=foo()";
+ " y = 1";
+ " z = 3;";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+// with getf
+// ------------
+ref=["function []=foo()";
+ " y = 1";
+ " z = 3;";
+ "endfunction"];
+mputl(ref,TMPDIR+'/foo.sci');
+warning('off');
+exec(TMPDIR+'/foo.sci');
+warning('on');
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+// with nested functions
+// ---------------------
+function y=foo(x)
+ function y=foo1(x),
+ y=x+1;
+ endfunction
+endfunction
+ref= ["function y=foo(x)";
+ " function y=foo1(x)";
+ " y=x+1;";
+ " endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+
+function foo()
+ function foo3,a=1,
+ endfunction,
+endfunction
+ref=["function []=foo()";
+ " function foo3,a=1,";
+ " endfunction,";
+ "endfunction"]
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+function foo()
+ function foo3,a=1,endfunction
+endfunction
+ref=["function []=foo()";
+ " function foo3,a=1,endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+// with comments
+// -------------
+function a=foo//
+ if a> 10 then //
+ end
+endfunction
+ref= ["function a=foo(),//";
+ " if a > 10 then //";
+ " end,";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
+
+
+function foo()//
+ function foo3()//
+ endfunction
+endfunction
+ref=["function []=foo(),//";
+ " function foo3(),//";
+ " endfunction";
+ "endfunction"];
+if or(fun2string(foo,'foo')<>ref) then pause,end
diff --git a/modules/functions/tests/unit_tests/get_function_path.dia.ref b/modules/functions/tests/unit_tests/get_function_path.dia.ref
new file mode 100755
index 000000000..b74d5b423
--- /dev/null
+++ b/modules/functions/tests/unit_tests/get_function_path.dia.ref
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// unit tests for get_function_path() function
+// =============================================================================
+assert_checkequal(get_function_path('abcd'), pathconvert(getlongpathname(SCI+'/modules/cacsd/macros/abcd.sci'), %f));
+assert_checkequal(get_function_path('dae'), pathconvert(getlongpathname(SCI+'/modules/differential_equations/macros/dae.sci'), %f));
+assert_checkequal(get_function_path('acosd'), pathconvert(getlongpathname(SCI+'/modules/elementary_functions/macros/acosd.sci'), %f));
+assert_checkequal(get_function_path('dir'), pathconvert(getlongpathname(SCI+'/modules/fileio/macros/dir.sci'), %f));
+assert_checkequal(get_function_path('get_function_path'), pathconvert(getlongpathname(SCI+'/modules/functions/macros/get_function_path.sci'), %f));
+assert_checkequal(get_function_path('get_param'), pathconvert(getlongpathname(SCI+'/modules/parameters/macros/get_param.sci'), %f));
+assert_checkequal(get_function_path('median'), pathconvert(getlongpathname(SCI+'/modules/statistics/macros/median.sci'), %f));
+assert_checkequal(get_function_path('calendar'), pathconvert(getlongpathname(SCI+'/modules/time/macros/calendar.sci'), %f));
+assert_checkequal(get_function_path('eigs.sci'),[]);
+assert_checkfalse(execstr("get_function_path()","errcatch")==0);
+refMsg = msprintf(_("%s: Wrong number of input argument: %d expected.\n"), "get_function_path", 1);
+assert_checkerror("get_function_path()", refMsg);
+assert_checkfalse(execstr("get_function_path(eigs)","errcatch")==0);
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"),"get_function_path",1);
+assert_checkerror("get_function_path(eigs)", refMsg);
diff --git a/modules/functions/tests/unit_tests/get_function_path.tst b/modules/functions/tests/unit_tests/get_function_path.tst
new file mode 100755
index 000000000..44870776f
--- /dev/null
+++ b/modules/functions/tests/unit_tests/get_function_path.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// unit tests for get_function_path() function
+// =============================================================================
+
+assert_checkequal(get_function_path('abcd'), pathconvert(getlongpathname(SCI+'/modules/cacsd/macros/abcd.sci'), %f));
+assert_checkequal(get_function_path('dae'), pathconvert(getlongpathname(SCI+'/modules/differential_equations/macros/dae.sci'), %f));
+assert_checkequal(get_function_path('acosd'), pathconvert(getlongpathname(SCI+'/modules/elementary_functions/macros/acosd.sci'), %f));
+assert_checkequal(get_function_path('dir'), pathconvert(getlongpathname(SCI+'/modules/fileio/macros/dir.sci'), %f));
+assert_checkequal(get_function_path('get_function_path'), pathconvert(getlongpathname(SCI+'/modules/functions/macros/get_function_path.sci'), %f));
+assert_checkequal(get_function_path('get_param'), pathconvert(getlongpathname(SCI+'/modules/parameters/macros/get_param.sci'), %f));
+assert_checkequal(get_function_path('median'), pathconvert(getlongpathname(SCI+'/modules/statistics/macros/median.sci'), %f));
+assert_checkequal(get_function_path('calendar'), pathconvert(getlongpathname(SCI+'/modules/time/macros/calendar.sci'), %f));
+
+assert_checkequal(get_function_path('eigs.sci'),[]);
+assert_checkfalse(execstr("get_function_path()","errcatch")==0);
+refMsg = msprintf(_("%s: Wrong number of input argument: %d expected.\n"), "get_function_path", 1);
+assert_checkerror("get_function_path()", refMsg);
+assert_checkfalse(execstr("get_function_path(eigs)","errcatch")==0);
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"),"get_function_path",1);
+assert_checkerror("get_function_path(eigs)", refMsg);
diff --git a/modules/functions/tests/unit_tests/lib.dia.ref b/modules/functions/tests/unit_tests/lib.dia.ref
new file mode 100755
index 000000000..19fb2e454
--- /dev/null
+++ b/modules/functions/tests/unit_tests/lib.dia.ref
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+warning("off");
+cd(TMPDIR);
+mkdir('test_lib');
+cd('test_lib');
+//define some variables
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+A=1:10;
+//create the *.bin files in libdir
+libdir = TMPDIR + filesep() + 'test_lib';
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+save(libdir + '/A.bin', A);
+//create the name file
+mputl(['myplus';'yourplus';'A'],libdir+'/names');
+//erase the variables
+clear myplus yourplus A
+//build the library containing myplus and yourplus
+test_lib = lib(libdir+'/');
+ref = 1:10;
+if (A <> ref) then bugmes();quit;end
+if isdef('myplus') <> %t then bugmes();quit;end
+if isdef('yourplus') <> %t then bugmes();quit;end
+if type(yourplus) <> 13 then bugmes();quit;end
+if type(myplus) <> 13 then bugmes();quit;end
+if type(test_lib) <> 14 then bugmes();quit;end
diff --git a/modules/functions/tests/unit_tests/lib.tst b/modules/functions/tests/unit_tests/lib.tst
new file mode 100755
index 000000000..4a5a28846
--- /dev/null
+++ b/modules/functions/tests/unit_tests/lib.tst
@@ -0,0 +1,45 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+warning("off");
+
+cd(TMPDIR);
+mkdir('test_lib');
+cd('test_lib');
+
+//define some variables
+function z = myplus(x, y), z = x + y,endfunction
+function z = yourplus(x, y), x = x - y,endfunction
+A=1:10;
+
+//create the *.bin files in libdir
+libdir = TMPDIR + filesep() + 'test_lib';
+save(libdir + '/myplus.bin', myplus);
+save(libdir + '/yourplus.bin', yourplus);
+save(libdir + '/A.bin', A);
+
+//create the name file
+mputl(['myplus';'yourplus';'A'],libdir+'/names');
+
+//erase the variables
+clear myplus yourplus A
+
+//build the library containing myplus and yourplus
+test_lib = lib(libdir+'/');
+
+ref = 1:10;
+if (A <> ref) then pause,end
+
+if isdef('myplus') <> %t then pause,end
+if isdef('yourplus') <> %t then pause,end
+if type(yourplus) <> 13 then pause,end
+if type(myplus) <> 13 then pause,end
+if type(test_lib) <> 14 then pause,end
+
+
diff --git a/modules/functions/tests/unit_tests/libraryinfo.encoding.dia.ref b/modules/functions/tests/unit_tests/libraryinfo.encoding.dia.ref
new file mode 100755
index 000000000..886924ac6
--- /dev/null
+++ b/modules/functions/tests/unit_tests/libraryinfo.encoding.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+cd(TMPDIR);
+exec(SCI+"/modules/localization/tests/unit_tests/CreateDir.sce", -1);
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"حريات وحقوق",
+"תוכנית"];
+f = ["function toto()";
+"disp(string(1))";
+"endfunction"];
+for i = 1 : size(tab_ref,'*')
+ fz = TMPDIR + filesep() + 'dir_' + tab_ref(i) + filesep() + 'file_' + tab_ref(i);
+ mputl(f,TMPDIR + filesep() + 'dir_' + tab_ref(i) + filesep() + 'toto.sci');
+ genlib('toto'+string(i) , TMPDIR+ filesep() + 'dir_' + tab_ref(i) + filesep());
+ if libraryinfo('toto'+string(i)) <> 'toto' then bugmes();quit;end
+end
diff --git a/modules/functions/tests/unit_tests/libraryinfo.encoding.tst b/modules/functions/tests/unit_tests/libraryinfo.encoding.tst
new file mode 100755
index 000000000..eaf9f5554
--- /dev/null
+++ b/modules/functions/tests/unit_tests/libraryinfo.encoding.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+cd(TMPDIR);
+
+exec(SCI+"/modules/localization/tests/unit_tests/CreateDir.sce", -1);
+
+
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"حريات وحقوق",
+"תוכנית"];
+
+f = ["function toto()";
+"disp(string(1))";
+"endfunction"];
+
+for i = 1 : size(tab_ref,'*')
+ fz = TMPDIR + filesep() + 'dir_' + tab_ref(i) + filesep() + 'file_' + tab_ref(i);
+ mputl(f,TMPDIR + filesep() + 'dir_' + tab_ref(i) + filesep() + 'toto.sci');
+ genlib('toto'+string(i) , TMPDIR+ filesep() + 'dir_' + tab_ref(i) + filesep());
+ if libraryinfo('toto'+string(i)) <> 'toto' then pause,end
+end
diff --git a/modules/functions/tests/unit_tests/macrovar.dia.ref b/modules/functions/tests/unit_tests/macrovar.dia.ref
new file mode 100755
index 000000000..82abc8fb4
--- /dev/null
+++ b/modules/functions/tests/unit_tests/macrovar.dia.ref
@@ -0,0 +1,71 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+funcprot(0);
+//1 in, 0 out
+ref = list("i1", [], [], [], []);
+function foo(i1)
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
+//1 in, 1 out
+ref = list("i1", "o1", [], [], []);
+function o1 = foo(i1)
+ o1 = i1;
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
+//n in, n out
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], [], [], []);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ o1 = i1 + i2;
+ o2 = i2 + i3;
+ o3 = i3 + i4;
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
+//add local vars
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], [], [], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = l1;
+ o2 = l2;
+ o3 = l3;
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
+//add external vars
+e1 = 1;
+e2 = 2;
+e3 = 3;
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], ["e1";"e2";"e3"], [], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = l1 + e1;
+ o2 = l2 + e2;
+ o3 = l3 + e3;
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
+//add function calls
+e1 = 1;
+e2 = 2;
+e3 = 3;
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], ["e1";"e2";"e3"], ["cos";"sin";"tan"], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = cos(l1 + e1);
+ o2 = sin(l2 + e2);
+ o3 = tan(l3 + e3);
+endfunction
+val = macrovar(foo);
+assert_checkequal(ref, val);
diff --git a/modules/functions/tests/unit_tests/macrovar.tst b/modules/functions/tests/unit_tests/macrovar.tst
new file mode 100755
index 000000000..7acd3159a
--- /dev/null
+++ b/modules/functions/tests/unit_tests/macrovar.tst
@@ -0,0 +1,86 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+funcprot(0);
+
+//1 in, 0 out
+ref = list("i1", [], [], [], []);
+function foo(i1)
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
+
+//1 in, 1 out
+ref = list("i1", "o1", [], [], []);
+function o1 = foo(i1)
+ o1 = i1;
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
+
+//n in, n out
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], [], [], []);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ o1 = i1 + i2;
+ o2 = i2 + i3;
+ o3 = i3 + i4;
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
+
+//add local vars
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], [], [], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = l1;
+ o2 = l2;
+ o3 = l3;
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
+
+//add external vars
+e1 = 1;
+e2 = 2;
+e3 = 3;
+
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], ["e1";"e2";"e3"], [], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = l1 + e1;
+ o2 = l2 + e2;
+ o3 = l3 + e3;
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
+
+//add function calls
+e1 = 1;
+e2 = 2;
+e3 = 3;
+
+ref = list(["i1";"i2";"i3";"i4"], ["o1";"o2";"o3"], ["e1";"e2";"e3"], ["cos";"sin";"tan"], ["l1";"l2";"l3"]);
+function [o1, o2, o3] = foo(i1, i2, i3, i4)
+ l1 = i1 + i2;
+ l2 = i2 + i3;
+ l3 = i3 + i4;
+ o1 = cos(l1 + e1);
+ o2 = sin(l2 + e2);
+ o3 = tan(l3 + e3);
+endfunction
+
+val = macrovar(foo);
+assert_checkequal(ref, val);
diff --git a/modules/functions/tests/unit_tests/whereis.dia.ref b/modules/functions/tests/unit_tests/whereis.dia.ref
new file mode 100755
index 000000000..51293c624
--- /dev/null
+++ b/modules/functions/tests/unit_tests/whereis.dia.ref
@@ -0,0 +1,9 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//whereis
+if whereis("sci2exp") <> "stringlib" then bugmes();quit;end
+if whereis('aaa') <> [] then bugmes();quit;end
diff --git a/modules/functions/tests/unit_tests/whereis.tst b/modules/functions/tests/unit_tests/whereis.tst
new file mode 100755
index 000000000..0432971ff
--- /dev/null
+++ b/modules/functions/tests/unit_tests/whereis.tst
@@ -0,0 +1,11 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//whereis
+
+if whereis("sci2exp") <> "stringlib" then pause,end
+if whereis('aaa') <> [] then pause,end
diff --git a/modules/functions/xml/gateway.dtd b/modules/functions/xml/gateway.dtd
new file mode 100755
index 000000000..4761e3514
--- /dev/null
+++ b/modules/functions/xml/gateway.dtd
@@ -0,0 +1,14 @@
+<!ELEMENT GATEWAY ( PRIMITIVE+ ) >
+<!ATTLIST GATEWAY name NMTOKEN #REQUIRED >
+
+<!ATTLIST META
+CATEGORY CDATA "Scilab gateway"
+VERSION_SCI CDATA "5.3"
+VERSION_DOC CDATA "1.0"
+AUTHOR CDATA "Allan CORNET DIGITEO 2010"
+ >
+
+<!ELEMENT PRIMITIVE EMPTY >
+<!ATTLIST PRIMITIVE gatewayId CDATA #REQUIRED >
+<!ATTLIST PRIMITIVE primitiveId NMTOKEN #REQUIRED >
+<!ATTLIST PRIMITIVE primitiveName CDATA #REQUIRED >