Dead code: Remove part of old Fortran Kernel. 94/4794/2
Bruno JOFRET [Wed, 31 Aug 2011 10:20:23 +0000 (12:20 +0200)]
Change-Id: I330d3b813ae1a4f5ec17e9a279c6aa293aa43f6b

91 files changed:
scilab/modules/api_scilab/src/cpp/api_common.cpp
scilab/modules/call_scilab/src/c/SendScilabJobs.c
scilab/modules/call_scilab/src/c/call_scilab.c
scilab/modules/core/Makefile.am
scilab/modules/core/Makefile.in
scilab/modules/core/includes/callinter.h
scilab/modules/core/sci_gateway/c/sci_comp.c
scilab/modules/core/sci_gateway/c/sci_resume.c
scilab/modules/core/sci_gateway/c/sci_return.c
scilab/modules/core/sci_gateway/fortran/sci_f_clear.f [deleted file]
scilab/modules/core/sci_gateway/fortran/sci_f_comp.f [deleted file]
scilab/modules/core/sci_gateway/fortran/sci_f_global.f [deleted file]
scilab/modules/core/sci_gateway/fortran/sci_f_resume.f [deleted file]
scilab/modules/core/sci_gateway/fortran/sci_f_useascommand.f [deleted file]
scilab/modules/core/src/c/TerminateCore.c
scilab/modules/core/src/c/core.vcxproj
scilab/modules/core/src/c/core.vcxproj.filters
scilab/modules/core/src/c/expr.c [deleted file]
scilab/modules/core/src/c/parse.c [deleted file]
scilab/modules/core/src/c/realmain.c
scilab/modules/core/src/c/run.c [deleted file]
scilab/modules/core/src/c/scirun.c [deleted file]
scilab/modules/core/src/c/stack2.c
scilab/modules/core/src/c/stack3.c
scilab/modules/core/src/c/syncexec.c [deleted file]
scilab/modules/core/src/fortran/allops.f [deleted file]
scilab/modules/core/src/fortran/clause.f [deleted file]
scilab/modules/core/src/fortran/command.f [deleted file]
scilab/modules/core/src/fortran/core_f.vfproj
scilab/modules/core/src/fortran/fact.f [deleted file]
scilab/modules/core/src/fortran/funs.f [deleted file]
scilab/modules/core/src/fortran/macro.f [deleted file]
scilab/modules/core/src/fortran/matc.f
scilab/modules/core/src/fortran/matz.f
scilab/modules/core/src/fortran/matzs.f
scilab/modules/core/src/fortran/misops.f [deleted file]
scilab/modules/core/src/fortran/mname.f [deleted file]
scilab/modules/core/src/fortran/nextj.f
scilab/modules/core/src/fortran/ptover.f [deleted file]
scilab/modules/core/src/fortran/stackgl.f
scilab/modules/core/src/fortran/stackp.f [deleted file]
scilab/modules/data_structures/Makefile.am
scilab/modules/data_structures/Makefile.in
scilab/modules/data_structures/sci_gateway/c/sci_getfield.c
scilab/modules/data_structures/sci_gateway/c/sci_setfield.c
scilab/modules/data_structures/sci_gateway/fortran/sci_f_getfield.f [deleted file]
scilab/modules/data_structures/sci_gateway/fortran/sci_f_setfield.f [deleted file]
scilab/modules/data_structures/src/fortran/data_structures_f.vfproj
scilab/modules/data_structures/src/fortran/followpath.f [deleted file]
scilab/modules/data_structures/src/fortran/intl_e.f [deleted file]
scilab/modules/data_structures/src/fortran/intl_i.f [deleted file]
scilab/modules/data_structures/src/fortran/lstops.f [deleted file]
scilab/modules/elementary_functions/Makefile.am
scilab/modules/elementary_functions/Makefile.in
scilab/modules/elementary_functions/sci_gateway/c/sci_isequal.c [deleted file]
scilab/modules/elementary_functions/sci_gateway/c/sci_isequalbitwise.c
scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_isequal.f [deleted file]
scilab/modules/elementary_functions/src/c/IsEqualVar.c [deleted file]
scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj
scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj.filters
scilab/modules/elementary_functions/src/c/elementary_functions_f_Import.def
scilab/modules/elementary_functions/src/fortran/elementary_functions_f.vfproj
scilab/modules/functions/Makefile.am
scilab/modules/functions/Makefile.in
scilab/modules/functions/sci_gateway/c/sci_deff.c
scilab/modules/functions/sci_gateway/fortran/intdeff.f [deleted file]
scilab/modules/functions/src/fortran/functions_f.vfproj
scilab/modules/functions/src/fortran/whereis.f
scilab/modules/io/Makefile.am
scilab/modules/io/Makefile.in
scilab/modules/io/sci_gateway/c/gw_io.c
scilab/modules/io/sci_gateway/c/sci_load.c [deleted file]
scilab/modules/io/sci_gateway/c/sci_save.c
scilab/modules/io/src/c/io.vcxproj
scilab/modules/io/src/c/io.vcxproj.filters
scilab/modules/io/src/c/io_f_Import.def
scilab/modules/io/src/fortran/io_f.vfproj
scilab/modules/io/src/fortran/newsave.f [deleted file]
scilab/modules/javasci/src/c/javasci_globals.c
scilab/modules/linear_algebra/sci_gateway/c/sci_schur.c
scilab/modules/linear_algebra/src/fortran/intozgschur.f
scilab/modules/linear_algebra/src/fortran/intzgschur.f
scilab/modules/linear_algebra/src/fortran/intzschur.f
scilab/modules/linear_algebra/src/fortran/scischur.f
scilab/modules/output_stream/Makefile.am
scilab/modules/output_stream/Makefile.in
scilab/modules/output_stream/sci_gateway/c/sci_disp.c [deleted file]
scilab/modules/output_stream/sci_gateway/fortran/intdisp.f [deleted file]
scilab/modules/output_stream/sci_gateway/fortran/intprint.f [deleted file]
scilab/modules/output_stream/src/fortran/output_stream_f.vfproj
scilab/modules/output_stream/src/fortran/print.f [deleted file]

index f09ccbb..bffc262 100644 (file)
@@ -339,8 +339,8 @@ int isNamedVarComplex(void* _pvCtx, const char *_pstName)
 /*--------------------------------------------------------------------------*/
 void createNamedVariable(int *_piVarID)
 {
-    int iOne                = 1;
-    C2F(stackp)(_piVarID, &iOne);
+    //int iOne                = 1;
+    //C2F(stackp)(_piVarID, &iOne);
 }
 /*--------------------------------------------------------------------------*/
 int updateInterSCI(int _iVar, char _cType, int _iSCIAddress, int _iSCIDataAddress)
index 49022e8..9239ef1 100644 (file)
@@ -55,7 +55,7 @@ int SendScilabJob(char *job)
         int m = 0, n = 0;
 
         /* clear prev. Err , TMP_EXEC_STRING scilab variables */
-        C2F(scirun)(COMMAND_CLEAR,(long int)strlen(COMMAND_CLEAR));
+        //C2F(scirun)(COMMAND_CLEAR,(long int)strlen(COMMAND_CLEAR));
 
         SetLastJob(command);
 
@@ -77,7 +77,7 @@ int SendScilabJob(char *job)
 
 
         /* Run the command within an execstr */
-        C2F(scirun)(COMMAND_EXECSTR,(long int)strlen(COMMAND_EXECSTR));
+//        C2F(scirun)(COMMAND_EXECSTR,(long int)strlen(COMMAND_EXECSTR));
         sciErr = getNamedVarDimension(NULL, "Err_Job", &m, &n);
         if(sciErr.iErr)
         {
@@ -122,7 +122,7 @@ int SendScilabJob(char *job)
         retCode = (int)Err_Job;
 
         /* clear prev. Err , TMP_EXEC_STRING scilab variables */
-        C2F(scirun)(COMMAND_CLEAR, (long int)strlen(COMMAND_CLEAR));
+//        C2F(scirun)(COMMAND_CLEAR, (long int)strlen(COMMAND_CLEAR));
     }
     else
     {
index 0dfd5e2..52f4c3b 100644 (file)
@@ -172,7 +172,7 @@ int Call_ScilabOpen(char* SCIpath, BOOL advancedMode, char *ScilabStartup, int S
     InitStringToScilab = (char*)MALLOC(lengthStringToScilab*sizeof(char));
     sprintf(InitStringToScilab,FORMAT_SCRIPT_STARTUP,ScilabStartupUsed);
 
-    C2F(scirun)(InitStringToScilab,(long int)strlen(InitStringToScilab));
+//    C2F(scirun)(InitStringToScilab,(long int)strlen(InitStringToScilab));
 
     if (ScilabStartupUsed) {FREE(ScilabStartupUsed);ScilabStartupUsed=NULL;}
     if (InitStringToScilab) {FREE(InitStringToScilab);InitStringToScilab=NULL;}
@@ -219,7 +219,7 @@ void ScilabDoOneEvent(void)
     {
         if ( getScilabMode() != SCILAB_NWNI )
         {
-            C2F(scirun)("quit;", (int)strlen("quit;"));
+//            C2F(scirun)("quit;", (int)strlen("quit;"));
         }
     }
 }
index 3a4c030..2a3fcd9 100644 (file)
@@ -12,7 +12,6 @@ CORE_C_SOURCES = \
     src/c/inffic.c \
     src/c/cs2st.c \
     src/c/intmacr2tree.c \
-    src/c/run.c \
     src/c/InitScilab.c \
     src/c/getval.c \
     src/c/md5.c \
@@ -21,7 +20,6 @@ CORE_C_SOURCES = \
     src/c/texmacs.c \
     src/c/sciquit.c \
     src/c/stack1.c \
-    src/c/realmain.c \
     src/c/stack3.c \
     src/c/str2sci.c \
     src/c/getmodules.c \
@@ -31,7 +29,6 @@ CORE_C_SOURCES = \
     src/c/callinterf.c \
     src/c/scimem.c \
     src/c/isanan.c \
-    src/c/parse.c \
     src/c/timer.c \
     src/c/stack2.c \
     src/c/xscion.c \
@@ -40,7 +37,6 @@ CORE_C_SOURCES = \
     src/c/loadversion.c \
     src/c/version.c \
     src/c/stackinfo.c \
-    src/c/scirun.c \
     src/c/InitializeCore.c \
     src/c/TerminateCore.c \
     src/c/coretable.c \
@@ -50,9 +46,7 @@ CORE_C_SOURCES = \
     src/c/islittleendian.c \
     src/c/terme.c \
     src/c/ifexpr.c \
-    src/c/expr.c \
     src/c/getcommandlineargs.c \
-    src/c/syncexec.c \
     src/c/callFunctionFromGateway.c \
     src/c/getvariablesname.c \
     src/c/commandwords.c \
@@ -95,7 +89,6 @@ CORE_FORTRAN_SOURCES = \
     src/fortran/nextj.f \
     src/fortran/setgetmode.f \
     src/fortran/showstack.f \
-    src/fortran/misops.f \
     src/fortran/iseye.f \
     src/fortran/chkvar.f \
     src/fortran/setippty.f \
@@ -110,8 +103,6 @@ CORE_FORTRAN_SOURCES = \
     src/fortran/skpins.f \
     src/fortran/folhp.f \
     src/fortran/cvname.f \
-    src/fortran/funs.f \
-    src/fortran/fact.f \
     src/fortran/typ2cod.f \
     src/fortran/prompt.f \
     src/fortran/intstr.f \
@@ -126,10 +117,6 @@ CORE_FORTRAN_SOURCES = \
     src/fortran/find.f \
     src/fortran/setlnb.f \
     src/fortran/mrknmd.f \
-    src/fortran/stackgl.f \
-    src/fortran/allops.f \
-    src/fortran/mname.f \
-    src/fortran/command.f \
     src/fortran/ref2val.f \
     src/fortran/stack.f \
     src/fortran/isbrk.f \
@@ -153,11 +140,8 @@ CORE_FORTRAN_SOURCES = \
     src/fortran/matz.f \
     src/fortran/istrue.f \
     src/fortran/inisci.f \
-    src/fortran/ptover.f \
     src/fortran/getfunction.f \
-    src/fortran/stackp.f \
     src/fortran/dbasin.f \
-    src/fortran/macro.f \
     src/fortran/extlarg.f \
     src/fortran/getstr.f \
     src/fortran/cvwm.f \
@@ -170,7 +154,6 @@ CORE_FORTRAN_SOURCES = \
     src/fortran/ftob.f \
     src/fortran/seteol.f \
     src/fortran/basin.f \
-    src/fortran/clause.f \
     src/fortran/compcl.f \
     src/fortran/termf.f \
     src/fortran/expsum.f \
@@ -231,11 +214,9 @@ sci_gateway/c/sci_getvariablesonstack.c \
 sci_gateway/c/sci_readgateway.c \
 sci_gateway/c/sci_comp.c
 
-GATEWAY_FORTRAN_SOURCES =  sci_gateway/fortran/sci_f_global.f \
+GATEWAY_FORTRAN_SOURCES =  \
 sci_gateway/fortran/sci_f_mtlb_mode.f \
-sci_gateway/fortran/sci_f_resume.f \
 sci_gateway/fortran/sci_f_dispbpt.f \
-sci_gateway/fortran/sci_f_useascommand.f \
 sci_gateway/fortran/sci_f_intppty.f \
 sci_gateway/fortran/sci_f_ieee.f \
 sci_gateway/fortran/sci_f_macrovar.f \
@@ -244,8 +225,7 @@ sci_gateway/fortran/sci_f_setbpt.f \
 sci_gateway/fortran/sci_f_delbpt.f \
 sci_gateway/fortran/where.f \
 sci_gateway/fortran/sci_f_iserror.f \
-sci_gateway/fortran/sci_f_debug.f \
-sci_gateway/fortran/sci_f_comp.f
+sci_gateway/fortran/sci_f_debug.f
 
 GATEWAY_CPP_SOURCES =  \
        sci_gateway/cpp/sci_getmodules.cpp \
index fe726b6..28ace12 100644 (file)
@@ -124,20 +124,18 @@ am__installdirs = "$(DESTDIR)$(pkglibdir)" \
 LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
 libscicore_algo_la_LIBADD =
 am__libscicore_algo_la_SOURCES_DIST = src/c/inffic.c src/c/cs2st.c \
-       src/c/intmacr2tree.c src/c/run.c src/c/InitScilab.c \
-       src/c/getval.c src/c/md5.c src/c/inisci-c.c src/c/IsAScalar.c \
-       src/c/texmacs.c src/c/sciquit.c src/c/stack1.c \
-       src/c/realmain.c src/c/stack3.c src/c/str2sci.c \
+       src/c/intmacr2tree.c src/c/InitScilab.c src/c/getval.c \
+       src/c/md5.c src/c/inisci-c.c src/c/IsAScalar.c src/c/texmacs.c \
+       src/c/sciquit.c src/c/stack1.c src/c/stack3.c src/c/str2sci.c \
        src/c/getmodules.c src/c/getmemory.c src/c/Funtab.c \
        src/c/csignal.c src/c/callinterf.c src/c/scimem.c \
-       src/c/isanan.c src/c/parse.c src/c/timer.c src/c/stack2.c \
-       src/c/xscion.c src/c/returnanan.c src/c/LoadFunctionsTab.c \
+       src/c/isanan.c src/c/timer.c src/c/stack2.c src/c/xscion.c \
+       src/c/returnanan.c src/c/LoadFunctionsTab.c \
        src/c/loadversion.c src/c/version.c src/c/stackinfo.c \
-       src/c/scirun.c src/c/InitializeCore.c src/c/TerminateCore.c \
-       src/c/coretable.c src/c/returnProperty.c \
-       src/c/returnPropertyList.c src/c/GetXmlFileEncoding.c \
-       src/c/islittleendian.c src/c/terme.c src/c/ifexpr.c \
-       src/c/expr.c src/c/getcommandlineargs.c src/c/syncexec.c \
+       src/c/InitializeCore.c src/c/TerminateCore.c src/c/coretable.c \
+       src/c/returnProperty.c src/c/returnPropertyList.c \
+       src/c/GetXmlFileEncoding.c src/c/islittleendian.c \
+       src/c/terme.c src/c/ifexpr.c src/c/getcommandlineargs.c \
        src/c/callFunctionFromGateway.c src/c/getvariablesname.c \
        src/c/commandwords.c src/c/freeArrayOfString.c \
        src/c/getstaticdebuginfo.c src/c/getdynamicdebuginfo.c \
@@ -159,61 +157,53 @@ am__libscicore_algo_la_SOURCES_DIST = src/c/inffic.c src/c/cs2st.c \
        src/fortran/allowptr.f src/fortran/isany.f \
        src/fortran/hmcreate.f src/fortran/nextj.f \
        src/fortran/setgetmode.f src/fortran/showstack.f \
-       src/fortran/misops.f src/fortran/iseye.f src/fortran/chkvar.f \
+       src/fortran/iseye.f src/fortran/chkvar.f \
        src/fortran/setippty.f src/fortran/compil.f \
        src/fortran/funnam.f src/fortran/isnum.f src/fortran/cmdstr.f \
        src/fortran/logops.f src/fortran/atome.f src/fortran/hndlops.f \
        src/fortran/cmplxt.f src/fortran/skpins.f src/fortran/folhp.f \
-       src/fortran/cvname.f src/fortran/funs.f src/fortran/fact.f \
-       src/fortran/typ2cod.f src/fortran/prompt.f \
-       src/fortran/intstr.f src/fortran/createref.f \
-       src/fortran/btof.f src/fortran/matzs.f src/fortran/getnum.f \
-       src/fortran/btofm.f src/fortran/getsym.f \
+       src/fortran/cvname.f src/fortran/typ2cod.f \
+       src/fortran/prompt.f src/fortran/intstr.f \
+       src/fortran/createref.f src/fortran/btof.f src/fortran/matzs.f \
+       src/fortran/getnum.f src/fortran/btofm.f src/fortran/getsym.f \
        src/fortran/findequal.f src/fortran/stackg.f \
        src/fortran/find.f src/fortran/setlnb.f src/fortran/mrknmd.f \
-       src/fortran/stackgl.f src/fortran/allops.f src/fortran/mname.f \
-       src/fortran/command.f src/fortran/ref2val.f \
-       src/fortran/stack.f src/fortran/isbrk.f src/fortran/majmin.f \
-       src/fortran/xerbla.f src/fortran/dtosci.f src/fortran/bexec.f \
-       src/fortran/varfunptr.f src/fortran/getfun.f \
-       src/fortran/savlod.f src/fortran/error.f src/fortran/cvdm.f \
-       src/fortran/tradsl.f src/fortran/mkindx.f src/fortran/whatln.f \
-       src/fortran/errmgr.f src/fortran/defmat.f src/fortran/mklist.f \
-       src/fortran/sigbas.f src/fortran/indxg.f src/fortran/matz.f \
-       src/fortran/istrue.f src/fortran/inisci.f src/fortran/ptover.f \
-       src/fortran/getfunction.f src/fortran/stackp.f \
-       src/fortran/dbasin.f src/fortran/macro.f src/fortran/extlarg.f \
-       src/fortran/getstr.f src/fortran/cvwm.f \
+       src/fortran/ref2val.f src/fortran/stack.f src/fortran/isbrk.f \
+       src/fortran/majmin.f src/fortran/xerbla.f src/fortran/dtosci.f \
+       src/fortran/bexec.f src/fortran/varfunptr.f \
+       src/fortran/getfun.f src/fortran/savlod.f src/fortran/error.f \
+       src/fortran/cvdm.f src/fortran/tradsl.f src/fortran/mkindx.f \
+       src/fortran/whatln.f src/fortran/errmgr.f src/fortran/defmat.f \
+       src/fortran/mklist.f src/fortran/sigbas.f src/fortran/indxg.f \
+       src/fortran/matz.f src/fortran/istrue.f src/fortran/inisci.f \
+       src/fortran/getfunction.f src/fortran/dbasin.f \
+       src/fortran/extlarg.f src/fortran/getstr.f src/fortran/cvwm.f \
        src/fortran/storeglobal.f src/fortran/lst2vars.f \
        src/fortran/basnms.f src/fortran/matc.f src/fortran/ptrback.f \
        src/fortran/getch.f src/fortran/ftob.f src/fortran/seteol.f \
-       src/fortran/basin.f src/fortran/clause.f src/fortran/compcl.f \
-       src/fortran/termf.f src/fortran/expsum.f src/fortran/copyvar.f \
-       src/fortran/putid.f src/fortran/itosci.f \
-       src/fortran/stackr2d.f src/fortran/stacki2d.f \
-       src/fortran/stackc2i.f src/fortran/isinstring.f \
-       src/fortran/relocstack.f
+       src/fortran/basin.f src/fortran/compcl.f src/fortran/termf.f \
+       src/fortran/expsum.f src/fortran/copyvar.f src/fortran/putid.f \
+       src/fortran/itosci.f src/fortran/stackr2d.f \
+       src/fortran/stacki2d.f src/fortran/stackc2i.f \
+       src/fortran/isinstring.f src/fortran/relocstack.f
 @USE_DYNAMIC_STACK_TRUE@am__objects_1 =  \
 @USE_DYNAMIC_STACK_TRUE@       libscicore_algo_la-scimem64.lo
 am__objects_2 = libscicore_algo_la-inffic.lo \
        libscicore_algo_la-cs2st.lo libscicore_algo_la-intmacr2tree.lo \
-       libscicore_algo_la-run.lo libscicore_algo_la-InitScilab.lo \
-       libscicore_algo_la-getval.lo libscicore_algo_la-md5.lo \
-       libscicore_algo_la-inisci-c.lo libscicore_algo_la-IsAScalar.lo \
-       libscicore_algo_la-texmacs.lo libscicore_algo_la-sciquit.lo \
-       libscicore_algo_la-stack1.lo libscicore_algo_la-realmain.lo \
+       libscicore_algo_la-InitScilab.lo libscicore_algo_la-getval.lo \
+       libscicore_algo_la-md5.lo libscicore_algo_la-inisci-c.lo \
+       libscicore_algo_la-IsAScalar.lo libscicore_algo_la-texmacs.lo \
+       libscicore_algo_la-sciquit.lo libscicore_algo_la-stack1.lo \
        libscicore_algo_la-stack3.lo libscicore_algo_la-str2sci.lo \
        libscicore_algo_la-getmodules.lo \
        libscicore_algo_la-getmemory.lo libscicore_algo_la-Funtab.lo \
        libscicore_algo_la-csignal.lo libscicore_algo_la-callinterf.lo \
        libscicore_algo_la-scimem.lo libscicore_algo_la-isanan.lo \
-       libscicore_algo_la-parse.lo libscicore_algo_la-timer.lo \
-       libscicore_algo_la-stack2.lo libscicore_algo_la-xscion.lo \
-       libscicore_algo_la-returnanan.lo \
+       libscicore_algo_la-timer.lo libscicore_algo_la-stack2.lo \
+       libscicore_algo_la-xscion.lo libscicore_algo_la-returnanan.lo \
        libscicore_algo_la-LoadFunctionsTab.lo \
        libscicore_algo_la-loadversion.lo \
        libscicore_algo_la-version.lo libscicore_algo_la-stackinfo.lo \
-       libscicore_algo_la-scirun.lo \
        libscicore_algo_la-InitializeCore.lo \
        libscicore_algo_la-TerminateCore.lo \
        libscicore_algo_la-coretable.lo \
@@ -222,9 +212,7 @@ am__objects_2 = libscicore_algo_la-inffic.lo \
        libscicore_algo_la-GetXmlFileEncoding.lo \
        libscicore_algo_la-islittleendian.lo \
        libscicore_algo_la-terme.lo libscicore_algo_la-ifexpr.lo \
-       libscicore_algo_la-expr.lo \
        libscicore_algo_la-getcommandlineargs.lo \
-       libscicore_algo_la-syncexec.lo \
        libscicore_algo_la-callFunctionFromGateway.lo \
        libscicore_algo_la-getvariablesname.lo \
        libscicore_algo_la-commandwords.lo \
@@ -260,22 +248,20 @@ am__objects_3 = libscicore_algo_la-core_gw.lo \
        libscicore_algo_la-runner.lo
 @USE_DYNAMIC_STACK_TRUE@am__objects_4 = relocstack.lo
 am__objects_5 = clunit.lo getlin.lo allowptr.lo isany.lo hmcreate.lo \
-       nextj.lo setgetmode.lo showstack.lo misops.lo iseye.lo \
-       chkvar.lo setippty.lo compil.lo funnam.lo isnum.lo cmdstr.lo \
-       logops.lo atome.lo hndlops.lo cmplxt.lo skpins.lo folhp.lo \
-       cvname.lo funs.lo fact.lo typ2cod.lo prompt.lo intstr.lo \
-       createref.lo btof.lo matzs.lo getnum.lo btofm.lo getsym.lo \
-       findequal.lo stackg.lo find.lo setlnb.lo mrknmd.lo stackgl.lo \
-       allops.lo mname.lo command.lo ref2val.lo stack.lo isbrk.lo \
-       majmin.lo xerbla.lo dtosci.lo bexec.lo varfunptr.lo getfun.lo \
-       savlod.lo error.lo cvdm.lo tradsl.lo mkindx.lo whatln.lo \
-       errmgr.lo defmat.lo mklist.lo sigbas.lo indxg.lo matz.lo \
-       istrue.lo inisci.lo ptover.lo getfunction.lo stackp.lo \
-       dbasin.lo macro.lo extlarg.lo getstr.lo cvwm.lo storeglobal.lo \
-       lst2vars.lo basnms.lo matc.lo ptrback.lo getch.lo ftob.lo \
-       seteol.lo basin.lo clause.lo compcl.lo termf.lo expsum.lo \
-       copyvar.lo putid.lo itosci.lo stackr2d.lo stacki2d.lo \
-       stackc2i.lo isinstring.lo $(am__objects_4)
+       nextj.lo setgetmode.lo showstack.lo iseye.lo chkvar.lo \
+       setippty.lo compil.lo funnam.lo isnum.lo cmdstr.lo logops.lo \
+       atome.lo hndlops.lo cmplxt.lo skpins.lo folhp.lo cvname.lo \
+       typ2cod.lo prompt.lo intstr.lo createref.lo btof.lo matzs.lo \
+       getnum.lo btofm.lo getsym.lo findequal.lo stackg.lo find.lo \
+       setlnb.lo mrknmd.lo ref2val.lo stack.lo isbrk.lo majmin.lo \
+       xerbla.lo dtosci.lo bexec.lo varfunptr.lo getfun.lo savlod.lo \
+       error.lo cvdm.lo tradsl.lo mkindx.lo whatln.lo errmgr.lo \
+       defmat.lo mklist.lo sigbas.lo indxg.lo matz.lo istrue.lo \
+       inisci.lo getfunction.lo dbasin.lo extlarg.lo getstr.lo \
+       cvwm.lo storeglobal.lo lst2vars.lo basnms.lo matc.lo \
+       ptrback.lo getch.lo ftob.lo seteol.lo basin.lo compcl.lo \
+       termf.lo expsum.lo copyvar.lo putid.lo itosci.lo stackr2d.lo \
+       stacki2d.lo stackc2i.lo isinstring.lo $(am__objects_4)
 am_libscicore_algo_la_OBJECTS = $(am__objects_2) $(am__objects_3) \
        $(am__objects_5)
 libscicore_algo_la_OBJECTS = $(am_libscicore_algo_la_OBJECTS)
@@ -298,11 +284,10 @@ am__objects_6 = libscicore_la-sci_mtlb_mode.lo \
        libscicore_la-gw_user.lo libscicore_la-gw_user2.lo \
        libscicore_la-sci_getvariablesonstack.lo \
        libscicore_la-sci_readgateway.lo libscicore_la-sci_comp.lo
-am__objects_7 = sci_f_global.lo sci_f_mtlb_mode.lo sci_f_resume.lo \
-       sci_f_dispbpt.lo sci_f_useascommand.lo sci_f_intppty.lo \
+am__objects_7 = sci_f_mtlb_mode.lo sci_f_dispbpt.lo sci_f_intppty.lo \
        sci_f_ieee.lo sci_f_macrovar.lo sci_f_errcatch.lo \
        sci_f_setbpt.lo sci_f_delbpt.lo where.lo sci_f_iserror.lo \
-       sci_f_debug.lo sci_f_comp.lo
+       sci_f_debug.lo
 am__objects_8 = libscicore_la-sci_getmodules.lo \
        libscicore_la-sci_clear.lo libscicore_la-sci_banner.lo \
        libscicore_la-sci_quit.lo libscicore_la-sci_exit.lo \
@@ -620,19 +605,18 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 yacc_present = @yacc_present@
 CORE_C_SOURCES = src/c/inffic.c src/c/cs2st.c src/c/intmacr2tree.c \
-       src/c/run.c src/c/InitScilab.c src/c/getval.c src/c/md5.c \
-       src/c/inisci-c.c src/c/IsAScalar.c src/c/texmacs.c \
-       src/c/sciquit.c src/c/stack1.c src/c/realmain.c src/c/stack3.c \
-       src/c/str2sci.c src/c/getmodules.c src/c/getmemory.c \
-       src/c/Funtab.c src/c/csignal.c src/c/callinterf.c \
-       src/c/scimem.c src/c/isanan.c src/c/parse.c src/c/timer.c \
-       src/c/stack2.c src/c/xscion.c src/c/returnanan.c \
-       src/c/LoadFunctionsTab.c src/c/loadversion.c src/c/version.c \
-       src/c/stackinfo.c src/c/scirun.c src/c/InitializeCore.c \
-       src/c/TerminateCore.c src/c/coretable.c src/c/returnProperty.c \
-       src/c/returnPropertyList.c src/c/GetXmlFileEncoding.c \
-       src/c/islittleendian.c src/c/terme.c src/c/ifexpr.c \
-       src/c/expr.c src/c/getcommandlineargs.c src/c/syncexec.c \
+       src/c/InitScilab.c src/c/getval.c src/c/md5.c src/c/inisci-c.c \
+       src/c/IsAScalar.c src/c/texmacs.c src/c/sciquit.c \
+       src/c/stack1.c src/c/stack3.c src/c/str2sci.c \
+       src/c/getmodules.c src/c/getmemory.c src/c/Funtab.c \
+       src/c/csignal.c src/c/callinterf.c src/c/scimem.c \
+       src/c/isanan.c src/c/timer.c src/c/stack2.c src/c/xscion.c \
+       src/c/returnanan.c src/c/LoadFunctionsTab.c \
+       src/c/loadversion.c src/c/version.c src/c/stackinfo.c \
+       src/c/InitializeCore.c src/c/TerminateCore.c src/c/coretable.c \
+       src/c/returnProperty.c src/c/returnPropertyList.c \
+       src/c/GetXmlFileEncoding.c src/c/islittleendian.c \
+       src/c/terme.c src/c/ifexpr.c src/c/getcommandlineargs.c \
        src/c/callFunctionFromGateway.c src/c/getvariablesname.c \
        src/c/commandwords.c src/c/freeArrayOfString.c \
        src/c/getstaticdebuginfo.c src/c/getdynamicdebuginfo.c \
@@ -650,40 +634,35 @@ CORE_FORTRAN_SOURCES = src/fortran/clunit.f src/fortran/getlin.f \
        src/fortran/allowptr.f src/fortran/isany.f \
        src/fortran/hmcreate.f src/fortran/nextj.f \
        src/fortran/setgetmode.f src/fortran/showstack.f \
-       src/fortran/misops.f src/fortran/iseye.f src/fortran/chkvar.f \
+       src/fortran/iseye.f src/fortran/chkvar.f \
        src/fortran/setippty.f src/fortran/compil.f \
        src/fortran/funnam.f src/fortran/isnum.f src/fortran/cmdstr.f \
        src/fortran/logops.f src/fortran/atome.f src/fortran/hndlops.f \
        src/fortran/cmplxt.f src/fortran/skpins.f src/fortran/folhp.f \
-       src/fortran/cvname.f src/fortran/funs.f src/fortran/fact.f \
-       src/fortran/typ2cod.f src/fortran/prompt.f \
-       src/fortran/intstr.f src/fortran/createref.f \
-       src/fortran/btof.f src/fortran/matzs.f src/fortran/getnum.f \
-       src/fortran/btofm.f src/fortran/getsym.f \
+       src/fortran/cvname.f src/fortran/typ2cod.f \
+       src/fortran/prompt.f src/fortran/intstr.f \
+       src/fortran/createref.f src/fortran/btof.f src/fortran/matzs.f \
+       src/fortran/getnum.f src/fortran/btofm.f src/fortran/getsym.f \
        src/fortran/findequal.f src/fortran/stackg.f \
        src/fortran/find.f src/fortran/setlnb.f src/fortran/mrknmd.f \
-       src/fortran/stackgl.f src/fortran/allops.f src/fortran/mname.f \
-       src/fortran/command.f src/fortran/ref2val.f \
-       src/fortran/stack.f src/fortran/isbrk.f src/fortran/majmin.f \
-       src/fortran/xerbla.f src/fortran/dtosci.f src/fortran/bexec.f \
-       src/fortran/varfunptr.f src/fortran/getfun.f \
-       src/fortran/savlod.f src/fortran/error.f src/fortran/cvdm.f \
-       src/fortran/tradsl.f src/fortran/mkindx.f src/fortran/whatln.f \
-       src/fortran/errmgr.f src/fortran/defmat.f src/fortran/mklist.f \
-       src/fortran/sigbas.f src/fortran/indxg.f src/fortran/matz.f \
-       src/fortran/istrue.f src/fortran/inisci.f src/fortran/ptover.f \
-       src/fortran/getfunction.f src/fortran/stackp.f \
-       src/fortran/dbasin.f src/fortran/macro.f src/fortran/extlarg.f \
-       src/fortran/getstr.f src/fortran/cvwm.f \
+       src/fortran/ref2val.f src/fortran/stack.f src/fortran/isbrk.f \
+       src/fortran/majmin.f src/fortran/xerbla.f src/fortran/dtosci.f \
+       src/fortran/bexec.f src/fortran/varfunptr.f \
+       src/fortran/getfun.f src/fortran/savlod.f src/fortran/error.f \
+       src/fortran/cvdm.f src/fortran/tradsl.f src/fortran/mkindx.f \
+       src/fortran/whatln.f src/fortran/errmgr.f src/fortran/defmat.f \
+       src/fortran/mklist.f src/fortran/sigbas.f src/fortran/indxg.f \
+       src/fortran/matz.f src/fortran/istrue.f src/fortran/inisci.f \
+       src/fortran/getfunction.f src/fortran/dbasin.f \
+       src/fortran/extlarg.f src/fortran/getstr.f src/fortran/cvwm.f \
        src/fortran/storeglobal.f src/fortran/lst2vars.f \
        src/fortran/basnms.f src/fortran/matc.f src/fortran/ptrback.f \
        src/fortran/getch.f src/fortran/ftob.f src/fortran/seteol.f \
-       src/fortran/basin.f src/fortran/clause.f src/fortran/compcl.f \
-       src/fortran/termf.f src/fortran/expsum.f src/fortran/copyvar.f \
-       src/fortran/putid.f src/fortran/itosci.f \
-       src/fortran/stackr2d.f src/fortran/stacki2d.f \
-       src/fortran/stackc2i.f src/fortran/isinstring.f \
-       $(am__append_2)
+       src/fortran/basin.f src/fortran/compcl.f src/fortran/termf.f \
+       src/fortran/expsum.f src/fortran/copyvar.f src/fortran/putid.f \
+       src/fortran/itosci.f src/fortran/stackr2d.f \
+       src/fortran/stacki2d.f src/fortran/stackc2i.f \
+       src/fortran/isinstring.f $(am__append_2)
 CORE_CPP_SOURCES = \
     src/cpp/core_gw.cpp \
     src/cpp/hashtable_core.cpp \
@@ -729,11 +708,9 @@ sci_gateway/c/sci_getvariablesonstack.c \
 sci_gateway/c/sci_readgateway.c \
 sci_gateway/c/sci_comp.c
 
-GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_global.f \
+GATEWAY_FORTRAN_SOURCES = \
 sci_gateway/fortran/sci_f_mtlb_mode.f \
-sci_gateway/fortran/sci_f_resume.f \
 sci_gateway/fortran/sci_f_dispbpt.f \
-sci_gateway/fortran/sci_f_useascommand.f \
 sci_gateway/fortran/sci_f_intppty.f \
 sci_gateway/fortran/sci_f_ieee.f \
 sci_gateway/fortran/sci_f_macrovar.f \
@@ -742,8 +719,7 @@ sci_gateway/fortran/sci_f_setbpt.f \
 sci_gateway/fortran/sci_f_delbpt.f \
 sci_gateway/fortran/where.f \
 sci_gateway/fortran/sci_f_iserror.f \
-sci_gateway/fortran/sci_f_debug.f \
-sci_gateway/fortran/sci_f_comp.f
+sci_gateway/fortran/sci_f_debug.f
 
 GATEWAY_CPP_SOURCES = \
        sci_gateway/cpp/sci_getmodules.cpp \
@@ -1049,7 +1025,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-dynamic_tclsci.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-eqid.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-exitCodeValue.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-expr.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-freeArrayOfString.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-funcprot.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-getcommandlineargs.Plo@am__quote@
@@ -1074,20 +1049,16 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-md5.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-mode_exec.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-namstr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-parse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-predef.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-readGateway.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-realmain.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-recursionFunction.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-returnProperty.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-returnPropertyList.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-returnanan.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-run.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-runner.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-scimem.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-scimem64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-sciquit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-scirun.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-search_functions.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-setPrecisionFPU.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-signal_mgmt.Plo@am__quote@
@@ -1097,7 +1068,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-stackinfo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-storeCommand.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-str2sci.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-syncexec.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-terme.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-texmacs.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_algo_la-timer.Plo@am__quote@
@@ -1207,13 +1177,6 @@ libscicore_algo_la-intmacr2tree.lo: src/c/intmacr2tree.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-intmacr2tree.lo `test -f 'src/c/intmacr2tree.c' || echo '$(srcdir)/'`src/c/intmacr2tree.c
 
-libscicore_algo_la-run.lo: src/c/run.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-run.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-run.Tpo -c -o libscicore_algo_la-run.lo `test -f 'src/c/run.c' || echo '$(srcdir)/'`src/c/run.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-run.Tpo $(DEPDIR)/libscicore_algo_la-run.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/run.c' object='libscicore_algo_la-run.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-run.lo `test -f 'src/c/run.c' || echo '$(srcdir)/'`src/c/run.c
-
 libscicore_algo_la-InitScilab.lo: src/c/InitScilab.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-InitScilab.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-InitScilab.Tpo -c -o libscicore_algo_la-InitScilab.lo `test -f 'src/c/InitScilab.c' || echo '$(srcdir)/'`src/c/InitScilab.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-InitScilab.Tpo $(DEPDIR)/libscicore_algo_la-InitScilab.Plo
@@ -1270,13 +1233,6 @@ libscicore_algo_la-stack1.lo: src/c/stack1.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-stack1.lo `test -f 'src/c/stack1.c' || echo '$(srcdir)/'`src/c/stack1.c
 
-libscicore_algo_la-realmain.lo: src/c/realmain.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-realmain.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-realmain.Tpo -c -o libscicore_algo_la-realmain.lo `test -f 'src/c/realmain.c' || echo '$(srcdir)/'`src/c/realmain.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-realmain.Tpo $(DEPDIR)/libscicore_algo_la-realmain.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/realmain.c' object='libscicore_algo_la-realmain.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-realmain.lo `test -f 'src/c/realmain.c' || echo '$(srcdir)/'`src/c/realmain.c
-
 libscicore_algo_la-stack3.lo: src/c/stack3.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-stack3.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-stack3.Tpo -c -o libscicore_algo_la-stack3.lo `test -f 'src/c/stack3.c' || echo '$(srcdir)/'`src/c/stack3.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-stack3.Tpo $(DEPDIR)/libscicore_algo_la-stack3.Plo
@@ -1340,13 +1296,6 @@ libscicore_algo_la-isanan.lo: src/c/isanan.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-isanan.lo `test -f 'src/c/isanan.c' || echo '$(srcdir)/'`src/c/isanan.c
 
-libscicore_algo_la-parse.lo: src/c/parse.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-parse.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-parse.Tpo -c -o libscicore_algo_la-parse.lo `test -f 'src/c/parse.c' || echo '$(srcdir)/'`src/c/parse.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-parse.Tpo $(DEPDIR)/libscicore_algo_la-parse.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/parse.c' object='libscicore_algo_la-parse.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-parse.lo `test -f 'src/c/parse.c' || echo '$(srcdir)/'`src/c/parse.c
-
 libscicore_algo_la-timer.lo: src/c/timer.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-timer.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-timer.Tpo -c -o libscicore_algo_la-timer.lo `test -f 'src/c/timer.c' || echo '$(srcdir)/'`src/c/timer.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-timer.Tpo $(DEPDIR)/libscicore_algo_la-timer.Plo
@@ -1403,13 +1352,6 @@ libscicore_algo_la-stackinfo.lo: src/c/stackinfo.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-stackinfo.lo `test -f 'src/c/stackinfo.c' || echo '$(srcdir)/'`src/c/stackinfo.c
 
-libscicore_algo_la-scirun.lo: src/c/scirun.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-scirun.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-scirun.Tpo -c -o libscicore_algo_la-scirun.lo `test -f 'src/c/scirun.c' || echo '$(srcdir)/'`src/c/scirun.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-scirun.Tpo $(DEPDIR)/libscicore_algo_la-scirun.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/scirun.c' object='libscicore_algo_la-scirun.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-scirun.lo `test -f 'src/c/scirun.c' || echo '$(srcdir)/'`src/c/scirun.c
-
 libscicore_algo_la-InitializeCore.lo: src/c/InitializeCore.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-InitializeCore.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-InitializeCore.Tpo -c -o libscicore_algo_la-InitializeCore.lo `test -f 'src/c/InitializeCore.c' || echo '$(srcdir)/'`src/c/InitializeCore.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-InitializeCore.Tpo $(DEPDIR)/libscicore_algo_la-InitializeCore.Plo
@@ -1473,13 +1415,6 @@ libscicore_algo_la-ifexpr.lo: src/c/ifexpr.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-ifexpr.lo `test -f 'src/c/ifexpr.c' || echo '$(srcdir)/'`src/c/ifexpr.c
 
-libscicore_algo_la-expr.lo: src/c/expr.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-expr.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-expr.Tpo -c -o libscicore_algo_la-expr.lo `test -f 'src/c/expr.c' || echo '$(srcdir)/'`src/c/expr.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-expr.Tpo $(DEPDIR)/libscicore_algo_la-expr.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/expr.c' object='libscicore_algo_la-expr.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-expr.lo `test -f 'src/c/expr.c' || echo '$(srcdir)/'`src/c/expr.c
-
 libscicore_algo_la-getcommandlineargs.lo: src/c/getcommandlineargs.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-getcommandlineargs.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-getcommandlineargs.Tpo -c -o libscicore_algo_la-getcommandlineargs.lo `test -f 'src/c/getcommandlineargs.c' || echo '$(srcdir)/'`src/c/getcommandlineargs.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-getcommandlineargs.Tpo $(DEPDIR)/libscicore_algo_la-getcommandlineargs.Plo
@@ -1487,13 +1422,6 @@ libscicore_algo_la-getcommandlineargs.lo: src/c/getcommandlineargs.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-getcommandlineargs.lo `test -f 'src/c/getcommandlineargs.c' || echo '$(srcdir)/'`src/c/getcommandlineargs.c
 
-libscicore_algo_la-syncexec.lo: src/c/syncexec.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-syncexec.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-syncexec.Tpo -c -o libscicore_algo_la-syncexec.lo `test -f 'src/c/syncexec.c' || echo '$(srcdir)/'`src/c/syncexec.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-syncexec.Tpo $(DEPDIR)/libscicore_algo_la-syncexec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/syncexec.c' object='libscicore_algo_la-syncexec.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -c -o libscicore_algo_la-syncexec.lo `test -f 'src/c/syncexec.c' || echo '$(srcdir)/'`src/c/syncexec.c
-
 libscicore_algo_la-callFunctionFromGateway.lo: src/c/callFunctionFromGateway.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_algo_la_CFLAGS) $(CFLAGS) -MT libscicore_algo_la-callFunctionFromGateway.lo -MD -MP -MF $(DEPDIR)/libscicore_algo_la-callFunctionFromGateway.Tpo -c -o libscicore_algo_la-callFunctionFromGateway.lo `test -f 'src/c/callFunctionFromGateway.c' || echo '$(srcdir)/'`src/c/callFunctionFromGateway.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_algo_la-callFunctionFromGateway.Tpo $(DEPDIR)/libscicore_algo_la-callFunctionFromGateway.Plo
@@ -2213,9 +2141,6 @@ setgetmode.lo: src/fortran/setgetmode.f
 showstack.lo: src/fortran/showstack.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o showstack.lo `test -f 'src/fortran/showstack.f' || echo '$(srcdir)/'`src/fortran/showstack.f
 
-misops.lo: src/fortran/misops.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o misops.lo `test -f 'src/fortran/misops.f' || echo '$(srcdir)/'`src/fortran/misops.f
-
 iseye.lo: src/fortran/iseye.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o iseye.lo `test -f 'src/fortran/iseye.f' || echo '$(srcdir)/'`src/fortran/iseye.f
 
@@ -2258,12 +2183,6 @@ folhp.lo: src/fortran/folhp.f
 cvname.lo: src/fortran/cvname.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o cvname.lo `test -f 'src/fortran/cvname.f' || echo '$(srcdir)/'`src/fortran/cvname.f
 
-funs.lo: src/fortran/funs.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o funs.lo `test -f 'src/fortran/funs.f' || echo '$(srcdir)/'`src/fortran/funs.f
-
-fact.lo: src/fortran/fact.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o fact.lo `test -f 'src/fortran/fact.f' || echo '$(srcdir)/'`src/fortran/fact.f
-
 typ2cod.lo: src/fortran/typ2cod.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o typ2cod.lo `test -f 'src/fortran/typ2cod.f' || echo '$(srcdir)/'`src/fortran/typ2cod.f
 
@@ -2306,18 +2225,6 @@ setlnb.lo: src/fortran/setlnb.f
 mrknmd.lo: src/fortran/mrknmd.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o mrknmd.lo `test -f 'src/fortran/mrknmd.f' || echo '$(srcdir)/'`src/fortran/mrknmd.f
 
-stackgl.lo: src/fortran/stackgl.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o stackgl.lo `test -f 'src/fortran/stackgl.f' || echo '$(srcdir)/'`src/fortran/stackgl.f
-
-allops.lo: src/fortran/allops.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o allops.lo `test -f 'src/fortran/allops.f' || echo '$(srcdir)/'`src/fortran/allops.f
-
-mname.lo: src/fortran/mname.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o mname.lo `test -f 'src/fortran/mname.f' || echo '$(srcdir)/'`src/fortran/mname.f
-
-command.lo: src/fortran/command.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o command.lo `test -f 'src/fortran/command.f' || echo '$(srcdir)/'`src/fortran/command.f
-
 ref2val.lo: src/fortran/ref2val.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ref2val.lo `test -f 'src/fortran/ref2val.f' || echo '$(srcdir)/'`src/fortran/ref2val.f
 
@@ -2387,21 +2294,12 @@ istrue.lo: src/fortran/istrue.f
 inisci.lo: src/fortran/inisci.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o inisci.lo `test -f 'src/fortran/inisci.f' || echo '$(srcdir)/'`src/fortran/inisci.f
 
-ptover.lo: src/fortran/ptover.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ptover.lo `test -f 'src/fortran/ptover.f' || echo '$(srcdir)/'`src/fortran/ptover.f
-
 getfunction.lo: src/fortran/getfunction.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o getfunction.lo `test -f 'src/fortran/getfunction.f' || echo '$(srcdir)/'`src/fortran/getfunction.f
 
-stackp.lo: src/fortran/stackp.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o stackp.lo `test -f 'src/fortran/stackp.f' || echo '$(srcdir)/'`src/fortran/stackp.f
-
 dbasin.lo: src/fortran/dbasin.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o dbasin.lo `test -f 'src/fortran/dbasin.f' || echo '$(srcdir)/'`src/fortran/dbasin.f
 
-macro.lo: src/fortran/macro.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o macro.lo `test -f 'src/fortran/macro.f' || echo '$(srcdir)/'`src/fortran/macro.f
-
 extlarg.lo: src/fortran/extlarg.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o extlarg.lo `test -f 'src/fortran/extlarg.f' || echo '$(srcdir)/'`src/fortran/extlarg.f
 
@@ -2438,9 +2336,6 @@ seteol.lo: src/fortran/seteol.f
 basin.lo: src/fortran/basin.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o basin.lo `test -f 'src/fortran/basin.f' || echo '$(srcdir)/'`src/fortran/basin.f
 
-clause.lo: src/fortran/clause.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o clause.lo `test -f 'src/fortran/clause.f' || echo '$(srcdir)/'`src/fortran/clause.f
-
 compcl.lo: src/fortran/compcl.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o compcl.lo `test -f 'src/fortran/compcl.f' || echo '$(srcdir)/'`src/fortran/compcl.f
 
@@ -2474,21 +2369,12 @@ isinstring.lo: src/fortran/isinstring.f
 relocstack.lo: src/fortran/relocstack.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o relocstack.lo `test -f 'src/fortran/relocstack.f' || echo '$(srcdir)/'`src/fortran/relocstack.f
 
-sci_f_global.lo: sci_gateway/fortran/sci_f_global.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_global.lo `test -f 'sci_gateway/fortran/sci_f_global.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_global.f
-
 sci_f_mtlb_mode.lo: sci_gateway/fortran/sci_f_mtlb_mode.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_mtlb_mode.lo `test -f 'sci_gateway/fortran/sci_f_mtlb_mode.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_mtlb_mode.f
 
-sci_f_resume.lo: sci_gateway/fortran/sci_f_resume.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_resume.lo `test -f 'sci_gateway/fortran/sci_f_resume.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_resume.f
-
 sci_f_dispbpt.lo: sci_gateway/fortran/sci_f_dispbpt.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_dispbpt.lo `test -f 'sci_gateway/fortran/sci_f_dispbpt.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_dispbpt.f
 
-sci_f_useascommand.lo: sci_gateway/fortran/sci_f_useascommand.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_useascommand.lo `test -f 'sci_gateway/fortran/sci_f_useascommand.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_useascommand.f
-
 sci_f_intppty.lo: sci_gateway/fortran/sci_f_intppty.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_intppty.lo `test -f 'sci_gateway/fortran/sci_f_intppty.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_intppty.f
 
@@ -2516,9 +2402,6 @@ sci_f_iserror.lo: sci_gateway/fortran/sci_f_iserror.f
 sci_f_debug.lo: sci_gateway/fortran/sci_f_debug.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_debug.lo `test -f 'sci_gateway/fortran/sci_f_debug.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_debug.f
 
-sci_f_comp.lo: sci_gateway/fortran/sci_f_comp.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_comp.lo `test -f 'sci_gateway/fortran/sci_f_comp.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_comp.f
-
 mostlyclean-libtool:
        -rm -f *.lo
 
index 256e4f0..858de48 100644 (file)
@@ -12,8 +12,8 @@ c     We use
 c     include file instead of subroutine to avoid recursion pbs. This file
 c     must be included in each routine which compute an external
 
- 60    call  parse
-       if(fun.eq.99) then
+c 60   call  parse
+ 60    if(fun.eq.99) then
           if(err.gt.0.or.err1.gt.0) then
 c       .     test if we are under errcatch('stop') mode (imode=3)
 c
@@ -159,7 +159,7 @@ C       be called by value
 c       call ref2val
 
        fun = 0
-       call funs(ids(1,pt+1))
+c      call funs(ids(1,pt+1))
        if(err.gt.0) goto 97
        if(fun.gt.0) then
           if (isbyref(fun).eq.0) call ref2val
index f8bc582..cbe4b60 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -16,7 +16,7 @@
 /*--------------------------------------------------------------------------*/
 int C2F(sci_comp)(char *fname,unsigned long fname_len)
 {
-       C2F(intcomp)();
+       //C2F(intcomp)();
        return 0;
 }
 /*--------------------------------------------------------------------------*/
index 45d687d..4ab89db 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -16,7 +16,7 @@ extern int C2F(intresume)();
 /*--------------------------------------------------------------------------*/
 int C2F(sci_resume)(char *fname,unsigned long fname_len)
 {
-       C2F(intresume)();
+       //C2F(intresume)();
        return 0;
 }
 /*--------------------------------------------------------------------------*/
index f90d054..3b3fed0 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -16,7 +16,7 @@ extern int C2F(intresume)(void);
 /*--------------------------------------------------------------------------*/
 int C2F(sci_return)(char *fname,unsigned long fname_len)
 {
-       C2F(intresume)();
+       //C2F(intresume)();
        return 0;
 }
 /*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_f_clear.f b/scilab/modules/core/sci_gateway/fortran/sci_f_clear.f
deleted file mode 100644 (file)
index 359e844..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-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-en.txt
-      subroutine intclear(fname)
-      include 'stack.h'
-c     
-      parameter (nz3=nsiz-3,nz2=nsiz-2)
-      character*(*) fname
-      integer top0,id(nsiz)
-      logical getsmat,checkval,checklhs
-      integer iadr
-      integer a, blank,percen,helps(nsiz)
-
-
-      data a/10/,blank/40/,percen/56/
-      data helps /353243448,673717273,nz2*673720360/
-      
-      iadr(l)=l+l-1
-
-c
-      if(.not.checklhs(fname,1,1)) return
-
-      if(rhs.le.0) then
-         if (macr.ne.0 .or. paus.ne.0) then
-            if(rstk(pt-2).eq.909) then
-c     .     clear within an exec'd macro
-               goto 01
-            endif
-c     .     clear within a macro, an execstr, an exec or a pause
-            k = lpt(1) - (13+nsiz)
-            if(lin(k+7).ne.0.and.istk(lin(k+6)).eq.10) goto 02
-c     .     clear within a macro, an exec or a pause
-            bot = min(bbot,lin(k+5))
-            goto 02
-         endif
-
- 01      continue
-c     .  clear all variable
-
-c     .  preserve %help variable
-         i1=bbot
-         fin=-1
-         call stackg(helps)
-         if(err.gt.0) return
-         if (fin.gt.0) i1=min(fin,i1)
-
-         fin=0
-         call stackg(helps)
-         if(err.gt.0) return
-         ih=fin
-
-         fin=0
-         is=fin
-         bot = bbot 
-         if(ih.eq.-1) then
-            call stackp(helps,0)
-            if(err.gt.0) return
-         endif
- 02      top=top+1
-         il = iadr(lstk(top))
-         istk(il) = 0
-         lstk(top+1) = lstk(top) + 1
-         return
-      endif
-     
-      top0=top
-      do 10 k=1,rhs
-         if(.not.getsmat(fname,top0,top,m,n,1,1,lr,nlr)) return
-         if(.not.checkval(fname,m*n,1)) return
-         if(nlr.eq.0) then
-            top=top-1
-            goto 10
-         endif
-c        . check for valid variable name
-         do 05 i=0,nlr-1
-            ic=abs(istk(lr+i))
-            if((ic.gt.blank.and.(i.gt.0.and.ic.eq.percen)).or.
-     $           (i.eq.0.and.ic.lt.a)) then
-               err=rhs+1-k
-               call error(248)
-               return
-            endif
- 05      continue
-         call namstr(id,istk(lr),nlr,0)
-         il = iadr(lstk(top))
-         istk(il) = 0
-         lstk(top+1) = lstk(top) + 1
-         rhs = 0
-         call stackp(id,0)
-         if (err .gt. 0.or.err1.gt.0) return
-         fin = 1
- 10   continue
-      top=top+1
-      il = iadr(lstk(top))
-      istk(il) = 0
-      lstk(top+1) = lstk(top) + 1
-      end
-      
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_f_comp.f b/scilab/modules/core/sci_gateway/fortran/sci_f_comp.f
deleted file mode 100644 (file)
index d63e44e..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-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-en.txt
-      subroutine intcomp
-      include 'stack.h'
-      integer cmode,topk
-      logical checkrhs,checklhs,getscalar
-      integer iadr,sadr
-      integer semi
-      data semi/43/
-c    
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c
-
-      call ref2val
-      if(rstk(pt).eq.901) goto 61
-c
-      rhs=max(0,rhs)
-      if(.not.checklhs('comp',1,1)) return
-      if(.not.checkrhs('comp',1,2)) return
-      topk=top
-c
-      if(rhs.eq.2) then
-c     .  get compilation option
-         if(.not.getscalar('debug',topk,top,l)) return
-         cmode=stk(l)
-         if(cmode.ne.0.and.cmode.ne.1.and.cmode.ne.2) then
-            err=2
-            call error(42)
-            return
-         endif
-         top=top-1
-         rhs=1
-      else
-         cmode=0
-      endif
-
-      il=iadr(lstk(top))
-
-c
-
-      if(istk(il).eq.13) then
-c     .  function is already compiled
-         call msgs(80,0)
-         goto 72
-      endif
-      if(istk(il).ne.11) then
-         err=1
-         call error(44)
-         return
-      endif
-c
-      l=il+1
-      mlhs=istk(l)
-      l=l+nsiz*mlhs+1
-      mrhs=istk(l)
-      l = l + nsiz*mrhs + 2
-      pt=pt+1
-      ids(1,pt)=l
-      ids(2,pt)=sym
-      ids(3,pt)=char1
-
-      pstk(pt)=fin
-      fin=lstk(top)
-      sym=semi
-      comp(1)=iadr(lstk(top+1))
-      comp(2)=0
-      comp(3)=cmode
-      rstk(pt)=901
-      icall=5
-c     *call* parse  macro
-      return
- 61   l=ids(1,pt)
-      sym=ids(2,pt)
-      char1=ids(3,pt)
-      pt=pt-1
-      if(err1.ne.0) then
-         comp(3)=0
-         comp(2)=0
-         comp(1)=0
-         if (rstk(pt).eq.904) then
-            top=toperr
-            return
-         endif
-         il=iadr(lstk(top))
-         istk(il)=0
-         lhs=0
-         err2=err1
-         if(errct.eq.0) then
-            err1=0
-         else
-            top=top-1
-         endif
-         return
-      endif
-      il=iadr(lstk(top))
-      il1=iadr(lstk(top+1))
-      n=comp(2)-il1
-      comp(2)=0
-      comp(3)=0
-      call icopy(n,istk(il1),1,istk(l),1)
-      istk(l-1)=n
-      lstk(top+1)=sadr(l+n)
-      istk(il)=13
- 72   rhs=0
-      call stackp(idstk(1,top),0)
-      if(err.gt.0.or.err1.gt.0) goto 999
-      top=top+1
-      call objvide('comp',top)
-      lhs=0
-c     
- 999  return
-      end
-      
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_f_global.f b/scilab/modules/core/sci_gateway/fortran/sci_f_global.f
deleted file mode 100644 (file)
index e449b2d..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-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-en.txt
-
-      subroutine intglobal()
-      include 'stack.h'
-      logical checklhs,getsmat,checkval
-      integer topk,vol
-      integer id(nsiz),blank,percen,ch
-      integer iadr,sadr
-      data blank/40/,percen/56/
-c    
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c
-      if(rhs.le.0) then
-         call error(39)
-         return
-      endif
-      if(.not.checklhs('global',1,1)) return
-      topk=top
-      do 10 i=1,rhs
-c     .  get the variable name
-         if(.not.getsmat('global',topk,top,m,n,1,1,lr,nn)) return
-         if(.not.checkval('global',m*n,1)) return
-c     .  check if it is a correct variable name
-         ch=abs(istk(lr))
-         if(.not.(ch.eq.percen.or.(ch.gt.9.and.ch.lt.blank))) then
-            err=rhs+1-i
-            call error(116)
-            return
-         endif
-         if(nn.gt.1) then
-            do 01 k=1,nn-1
-               ch=abs(istk(lr+k))
-               if(ch.ge.blank) then
-                  err=rhs+1-i
-                  call error(116)
-                  return
-               endif
- 01         continue
-         endif
-         call namstr(id,istk(lr),nn,0)
-c     .  check if the variable is already defined in global area
-         fin=-5
-         call stackg(id)
-         if(err.gt.0) return
-         if (gtop+2.gt.isizt) then
-            call error(262)
-            return
-         endif
-         if(fin.eq.0) then
-c     .     the variable is not defined yet in global area 
-c     .     check if it is defined in local area
-            fin=-6
-            call stackg(id)
-            if(err.gt.0) return
-            if(fin.eq.0) then
-c     .        no, create an empty variable in the global area
-               vol=5
-               if (lstk(gtop+1)+vol.gt.lstk(gbot)) then
-c     .           not enough memory, realloc
-                  mem=lstk(gbot)-lstk(isiz+2)+max(vol+1,10000)
-                  call reallocglobal(mem)
-                  if(err.gt.0) return
-               endif
-               gtop=gtop+1
-               call putid(idstk(1,gtop),id)
-               infstk(gtop)=0
-               il=iadr(lstk(gtop))
-               istk(il)=1
-               istk(il+1)=0
-               istk(il+2)=0
-               istk(il+3)=0
-               lstk(gtop+1)=sadr(il+4)
-            else
-c     .        yes, move it to the global area
-               vol=lstk(fin+1)-lstk(fin)
-               if (lstk(gtop+1)+vol+10.ge.lstk(gbot)) then
-c     .           max(vol+1,100000) to avoid too many reallocation
-                  mem=lstk(gbot)-lstk(isiz+2)+max(vol+1,10000)
-                  call reallocglobal(mem)
-                  if(err.gt.0) return
-               endif
-
-               gtop=gtop+1
-
-               call putid(idstk(1,gtop),id)
-               infstk(gtop)=0
-               lstk(gtop+1)=lstk(gtop)+vol
-               call unsfdcopy(vol,stk(lstk(fin)),1,stk(lstk(gtop)),1)
-            endif
-            kg=gtop 
-         else
-c     .    the variable is  already defined  in the global area
-            kg=fin
-         endif
-c     .  create a link to the created or moved variable with the same
-c     .  name in the local area
-         top=top-1
-         call createref(iadr(lstk(kg)),kg,lstk(kg+1)-lstk(kg))
-         call stackp(id,0)
-         if(err.gt.0) return
-         infstk(fin)=2
- 10   continue
-c     return a null matrix
-      top=top+1
-      il=iadr(lstk(top))
-      istk(il)=0
-      lstk(top+1)=lstk(top)+1
-      return
-      end
-     
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_f_resume.f b/scilab/modules/core/sci_gateway/fortran/sci_f_resume.f
deleted file mode 100644 (file)
index ee863cf..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-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-en.txt
-
-      subroutine intresume
-      include 'stack.h'
-      parameter (nz1=nsiz-1,nz2=nsiz-2)
-      parameter (iif=1,iwhile=2,iselect=3)
-      integer pt0,r,prev
-      integer semi,comma,eol
-      integer resume(nsiz)
-c     count is used to count top variables used by current "for" or "select" clauses
-      integer count
-c
-      data resume/505155099,673713686,nz2*673720360/
-      data eol/99/,semi/43/
-      data comma/52/
-c
-      if(rhs.eq.0) then
-         call error(46)
-         return
-      endif
-
-      call ref2val
-      if(rhs.ne.lhs) then
-         call error(41)
-         return
-      endif
-c
-
-c     Determine the  calling context (macro, exec or execstr)
-      count=0
-      pt0=pt+1
- 10   pt0=pt0-1
-      if(pt0.le.0) then
-c     .  main -> resume
-c     .  [x,y,...]=resume(a,b,..) just behave has [x,y,...]=(a,b,..)
-         return
-      endif
-c
-c     count temporary variables created on top of stack by for, select,..
-      if(rstk(pt0).eq.802.or.rstk(pt0).eq.612 .or.
-     &     (rstk(pt0).eq.805.and.ids(1,pt0).eq.iselect).or.
-     &     (rstk(pt0).eq.616.and.pstk(pt0).eq.10)) count=count+1
-
-      if(int(rstk(pt0)/100).ne.5) goto 10
-
-c     pause -> resume
-c     macro -> resume
-c     exec -> resume
-c     execstr -> resume
-
-      if (rstk(pt0).eq.501) then
-c     .  compiled_macro -> resume
-c     .  exec(compiled_macro) -> resume
-         lc=pstk(pt)
-         ids(1,pt0+1)=lc
-         pstk(pt0+2)=count
-         l=lc+3
-         do i=1,lhs
-            if(istk(l+nsiz).ne.0) then
-               call error(79)
-               return
-            endif
-            l=l+nsiz+1
-         enddo
-      elseif(rstk(pt0).eq.502.or.rstk(pt0).eq.503) then
-c     .  uncompiled_macro -> resume
-c     .  exec(uncompiled_macro) -> resume
-c     .  execstr -> resume
-c     .  exec -> resume
-         if(rstk(pt0-1).eq.902) then
-c     .     exec -> resume
-            mrhs=rhs
-c     .     Locate end of the lhs argument list (703 set by parse)
-            do ip0=pt0,pt
-               if(rstk(ip0).eq.703) goto 20
-            enddo
- 20         ip0=ip0-mrhs+1
-            rhs=0
-            do  i=1,mrhs
-               call stackp(ids(1,ip0+mrhs-i),0)
-            enddo
-c     .        remove top variables associated with unstacked contexts  (for, select,..)
-            top=top-count
-            pt=pt0
-            goto 999
-         elseif(rstk(pt0-1).eq.903.or.rstk(pt0-1).eq.706) then
-c     .     execstr -> resume
-c     .     check execstr calling context
-            ip0=pt0+1
- 153        pt0=pt0-1
-            if(pt0.le.0) return
-            if(rstk(pt0).eq.802.or.rstk(pt0).eq.612 .or.
-     &           (rstk(pt0).eq.805.and.ids(1,pt0).eq.iselect).or.
-     &           (rstk(pt0).eq.616.and.pstk(pt0).eq.10)) count=count+1
-            if(rstk(pt0).lt.501.or.rstk(pt0).gt.503) goto 153
-
-c     .     compiled_macro -> execstr -> resume (501)
-c     .     exec(compiled_macro) -> execstr -> resume (501)
-c     .     exec(file) -> execstr -> resume (503)
-c     .     execstr -> execstr -> resume (503)
-c     .     pause -> execstr -> resume (503)
-            prev=rstk(pt0-1)
-            if(rstk(pt0).eq.503.and.rio.eq.rte.and.paus.ne.0) then
-c     .        pause -> execstr -> resume
-c     .        check against syntax like [a,b(1,2)]=resume(3,1)
-               do  i=1,rhs
-                  if (pstk(ip0+rhs-i).ne.0) then
-                     buf='Index not allowed in the lhs of resume'
-                     call error(997)
-                     return
-                  endif
-               enddo
-
-c     .        remove execstr context
-               k=lpt(1)-(13+nsiz)
-               lpt(1)=lin(k+1)
-               macr=macr-1
-
-c     .        remove pause context temporarily to save variables in the
-c     .        calling (pause) context
-               k=lpt(1)-(13+nsiz)
-               lpt1=lpt(1)
-               lpt(1)=lin(k+1)
-               bot=lin(k+5)
-               paus=paus-1
-c     .        save resumed variables in the calling context
-               mrhs=rhs
-               rhs=0
-               do  i=1,mrhs
-                  call stackp(ids(1,ip0+mrhs-i),0)
-               enddo
-c     .        recreate  pause context (the pause will be finished  normally)
-               lpt(1)=lpt1
-               paus=paus+1
-               lin(k+5)=bot
-c     .        remove top variables associated with unstacked contexts  (for, select,..)
-               top=top-count
-               pt=pt0
-               goto 999
-            elseif(paus.ne.0.and.rstk(pt0).eq.201) then
-c     .        ???
-               r=rstk(pt0-4)
-               if (r.eq.701.or.r.eq.604) goto 156
-            endif
-            if(prev.eq.902.or.prev.eq.903.or.prev.eq.909) then
-c     .        exec(compiled_macro) -> execstr -> resume (prev=909)
-c     .        exec(file) -> execstr -> resume (prev=902)
-c     .        execstr -> execstr -> resume (prev=903)
-c     .        returned data are stored in the current scope
-c     .        check against syntax like [a,b(1,2)]=resume(3,1)
-               do  i=1,rhs
-                  if (pstk(ip0+rhs-i).ne.0) then
-                     buf='Index not allowed in the lhs of resume'
-                     call error(997)
-                     return
-                  endif
-               enddo
-
-c     .           remove execstr context
-               k=lpt(1)-(13+nsiz)
-               lpt(1)=lin(k+1)
-               macr=macr-1
-               mrhs=rhs
-               rhs=0
-               do  i=1,mrhs
-                  call stackp(ids(1,ip0+mrhs-i),0)
-               enddo
-c     .        remove top variables associated with unstacked contexts  (for, select,..)
-               top=top-count-1
-               pt=pt0
-               goto 999
-            else
-c     .        compiled_macro -> execstr -> resume (501)
-c     .        variables are returned in the calling context of the macro (see macro.f code for details)
-               k = lpt(1) - (13+nsiz)
-               lpt(1)=lin(k+1)
-               macr=macr-1
-
-c     .        get location of lhs var names
-               lvar=pt-3
-               rstk(pt0)=504
-               pstk(pt0+1)=lvar
-               pstk(pt0+2)=count+1
-            endif
-         else
-c     .     resume not called by an execstr (simple case)
-c     .     pause -> resume
-c     .     macro -> resume
-
-            if(rstk(pt-1).ne.201
-     &           .or.rstk(pt-2).ne.101
-     &           .or.rstk(pt-3).ne.703
-     &           .or.(sym.ne.semi.and.sym.ne.comma.and.sym.ne.eol))
-     &           goto 156
-            pt=pt-3
-c     .     check against syntax like [a,b(1,2)]=resume(3,1)
-            do  i=1,rhs
-               if (pstk(pt+1-i).ne.0) then
-                  call error(79)
-                  return
-               endif
-            enddo
-            if (rstk(pt0-1).eq.1002) then
-c     .        syncexec case
-               mrhs=rhs
-               rhs=0
-               do  i=1,mrhs
-                  call stackp(ids(1,pt),0)
-                  pt=pt-1
-               enddo
-               pstk(pt0+1)=pt
-               pstk(pt0+2)=count
-            elseif (rstk(pt0-1).eq.701.or.rstk(pt0-1).eq.604) then
-c     .       main  -> pause -> resume  (701)
-c     .       macro(uncompiled) -> pause -> resume (701)
-c     .       macro(compiled) -> pause -> resume (604)
-
-               k=lpt(1)-(13+nsiz)
-               bot=lin(k+5)
-               if(macr.ne.0.or.paus.ne.0) then
-                  lpts=lpt(1)
-                  lpt(1)=lin(k+1)
-               endif
-               mrhs=rhs
-               rhs=0
-               paus=paus-1
-               do  i=1,mrhs
-                  call stackp(ids(1,pt),0)
-                  pt=pt-1
-               enddo
-               paus=paus+1
-               if(macr.ne.0.or.paus.ne.0) then
-                  lpt(1)=lpts
-               endif
-               lin(k+5)=bot
-               top=top-count
-            else
-c     .        macro(uncompiled) -> resume (306)
-               pstk(pt0+1)=pt
-               pstk(pt0+2)=count
-            endif
-
-         endif
-
-      elseif(rio.eq.rte) then
-c     .  pause -> resume (still useful case?)
-         if(rstk(pt-1).ne.201
-     &        .or.rstk(pt-2).ne.101
-     &        .or.rstk(pt-3).ne.703
-     &        .or.(sym.ne.semi.and.sym.ne.comma.and.sym.ne.eol))
-     &         goto 156
-         pt=pt-3
-c     .  check against syntax like [a,b(1,2)]=resume(3,1)
-         do  i=1,rhs
-            if (pstk(pt+1-i).ne.0) then
-               call error(79)
-               return
-            endif
-         enddo
-         k=lpt(1)-(13+nsiz)
-         bot=lin(k+5)
-         if(macr.ne.0.or.paus.ne.0) then
-            lpts=lpt(1)
-            lpt(1)=lin(k+1)
-         endif
-         mrhs=rhs
-         rhs=0
-         paus=paus-1
-         do 155 i=1,mrhs
-            call stackp(ids(1,pt),0)
-            pt=pt-1
- 155     continue
-         paus=paus+1
-         if(macr.ne.0.or.paus.ne.0) then
-            lpt(1)=lpts
-         endif
-         lin(k+5)=bot
-         top=top-count
-      else
-         goto 156
-      endif
-      pt=pt0
-      goto 999
- 156  continue
-      call putid(ids(1,pt+1),resume)
-      call error(72)
- 999  return
-      end
-
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_f_useascommand.f b/scilab/modules/core/sci_gateway/fortran/sci_f_useascommand.f
deleted file mode 100644 (file)
index a911080..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-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-en.txt
-
-      subroutine useascommand(fname)
-      include 'stack.h'
-      logical checkrhs,checklhs,getsmat,checkval
-      integer topk,id(nsiz)
-      integer iadr
-      character*1 opt
-      character*(*) fname
-c
-c    
-      iadr(l)=l+l-1
-c
-      rhs=max(0,rhs)
-      if(.not.checkrhs(fname,1,2)) return
-      if(.not.checklhs(fname,1,1)) return
-
-      job=1
-      topk=top
-      
-      if(rhs.eq.2) then
-         if(.not.getsmat(fname,topk,top,m,n,1,1,l,nl))return
-         if (nl.ne.1) then
-            err=2
-            call error(36)
-            return
-         endif
-         call cvstr(nl,istk(l),opt,1)
-         top=top-1
-
-         if(opt.eq.'a') then
-            job=1
-         elseif (opt.eq.'d') then
-            job=2
-         else
-            err=2
-            call error(36)
-            return
-         endif
-      endif
-      if(.not.getsmat(fname,topk,top,m,n,1,1,l,n1)) return
-      if(.not.checkval(fname,m*n,1) ) return
-      call namstr(id,istk(l),n1,0)
-      call command(id,job)
-      if(err.gt.0) return
-      il=iadr(lstk(top))
-      istk(il)=0
-      lstk(top+1)=lstk(top)+1
-      return
-      end
-      
index fdc9f66..f844825 100644 (file)
@@ -27,6 +27,9 @@
 /*--------------------------------------------------------------------------*/
 BOOL TerminateCorePart1(void)
 {
+
+// Call scilab.quit before exit.
+#if 0
     if ( Get_no_startup_flag() == 0)
     {
         char *quit_script = NULL;
@@ -38,6 +41,7 @@ BOOL TerminateCorePart1(void)
         /* launch scilab.quit script */
         C2F(scirun)(quit_script,(long int)strlen(quit_script));
     }
+#endif
     return TRUE;
 }
 /*--------------------------------------------------------------------------*/
index 3bd7612..5bfe081 100644 (file)
@@ -251,7 +251,6 @@ cd.. >nul
     <ClCompile Include="eqid.c" />
     <ClCompile Include="ExceptionMessage.c" />
     <ClCompile Include="exitCodeValue.c" />
-    <ClCompile Include="expr.c" />
     <ClCompile Include="force_link.c" />
     <ClCompile Include="freeArrayOfString.c" />
     <ClCompile Include="funcprot.c" />
@@ -292,7 +291,6 @@ cd.. &gt;nul
     <ClCompile Include="md5.c" />
     <ClCompile Include="mode_exec.c" />
     <ClCompile Include="..\cpp\namstr.cpp" />
-    <ClCompile Include="parse.c" />
     <ClCompile Include="predef.c" />
     <ClCompile Include="readGateway.c" />
     <ClCompile Include="realmain.c" />
@@ -300,7 +298,6 @@ cd.. &gt;nul
     <ClCompile Include="returnanan.c" />
     <ClCompile Include="returnProperty.c" />
     <ClCompile Include="returnPropertyList.c" />
-    <ClCompile Include="run.c" />
     <ClCompile Include="..\..\sci_gateway\c\sci_clearfun.c" />
     <ClCompile Include="..\..\sci_gateway\c\sci_comp.c" />
     <ClCompile Include="..\..\sci_gateway\c\sci_debug.c" />
@@ -340,7 +337,6 @@ cd.. &gt;nul
     <ClCompile Include="..\..\sci_gateway\c\sci_who.c" />
     <ClCompile Include="scimem.c" />
     <ClCompile Include="sciquit.c" />
-    <ClCompile Include="scirun.c" />
     <ClCompile Include="..\cpp\search_functions.cpp" />
     <ClCompile Include="stack1.c" />
     <ClCompile Include="stack2.c" />
@@ -348,7 +344,6 @@ cd.. &gt;nul
     <ClCompile Include="stackinfo.c" />
     <ClCompile Include="..\cpp\storeCommand.cpp" />
     <ClCompile Include="str2sci.c" />
-    <ClCompile Include="syncexec.c" />
     <ClCompile Include="terme.c" />
     <ClCompile Include="TerminateCore.c" />
     <ClCompile Include="texmacs.c" />
index 111745f..0cdd9a4 100644 (file)
@@ -59,9 +59,6 @@
     <ClCompile Include="exitCodeValue.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="expr.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="force_link.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\cpp\namstr.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="parse.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="predef.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="returnPropertyList.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="run.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\sci_gateway\c\sci_clearfun.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="sciquit.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="scirun.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\cpp\search_functions.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="str2sci.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="syncexec.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="terme.c">
       <Filter>Source Files</Filter>
     </ClCompile>
diff --git a/scilab/modules/core/src/c/expr.c b/scilab/modules/core/src/c/expr.c
deleted file mode 100644 (file)
index 896f4cb..0000000
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
- * 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-en.txt
- *
- */
-#include <string.h>
-#include <stdio.h>
-#include "expr.h"
-#include "ifexpr.h"
-#include "msgs.h"
-#include "stack-def.h"
-#include "stack-c.h"
-#include "Scierror.h"
-#include "do_error_number.h"
-#include "parserConstant.h"
-#include "basout.h"
-/*--------------------------------------------------------------------------*/ 
-static int inc = 1;
-static int checkvalue = 4095;
-static int code = 30;
-static int val = 0;
-/*--------------------------------------------------------------------------*/ 
-extern int C2F(compil)(int *, int *, int *, int *, int *);
-extern int C2F(getsym)(void);
-extern int C2F(istrue)(int *);
-extern int C2F(eptover)(int *, int *);
-/*--------------------------------------------------------------------------*/ 
-int C2F(expr)(void)
-{
-       static int eye[6] = { 672014862,673720360,673720360,673720360, 673720360,673720360 };
-       int i = 0, j = 0;
-       int r = 0 , s = 0, ir = 0, op = 0, ls = 0, sign = 0;
-       int temp = 0;
-       int kount = 0;
-
-       if (C2F(iop).ddt == 4) {     
-         static char tmp[100];
-         static int io;
-         sprintf(tmp," expr   pt:%d rstk(pt):%d sym:%d",C2F(recu).pt,C2F(recu).rstk[C2F(recu).pt - 1], C2F(com).sym);
-         C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-       }
-
-       r = C2F(recu).rstk[C2F(recu).pt - 1];
-       if (r == 204) goto L85;
-
-       ir = r / 100;
-
-       if (ir != 1) goto L1;
-       
-       switch (r - 100) 
-       {
-               case 1:  goto L5;
-               case 2:  goto L6;
-               case 3:  goto L25;
-               case 4:  goto L26;
-               case 5:  goto L61;
-               case 6:  goto L73;
-               case 7:  goto L74;
-               case 8:  goto L82;
-               case 9:  goto L83;
-               case 10:  goto L86;
-               case 11:  goto L87;
-               case 12:  goto L102;
-               case 13:  goto L104;
-               case 14:  goto L102;
-               case 15:  goto L23;
-       }
-
-L1:
-       if (C2F(com).sym >= ou && C2F(com).sym <= great) 
-       {
-               SciError(40);
-               return 0;
-       }
-L2:
-       kount = 1;
-       if (C2F(com).sym == not) goto L70;
-       
-       if (C2F(com).sym == colon) C2F(putid)(C2F(com).syn, eye);
-
-L3:
-       s = 1;
-L4:
-       if (C2F(com).sym == minus) s = -s;
-       
-       if (C2F(com).sym == plus || C2F(com).sym == minus) 
-       {
-               C2F(getsym)();
-               goto L4;
-       }
-       sign = plus;
-       if (s < 0) sign = minus;
-       
-       if (C2F(eptover)(&inc, &checkvalue)) return 0;
-       
-       C2F(recu).pstk[C2F(recu).pt - 1] = sign + (kount << 8);
-       C2F(recu).rstk[C2F(recu).pt - 1] = 101;
-       C2F(recu).icall = 2;
-       /* *call* term */
-       return 0;
-L5:
-       sign = C2F(recu).pstk[C2F(recu).pt - 1] % 256;
-       kount = C2F(recu).pstk[C2F(recu).pt - 1] / 256;
-       --C2F(recu).pt;
-       if (sign != minus) goto L10;
-       
-       Rhs = 1;
-       ++C2F(recu).pt;
-       C2F(recu).pstk[C2F(recu).pt - 1] = kount;
-       Fin = minus;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 102;
-       C2F(recu).icall = 4;
-       /* *call* allops(minus) */
-       return 0;
-L6:
-       kount = C2F(recu).pstk[C2F(recu).pt - 1];
-       --C2F(recu).pt;
-L10:
-       if (C2F(com).sym == plus || C2F(com).sym == minus) goto L20;
-       if (C2F(recu).rstk[C2F(recu).pt - 1] == 113) goto L104;
-       if (C2F(recu).rstk[C2F(recu).pt - 1] == 112) goto L102;
-       if (C2F(com).sym == eol) goto L50;
-       if (C2F(com).sym >= ou || C2F(com).sym == equal) goto L70;
-       goto L50;
-L20:
-       if (C2F(recu).rstk[C2F(recu).pt - 1] != 301) goto L21;
-       /* blank or tab is delimiter inside angle brackets */
-       ls = C2F(iop).lpt[2] - 2;
-       if ( (i = C2F(iop).lin[ls - 1], abs(i)) == blank && (j = C2F(iop).lin[C2F(iop).lpt[2] - 1], abs(j)) != blank) goto L50;
-               
-L21:
-       op = C2F(com).sym;
-       C2F(getsym)();
-       /* next lines added to handle sequence of + and - operators, S. Steer */
-       /* 03/2005 (Matlab compatibility). Here i implemented a lazy way */
-       /* without calling unary + or unary - operator */
-L22:
-       if (C2F(com).sym == plus) 
-       {
-               /* 1++2 or 1-+2 */
-               C2F(getsym)();
-               goto L22;
-       }
-       if (C2F(com).sym == minus) 
-       {
-               /* 1+-2 or 1--2 */
-               if (op == minus) op = plus;
-               else op = minus;
-                       
-               C2F(getsym)();
-               goto L22;
-       }
-       ++C2F(recu).pt;
-       C2F(recu).pstk[C2F(recu).pt - 1] = op + (kount << 8);
-       if (C2F(com).sym != not) goto L24;
-               
-       C2F(recu).rstk[C2F(recu).pt - 1] = 115;
-       /* *call* lfact */
-       goto L85;
-
-L23:
-       goto L25;
-
-L24:
-       C2F(recu).rstk[C2F(recu).pt - 1] = 103;
-       C2F(recu).icall = 2;
-       /* *call* term */
-       return 0;
-L25:
-       op = C2F(recu).pstk[C2F(recu).pt - 1] % 256;
-       kount = C2F(recu).pstk[C2F(recu).pt - 1] / 256;
-       Rhs = 2;
-       C2F(recu).pstk[C2F(recu).pt - 1] = kount;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 104;
-       Fin = op;
-       C2F(recu).icall = 4;
-       /* *call* allops(op) */
-       return 0;
-L26:
-       kount = C2F(recu).pstk[C2F(recu).pt - 1];
-       --C2F(recu).pt;
-       goto L10;
-L50:
-       if (C2F(com).sym != colon) goto L60;
-
-       C2F(getsym)();
-       ++kount;
-       goto L3;
-L60:
-       if (kount > 3) 
-       {
-               SciError(33);
-               if (Err > 0) return 0;
-       }
-       Rhs = kount;
-       if (kount <= 1) return 0;
-       ++C2F(recu).pt;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 105;
-       Fin = colon;
-       C2F(recu).icall = 4;
-       /* *call* allops(colon) */
-       return 0;
-L61:
-       --C2F(recu).pt;
-       r = C2F(recu).rstk[C2F(recu).pt - 1];
-       ir = r / 100;
-       if (ir != 1) return 0;
-
-       switch (r - 100) 
-       {
-               case 1:  goto L5;
-               case 2:  goto L6;
-               case 3:  goto L25;
-               case 4:  goto L26;
-               case 5:  goto L61;
-               case 6:  goto L73;
-               case 7:  goto L74;
-               case 8:  goto L82;
-               case 9:  goto L83;
-               case 10:  goto L86;
-               case 11:  goto L87;
-               case 12:  goto L102;
-               case 13:  goto L104;
-               case 14:  goto L102;
-       }
-
-       /* in-line lexpr */
-L70:
-       if (C2F(iop).ddt == 4) {}
-L72:
-       if (C2F(eptover)(&inc, &checkvalue)) return 0;
-       C2F(recu).ids[C2F(recu).pt * 6 - 6] = 0;
-       C2F(recu).ids[C2F(recu).pt * 6 - 5] = C2F(errgst).err1;
-       if (C2F(com).sym == ou) 
-       {
-               /* call getsym */
-               C2F(recu).pstk[C2F(recu).pt - 1] = ou;
-               if (C2F(ifexpr)()) 
-               {
-                       /* checking for possible logical 'if expression' */
-                       /* evaluation shortcircuit */
-                       if (C2F(com).comp[0] != 0) 
-                       {
-                               if (C2F(compil)(&code, &inc, &val, &val, &val)) 
-                               {
-                                       if (Err > 0) return 0;
-                                       C2F(recu).ids[C2F(recu).pt * 6 - 6] = C2F(com).comp[0];
-                               }
-                       } 
-                       else 
-                       {
-                               temp = (i = *istk(iadr(C2F(vstk).lstk[Top - 1])), abs(i));
-                               if ( (temp != 8) && (C2F(istrue)(&val)) )
-                               {
-                                       /* first term is true there is no use to evaluate the other */
-                                       C2F(recu).ids[C2F(recu).pt * 6 - 6] = 1;
-                                       /* err1 <>0 sets interpretation without evaluation */
-                                       /* use special value to be able to distinguish from */
-                                       /* recovered errors */
-                                       C2F(errgst).err1 = 9191919;
-                               }
-                       }
-               }
-       }
-       else C2F(recu).pstk[C2F(recu).pt - 1] = 0;
-       C2F(recu).pstk[C2F(recu).pt - 1] += kount << 8;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 106;
-       /* *call* lterm */
-       goto L80;
-L73:
-       op = C2F(recu).pstk[C2F(recu).pt - 1] % 256;
-       kount = C2F(recu).pstk[C2F(recu).pt - 1] / 256;
-       --C2F(recu).pt;
-       if (op == 0) goto L75;
-       
-       if (C2F(com).comp[0] == 0 && C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 6] == 1) 
-       {
-               /* term has not been evaluated */
-               if ((i = -C2F(errgst).errct, abs(i)) / 100000 == 0) 
-               {
-                       C2F(errgst).err1 = C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5];
-               } 
-               else if (C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5] != 0) 
-               {
-                       C2F(errgst).err1 = C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5];
-               } 
-               else 
-               {
-                       if (C2F(errgst).err1 == 9191919) C2F(errgst).err1 = 0;
-               }
-               if (C2F(errgst).err1 > 0) return 0;
-               goto L75;
-       }
-       C2F(recu).icall = 4;
-       Fin = ou;
-       Rhs = 2;
-       ++C2F(recu).pt;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 107;
-       C2F(recu).pstk[C2F(recu).pt - 1] = kount;
-       /* *call* allops(ou) */
-       return 0;
-L74:
-       kount = C2F(recu).pstk[C2F(recu).pt - 1];
-       if (C2F(com).comp[0] != 0 && C2F(recu).ids[C2F(recu).pt * 6 - 6] != 0) 
-       {
-               i = C2F(recu).ids[C2F(recu).pt * 6 - 6] - 1;
-               if ( (C2F(compil)(&code, &val, &i, &val, &val)) && (Err > 0) ) return 0;
-       }
-       --C2F(recu).pt;
-L75:
-       if (C2F(com).sym == ou) goto L72;
-       goto L50;
-       /* in-line lterm */
-L80:
-       if (C2F(iop).ddt == 4) { }
-L81:
-       if (C2F(eptover)(&inc, &checkvalue)) return 0;
-       
-       C2F(recu).ids[C2F(recu).pt * 6 - 6] = 0;
-       C2F(recu).ids[C2F(recu).pt * 6 - 5] = C2F(errgst).err1;
-       if (C2F(com).sym == et) 
-       {
-               C2F(recu).pstk[C2F(recu).pt - 1] = et;
-               C2F(recu).ids[C2F(recu).pt * 6 - 6] = 0;
-               if (C2F(ifexpr)()) 
-               {
-                       /* if expression evaluation, checking for possible */
-                       /* logical expression evaluation shortcircuit */
-                       if (C2F(com).comp[0] != 0) 
-                       {
-                               if (C2F(compil)(&code, &val, &val, &val, &val)) 
-                               {
-                                       if (Err > 0) return 0;
-                                       C2F(recu).ids[C2F(recu).pt * 6 - 6] = C2F(com).comp[0];
-                               }
-                       } 
-                       else 
-                       {
-                               temp = (i = *istk(iadr(C2F(vstk).lstk[Top - 1])), abs(i));
-                               if ( (temp != 8) && (! C2F(istrue)(&val)) )
-                               {
-                                       /* first term is false there is no use to evaluate the other */
-                                       C2F(recu).ids[C2F(recu).pt * 6 - 6] = 1;
-                                       /* err1 <>0 sets interpretation without evaluation */
-                                       C2F(errgst).err1 = 9191919;
-                               }
-                       }
-               }
-       } 
-       else 
-       {
-               C2F(recu).pstk[C2F(recu).pt - 1] = 0;
-       }
-       C2F(recu).pstk[C2F(recu).pt - 1] += kount << 8;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 108;
-       /* *call* lfact */
-       goto L85;
-L82:
-       op = C2F(recu).pstk[C2F(recu).pt - 1] % 256;
-       kount = C2F(recu).pstk[C2F(recu).pt - 1] / 256;
-       --C2F(recu).pt;
-       if (op == 0) goto L84;
-       
-       if (C2F(com).comp[0] == 0 && C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 6] == 1) 
-       {
-               /* term has not been evaluated */
-               if ((i = -C2F(errgst).errct, abs(i)) / 100000 == 0) 
-               {
-                       C2F(errgst).err1 = C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5];
-               } 
-               else if (C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5] != 0) 
-               {
-                       /* error detected before if expression evaluation (should not occur ?) */
-                       C2F(errgst).err1 = C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 5];
-               } 
-               else 
-               {
-                       if (C2F(errgst).err1 == 9191919) C2F(errgst).err1 = 0;
-               }
-               if (C2F(errgst).err1 > 0) return 0;
-               goto L84;
-       }
-       C2F(recu).icall = 4;
-       Fin = et;
-       Rhs = 2;
-       ++C2F(recu).pt;
-       C2F(recu).pstk[C2F(recu).pt - 1] = kount;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 109;
-       /* *call* allops(et) */
-       return 0;
-L83:
-       kount = C2F(recu).pstk[C2F(recu).pt - 1];
-       if (C2F(com).comp[0] != 0 && C2F(recu).ids[C2F(recu).pt * 6 - 6] != 0) 
-       {
-               i = C2F(recu).ids[C2F(recu).pt * 6 - 6] - 1;
-               if ( (C2F(compil)(&code, &val, &i, &val, &val)) && (Err > 0) ) return 0;
-       }
-       --C2F(recu).pt;
-L84:
-       if (C2F(com).sym != et) goto L73;
-       goto L81;
-
-       /* in-line lfact */
-L85:
-       if (C2F(iop).ddt == 4) { }
-       if (C2F(eptover)(&inc, &checkvalue)) return 0;
-               
-       C2F(recu).pstk[C2F(recu).pt - 1] = 0;
-       if (C2F(com).sym == not && C2F(com).char1 != equal) 
-       {
-               C2F(recu).pstk[C2F(recu).pt - 1] = not;
-               C2F(getsym)();
-       }
-       C2F(recu).pstk[C2F(recu).pt - 1] += kount << 8;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 110;
-       /* *call* lprim */
-       goto L100;
-L86:
-       op = C2F(recu).pstk[C2F(recu).pt - 1] % 256;
-       kount = C2F(recu).pstk[C2F(recu).pt - 1] / 256;
-       --C2F(recu).pt;
-       if (op == 0) goto L82;
-       Fin = op;
-       Rhs = 1;
-       ++C2F(recu).pt;
-       C2F(recu).pstk[C2F(recu).pt - 1] = kount;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 111;
-       C2F(recu).icall = 4;
-       /* *call* allops(not) */
-       return 0;
-L87:
-       kount = C2F(recu).pstk[C2F(recu).pt - 1];
-       --C2F(recu).pt;
-       /* next two lines to handle a+~b and a*~b,... */
-       if (C2F(recu).rstk[C2F(recu).pt - 1] == 115) goto L23;
-       if (C2F(recu).rstk[C2F(recu).pt - 1] == 204) return 0;
-       goto L82;
-       /* in-line lprim */
-L100:
-       if (C2F(iop).ddt == 4) { }
-       if (C2F(recu).pstk[C2F(recu).pt - 1] % 256 != 0) goto L101;
-       if (C2F(com).sym != et && C2F(com).sym != ou) goto L103;
-       C2F(getsym)();
-       /* modif SS */
-       if (C2F(eptover)(&val, &checkvalue)) return 0;
-L101:
-       ++C2F(recu).pt;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 112;
-       C2F(recu).icall = 1;
-       /* *call* expr */
-       goto L2;
-L102:
-       --C2F(recu).pt;
-       if ((C2F(com).sym != equal && C2F(com).sym < less) || C2F(com).sym == eol) goto L86;
-L103:
-       op = C2F(com).sym;
-       C2F(getsym)();
-       if (op == equal && C2F(com).sym != equal) 
-       {
-               int code_message = 7;
-               C2F(msgs)(&code_message, &val);
-       }
-       
-       if (C2F(com).sym == equal || C2F(com).sym == great) 
-       {
-               if (op != equal) op += C2F(com).sym;
-               C2F(getsym)();
-               if (op == not + equal) op = less + great;
-       }
-       ++C2F(recu).pt;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 113;
-       C2F(recu).pstk[C2F(recu).pt - 1] = op;
-       C2F(recu).icall = 1;
-       /* *call* expr */
-       goto L2;
-L104:
-       Fin = C2F(recu).pstk[C2F(recu).pt - 1];
-       Rhs = 2;
-       C2F(recu).rstk[C2F(recu).pt - 1] = 114;
-       C2F(recu).icall = 4;
-       /* *call* allops(fin) */
-       return 0;
-}
-/*--------------------------------------------------------------------------*/ 
-
-
diff --git a/scilab/modules/core/src/c/parse.c b/scilab/modules/core/src/c/parse.c
deleted file mode 100644 (file)
index f81184c..0000000
+++ /dev/null
@@ -1,1568 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 1984-2010 - 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-en.txt
- *
- */
-/*--------------------------------------------------------------------------
- * Scilab parsing function
- *
- * Code automatically translated from Fortran to C
- *------------------------------------------------------------------ */
-#include <string.h>
-#include <stdio.h>
-#include "stack-c.h"
-/*--------------------------------------------------------------------------*/
-#include "parse.h"
-#include "basout.h"
-#include "core_math.h"
-#include "cvstr.h"
-#include "msgs.h"
-#include "sci_mode.h"
-#include "stack-def.h" /* C2F(basbrk) */
-#include "Scierror.h"
-#include "do_error_number.h"
-#include "prompt.h"
-#include "storeCommand.h"
-#include "msgs.h"
-#include "eqid.h"
-#include "parserConstant.h"
-/*--------------------------------------------------------------------------*/
-#undef Lstk
-#undef Infstk
-/*--------------------------------------------------------------------------*/
-
-/* Table of constant values */
-
-static int c__1 = 1;
-static int c__0 = 0;
-
-#define Pt (C2F(recu).pt)
-/*--------------------------------------------------------------------------*/
-extern int C2F(clause)(void);
-extern int C2F(fact)(void);
-extern int C2F(expr)(void);
-extern int C2F(terme)(void);
-extern int C2F(stackp)(int *,int *);
-extern int C2F(macro)(void);
-extern int C2F(getsym)(void);
-
-extern int C2F(bexec)(char *,int *,int *);
-
-extern int C2F(findequal)(int *);
-extern int C2F(print)(int *,int *,int *);
-extern int C2F(createref1)(int *);
-extern int C2F(command)(int *,int *);
-extern int C2F(getlin)(int *,int *);
-extern int C2F(mrknmd)(void);
-extern int C2F(mkindx)(int *,int *);
-extern int C2F(whatln)(int *,int *, int *,int *,int *,int *);
-extern int C2F(prompt)(int *,int *);
-extern int C2F(seteol)(void);
-extern int C2F(run)(void);
-extern int C2F(name2var)(int *);
-extern int C2F(compil)(int *,int *,int *,int *,int *);
-extern int C2F(ptover)(int *,int *); /* see src/fortran/ptover.f */
-extern int C2F(eptover)(int *,int *);/* see src/fortran/eptover.f */
-/*--------------------------------------------------------------------------*/
-void handle_onprompt(int *n);
-/*--------------------------------------------------------------------------*/
-static int Compil(int code,int * val1,int val2,int val3,int val4)
-{
-  return C2F(compil)(&code, val1, &val2, &val3, &val4);
-}
-/*--------------------------------------------------------------------------*/
-int Eptover(int n)
-{
-  int c;
-  return C2F(eptover)(&n,(c=psiz,&c));
-}
-/*--------------------------------------------------------------------------*/
-int Ptover(int n)
-{
-  int c;
-  return C2F(ptover)(&n,(c=psiz,&c));
-}
-/*--------------------------------------------------------------------------*/
-int C2F(parse)(void)
-{
-  /* Initialized data */
-  static int ans[6] = { 672929546,673720360,673720360,673720360,
-                        673720360,673720360 };
-  static int varargout[6] = { 169544223,504893467,673720349,673720360,
-                              673720360,673720360 };
-  /* static int catch[6] = {203229708,673720337,673720360,673720360, 673720360,673720360 };*/
-
-  static int *Ids     = C2F(recu).ids - nsiz - 1;
-  static int *Rstk    = C2F(recu).rstk - 1;
-  static int *Pstk    = C2F(recu).pstk - 1;
-  static int *Lstk    = C2F(vstk).lstk - 1;
-  static int *Lin     = C2F(iop).lin - 1;
-  static int *Lct     = C2F(iop).lct - 1;
-  static int *Lpt     = C2F(iop).lpt - 1;
-
-  /* System generated locals */
-  int i__2, i__3;
-
-  /* Local variables */
-  static int iesc, ndel, ifin, ibpt;
-  static int iret;
-  static int topk;
-  static int lpts, next;
-  static int ierr;
-  static int k, p, r;
-  static int imode, schar;
-  static int itime, where_;
-  static int found;
-  static int excnt;
-  static int l1;
-  static int id[6], lb, io, ir;
-  static int dotsep;
-  static int icount;
-  static int nentry, lastindpos;
-  static int job, nlc, pts;
-  static char tmp[80];
-
-  /* Used to manage space between prompts */
-  static int returnFromCallbackExec = FALSE;
-
-  /* Retrieve the current Scilab Mode */
-  /*  scilabMode sciMode=getScilabMode();*/
-
-  itime = 10000;
- L1:
-  r = 0;
-  if (Pt > 0) {
-    r = Rstk[Pt];
-  }
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," TOP    pt:%d rstk(pt):%d icall: %d niv: %d err:%d",
-            Pt,Rstk[Pt], C2F(recu).icall, C2F(recu).niv,Err);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  if (C2F(recu).icall == 5) {
-    goto L88;
-  }
-  if (Pt > 0) {
-    goto L86;
-  }
-  if (Err > 0) {
-    goto L98;
-  }
-  /*     initialization */
-  /* ------------------- */
- L5:
-  C2F(com).sym = eol;
-  job = 0;
-  if (C2F(iop).rio == -1) {
-    job = -1;
-  }
-  Top = 0;
-  Fin = 0;
-  C2F(recu).macr = 0;
-  C2F(recu).paus = 0;
-  C2F(recu).icall = 0;
-  C2F(iop).rio = C2F(iop).rte;
-  Lct[3] = 0;
-  Lct[4] = 2;
-  Lpt[1] = 1;
-  if (job == -1) {
-    goto L13;
-  }
-
- L10:
-  if (C2F(com).sym != eol) {
-    goto L15;
-  }
-  if (C2F(com).comp[0] == 0) {
-    goto L12;
-  }
-  if (Lin[Lpt[4]+1] == eol) {
-    goto L88;
-  }
-
-  /*     get a new line */
-  /* ------------------- */
- L12:
-  if (Lct[4] <= -10) {
-    Lct[4] = -Lct[4] - 11;
-  } else {
-    if (Lct[4] / 2 % 2 == 1) {
-      i__2 = Lct[4] / 4;
-      /* Manage space between two prompts */
-      if (!returnFromCallbackExec)
-        {
-          /* Space added only if Scilab does not return form a callback execution */
-          C2F(prompt)(&i__2, &iesc);
-        }
-      else
-        {
-          /* Reset the flag indicating a callback has just been executed */
-          returnFromCallbackExec = FALSE;
-        }
-      if (iesc == 1) {
-        /* interrupted line acquisition (mode=7) */
-        iret = 3;
-        goto L96;
-      }
-      Lct[1] = 0;
-      if (C2F(recu).paus == 0 &&
-          C2F(iop).rio == C2F(iop).rte &&
-          C2F(recu).macr ==  0) {
-        if (Pt != 0) {
-          Msgs(30,0);
-          Pt = 0;
-        }
-        if (Top != 0) {
-          Msgs(31,0);
-          Top = 0;
-        }
-      }
-    }
-  }
- L13:
-  //C2F(tksynchro)(&C2F(recu).paus);
-
-  C2F(getlin)(&job, &c__1);
-
-  ClearTemporaryPrompt();
-  //C2F(tksynchro)(&c_n1);
-
-
-  if (Fin == -3) {
-    /*     interrupted line acquisition */
-    iret = 2;
-    goto L96;
-  } else if (Fin == -1) {
-    /*     Continuation line handling when scilab is called as a routine */
-    C2F(com).fun = 99;
-    return 0;
-  }
-  job = 0;
-  Err = 0;
-
-  if (Pt != 0) {
-    goto L15;
-  }
- L14:
-  handle_onprompt(&where_);
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)where_) {
-  case 1:  goto L85;
-  case 2:  goto L88;
-  }
-  /*     Beginning of a new statement, clause expression or command */
-  /* ------------------------------------------------------------ */
- L15:
-  if (ismenu() == 1 && C2F(basbrk).interruptible) {
-    iret = 1;
-    goto L96;
-  }
-
-  r = 0;
-  if (Pt > 0) {
-    r = Rstk[Pt];
-  }
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," parse  pt:%d rstk(pt):%d top: %d niv: %d err:%d",
-            Pt,r,Top, C2F(recu).niv,Err);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  excnt = 0;
-  if (! C2F(basbrk).iflag || C2F(com).comp[0] != 0 ) {
-    goto L18;
-  }
-  /*     Handling of pauses */
- L16:
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = C2F(iop).rio;
-  Ids[2 + Pt * nsiz] = Top;
-  C2F(iop).rio = C2F(iop).rte;
-  Rstk[Pt] = 701;
-  C2F(basbrk).iflag = FALSE;
-  Fin = 2;
-  if (Lct[4] <= -10) {
-    Fin = -1;
-    Lct[4] = -Lct[4] - 11;
-  }
-  /*     *call* macro */
-  goto L88;
-  /*     pauses termination */
- L17:
-  C2F(iop).rio = Pstk[Pt];
-  Top = Ids[2 + Pt * nsiz];
-  --Pt;
-  goto L15;
- L18:
-  Lhs = 1;
-  excnt = 0;
-  C2F(putid)(id, ans);
-  /*     preserve current character position */
-  lpts = Lpt[4] - 1;
-  pts = Pt;
-
-  C2F(getsym)();
-  if (C2F(com).sym == right || C2F(com).sym == rparen || C2F(com).sym == less ||
-      C2F(com).sym == great) {
-    SciError(1);
-    goto L98;
-  } else if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol) {
-    goto L77;
-  } else if (C2F(com).sym == cmt) {
-    C2F(parsecomment)();
-    goto L77;
-  } else if (C2F(com).sym == name) {
-    lpts = Lpt[3] - 1;
-    /* try to avoid the command call whenever it is possible */
-    if (C2F(com).char1 == equal) {
-      goto L25;
-    }
-    /*         if (char1 .eq. lparen) then */
-    /*           one can get this case with "if ( ) then" */
-    /*         endif */
-    if (Lpt[4] >= 2) {
-      if (Lin[Lpt[4] - 2] == blank) {
-        goto L20;
-      }
-    }
-    if (C2F(com).char1 == dot) {
-      /* name.x */
-      schar = C2F(com).char1;
-      goto L30;
-    }
-    goto L20;
-  } else if (C2F(com).sym == left) {
-    /* is there an explicit affectation */
-    lpts = Lpt[3] - 1;
-    Lpt[4] = lpts;
-    Lpt[3] = lpts;
-    C2F(com).char1 = blank;
-    C2F(findequal)(&found);
-    if (Err > 0) {
-      goto L98;
-    }
-    if (found) {
-      /* multiple lhs */
-      goto L40;
-    } else {
-      /* no ==> implicit lhs */
-      goto L50;
-    }
-  } else {
-    /* not lhs defined */
-    /* set ans for lhs */
-    if (Eptover(1)) {
-      goto L98;
-    }
-    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    /* go to rhs analysis */
-    goto L60;
-  }
-
-  /*     lhs begins with name */
-  /* ------------------------- */
-  /*     check if it is a simple command like clear,... */
- L20:
-  C2F(command)(C2F(com).syn, &c__0);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (Fin == 0) {
-    goto L21;
-  }
-  if (C2F(com).fun == 99) {
-    return 0;
-  }
-  if (C2F(com).fun != 0) {
-    goto L93;
-  }
-  if (Fin < 0) {
-    goto L80;
-  }
-  if (Fin == 2) {
-    goto L88;
-  }
-  if (Fin == 3) {
-    goto L16;
-  }
-  if (Fin == 4) {
-    goto L5;
-  }
-  if (Fin > 0) {
-    goto L77;
-  }
-  /*     name is not a command */
- L21:
-  Rhs = 0;
-  Fin = -5;
-  /* IL y a p avec fin=-5 (on ne trouve pas les macros parce que l'on ne */
-  /* veut pas que les macros sans arg soient vues comme des commandes */
-  /* mais pourquoi pas il suffirait de dire que pour visualiser une macro */
-  /* il faut faire disp() */
-  C2F(com).fun = 0;
-  C2F(funs)(C2F(com).syn);
-  if (Fin > 0) {
-    /*        name is a builtin name */
-    if (C2F(com).char1 == equal) {
-      /*           fun=expr is not allowed */
-      C2F(putid)(&Ids[1 + (Pt + 1) * nsiz], C2F(com).syn);
-      SciError(25);
-      goto L98;
-    }
-    /*        skip lhs analysis */
-    if (Eptover(1)) {
-      goto L98;
-    }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    /* go to rhs analysis */
-    goto L60;
-  }
-
-  /*     peek one character ahead */
-  if (C2F(com).char1 == semi || C2F(com).char1 == comma || C2F(com).char1 == eol) {
-    C2F(putid)(id, C2F(com).syn);
-  }
-  if (C2F(com).char1 == lparen) {
-    schar = C2F(com).char1;
-    goto L30;
-  }
-  /*     instruction is just "name", skip lhs analysis */
-  /*     record name as lhs */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  Lhs = 1;
-  Pstk[Pt] = 0;
-  /*     go to rhs analysis */
-  goto L60;
-
-  /*     name = expr  or name == expr syntax */
-  /* ---------------------------------------- */
- L25:
-  C2F(putid)(id, C2F(com).syn);
-  lpts = Lpt[2];
-  C2F(getsym)();
-  if (C2F(com).char1 == equal) {
-    /* name == expr syntax ==> implicit lhs */
-    goto L50;
-  } else {
-    /* lhs found */
-    /* record it */
-    if (Eptover(1)) {
-      goto L98;
-    }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    C2F(getsym)();
-    /* go to rhs analysis */
-    goto L60;
-  }
-
-  /*     lhs is name(...) or name.x... */
-  /* ----------------------------------- */
- L30:
-  Lpt[5] = Lpt[4];
-  C2F(putid)(id, C2F(com).syn);
-
-  /*     looking for equal to check if it is really an lhs */
-  C2F(findequal)(&found);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (! found) {
-    goto L50;
-  }
-  /*     It is really a lhs (insertion syntax) */
- L32:
-  Lpt[4] = Lpt[5];
-  C2F(com).char1 = schar;
-
-  /* 35     call parseindexlist(excnt) */
-  /*     if(err.gt.0) goto 98 */
-  if (Compil(21, &c__0, 0, 0, 0)) {
-    if (Err > 0) {
-      return 0;
-    }
-  }
-  /*     begin the index lists */
-  icount = 0;
-  C2F(getsym)();
-
- L33:
-  /*     begin a new index list (.,..) or .name */
-  ++icount;
-
-  dotsep = C2F(com).sym == dot;
-  C2F(getsym)();
-  if (dotsep) {
-    /* --> new index list is .name */
-    if (C2F(com).sym != name) {
-      SciError(21);
-      if (Err > 0) {
-        return 0;
-      }
-    }
-
-    if (C2F(com).comp[0] != 0) {
-      if (Compil(23, C2F(com).syn, 0, 0, 0)) {
-        if (Err > 0) {
-          return 0;
-        }
-      }
-    } else {
-      C2F(name2var)(C2F(com).syn);
-    }
-    C2F(getsym)();
-    /*         icount=icount+1 */
-    if (C2F(com).sym == dot) {
-      goto L33;
-    }
-    dotsep = FALSE;
-    excnt = 1;
-    goto L36;
-  }
-  /*     --> new index list is (.,..) */
- L34:
-  /*     add a new index in index list (i,...) */
-  ++excnt;
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  Pstk[Pt] = excnt + icount * 1000;
-  Rstk[Pt] = 702;
-  /*     *call* expr */
-  goto L81;
- L35:
-  C2F(putid)(id, &Ids[1 + Pt * nsiz]);
-  icount = Pstk[Pt] / 1000;
-  excnt = Pstk[Pt] - icount * 1000;
-  --Pt;
-
-  if (C2F(com).sym == comma) {
-    /* current syntax is (i,j,..) */
-    C2F(getsym)();
-    goto L34;
-  }
-
-  if (C2F(com).sym == rparen) {
-    /* end of the current index list */
-    C2F(getsym)();
-  } else {
-    SciError(3);
-    if (Err > 0) {
-      goto L98;
-    }
-  }
-
- L36:
-  if (C2F(com).sym == lparen || C2F(com).sym == dot) {
-    /* begining of a a new index list */
-    /* first memorize the previous one */
-    if (excnt > 1) {
-      /* previously analysed syntax is (i,j,..)( */
-      if (C2F(com).comp[0] == 0) {
-        /* form  list with individual indexes i,j,.. */
-        C2F(mkindx)(&c__0, &excnt);
-        if (Err > 0) {
-          return 0;
-        }
-      } else {
-        if (Compil(19, &c__0, excnt, 0, 0)) {
-          if (Err > 0) {
-            return 0;
-          }
-        }
-      }
-      excnt = 1;
-    }
-    /* open a new index list */
-    excnt = 0;
-    /*         icount=icount+1 */
-    goto L33;
-  }
-  /*     end of all the index lists */
-  if (icount > 1) {
-    /* form  list with individual indexes */
-    if (C2F(com).comp[0] == 0) {
-      C2F(mkindx)(&icount, &excnt);
-      if (Err > 0) {
-        return 0;
-      }
-    } else {
-      if (Compil(19, &icount, excnt, 0, 0)) {
-        if (Err > 0) {
-          return 0;
-        }
-      }
-    }
-    excnt = 1;
-  }
-  /*     end of code for recursive index */
-  if (Rstk[Pt] == 711) {
-    goto L42;
-  }
-
-  if (C2F(com).sym == equal) {
-    /* name(...) = expr syntax */
-    /* record name as lhs */
-    if (Eptover(1)) {
-      goto L98;
-    }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Pstk[Pt] = excnt;
-    Lhs = 1;
-    C2F(getsym)();
-    /* go to rhs analysis */
-    goto L60;
-  } else {
-    /* this should never happen. this case has been detected above */
-    /* when lookin for equal sign */
-    /* name(...) syntax ==> really an rhs */
-    if (Eptover(1)) {
-      goto L98;
-    }
-    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    goto L60;
-  }
-
-  /*     multiple lhs [a,...]= or [a(..),..] */
-  /* ---------------------------------------- */
- L40:
-  Lpt[4] = lpts;
-  Lpt[3] = lpts;
-  C2F(com).char1 = blank;
-  Lhs = 0;
-  C2F(getsym)();
-  /*     start lhs arguments list */
-  C2F(getsym)();
- L41:
-  /*     begin analysis of a new lhs argument */
-  if (C2F(com).sym != name) {
-    SciError(274);
-    goto L98;
-  }
-  if (C2F(eqid)(C2F(com).syn, varargout)) {
-    SciError(275);
-    goto L98;
-  }
-  C2F(putid)(id, C2F(com).syn);
-  excnt = 0;
-  next = Lin[Lpt[4] - 2];
-  if (next == blank || C2F(com).char1 == comma || C2F(com).char1 == right) {
-    /* argument followed by a blank, a comma or a ] ==> it is a simple name */
-    C2F(getsym)();
-    goto L44;
-  } else if (C2F(com).char1 != lparen && C2F(com).char1 != dot) {
-    /* invalid lhs */
-    SciError(273);
-    goto L98;
-  }
-  /*     lhs argument is name(..) or name.xx */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Rstk[Pt] = 711;
-  Lpt[5] = Lpt[4];
-  schar = C2F(com).char1;
-  goto L32;
-  /*     *parse* index */
- L42:
-  --Pt;
-  goto L44;
- L44:
-  /*     record current lhs arg */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  ++Lhs;
-  Pstk[Pt] = excnt;
-  Rstk[Pt] = 0;
-  /*     end analysis of a current lhs arg */
-  if (C2F(com).sym == right) {
-    goto L46;
-  }
-  if (C2F(com).sym == comma) {
-    C2F(getsym)();
-  }
-  /*     loop on lhs args */
-  goto L41;
-
- L46:
-  C2F(getsym)();
-  if (C2F(com).sym == equal && C2F(com).char1 != equal) {
-    /*        really found a lhs go to  the rhs analysis part */
-    C2F(getsym)();
-    goto L60;
-  }
-  /*     lhs revealed to be an rhs */
-  /* ------------------------------------- */
- L50:
-  /*     no equal symbol */
-  goto L51;
- L51:
-  /*     lhs is in fact an  rhs */
-  /*     1 - reinititialise the parser at the instruction beginning */
-  Pt = pts;
-  Lpt[4] = lpts;
-  Lpt[3] = lpts;
-  C2F(com).char1 = blank;
-  /* L52: */
-  C2F(getsym)();
-  /*      if(sym.eq.comma.or.sym.eq.semi) goto 52 */
-  /*     2 - make "ans" the lhs */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-  Pstk[Pt] = 0;
-  Lhs = 1;
-  /*     3 - go to the rhs analysis part */
-  goto L60;
-
-  /*     lhs finished, start rhs */
-  /* ---------------------------- */
- L60:
-  Rstk[Pt] = 703;
-  /*     *call* expr */
-  goto L81;
- L65:
-  if (Rstk[Pt - Lhs] == 313) {
-    /*     store  new variable as "named" at the top of the stack */
-    if (C2F(com).sym == rparen || C2F(com).sym == comma) {
-      C2F(mrknmd)();
-      if (Err > 0) {
-        goto L98;
-      }
-      goto L83;
-    } else {
-      SciError(40);
-      goto L98;
-    }
-  }
-  if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol|| C2F(com).sym == cmt) {
-    goto L70;
-  }
-  if (Rstk[Pt - Lhs] == 808) {/* syntax error while in try */
-    /* set back the standard error handling ++++*/
-    Pt=Pt-Lhs;
-    C2F(errgst).errct = Ids[2 + Pt * nsiz];
-    C2F(errgst).errpt = Ids[5 + Pt * nsiz];
-    /* forgot the catch error */
-    C2F(errgst).err1 = Ids[3 + Pt * nsiz];
-    C2F(errgst).err2 = Ids[4 + Pt * nsiz];
-    C2F(com).comp[0] = 0;
-    Lpt[2] = Lpt[3]+1;
-    SciError(276);
-    Pt = Pt - 1;
-    goto L98;
-  } else {
-    Lpt[2] = Lpt[3]+1;
-    SciError(276);
-    goto L98;
-  }
-
-  /*     store results */
-  /* ------------------- */
- L70:
-  Lhs = Max(Lhs,1);
-  if (Compil(29, &(Lhs), C2F(com).sym, 0, 0)) {
-    if (Err > 0) {
-      return 0;
-    }
-    Pt -= Lhs;
-    Lhs = 0;
-    goto L77;
-  }
-  ndel = 0;
- L71:
-  Rhs = Pstk[Pt];
-  lastindpos = Top - Lhs - ndel;
-  if (C2F(errgst).err1 != 0) {
-    goto L76;
-  }
-  if (Rhs == 0) {
-    /* goto simple affectation */
-    C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
-    if (Err > 0) {
-      goto L98;
-    }
-    if (C2F(errgst).err1 > 0) {
-      if (C2F(errgst).err1 != 13||Rstk[Pt]!=502) --Pt;
-      --Lhs;
-      goto L98;
-    }
-    /* topk points on the newly saved variable */
-    topk = Fin;
-    /* go to print */
-    goto L73;
-  }
-  /*     partial variable affectation (insertion) */
-  if (lastindpos + 1 != Top) {
-    /* create reference variables to get index1,...,indexn, value at */
-    /* the top of the stack in this order */
-    /* create reference variables pointing to the  indices */
-    i__2 = Rhs;
-    for (ir = 1; ir <= i__2; ++ir) {
-      i__3 = lastindpos - Rhs + ir;
-      C2F(createref1)(&i__3);
-    }
-    /* create reference variable pointing to the value */
-    i__2 = Top - Rhs;
-    C2F(createref1)(&i__2);
-    /* remind to remove the original indices */
-    ndel += Rhs;
-  }
-  lastindpos -= Rhs;
-  /*     put a reference to the lhs variable */
-  Fin = -3;
-  C2F(stackg)(&Ids[1 + Pt * nsiz]);
-  if (Err > 0) {
-    goto L98;
-  }
-  /*     perform insertion operation */
-  /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = Lhs;
-  C2F(putid)(&Ids[1 + Pt * nsiz], &Ids[1 + (Pt - 1) * nsiz]);
-  Ids[1 + (Pt - 1) * nsiz] = ndel;
-  Ids[2 + (Pt - 1) * nsiz] = lastindpos;
-  Rstk[Pt] = 704;
-  Rhs += 2;
-  Lhs = 1;
-  Fin = insert;
-  /*     *call* allops(insert) */
-  goto L91;
- L72:
-  Lhs = Pstk[Pt];
-  ndel = Ids[1 + (Pt - 1) * nsiz];
-  lastindpos = Ids[2 + (Pt - 1) * nsiz];
-  C2F(putid)(&Ids[1 + (Pt - 1) * nsiz], &Ids[1 + Pt * nsiz]);
-  --Pt;
-  /*     store the updated value */
-  C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (C2F(errgst).err1 > 0) {
-    --Pt;
-    --Lhs;
-    goto L98;
-  }
-  /*     topk points on the newly saved variable */
-  topk = Fin;
-  /*     remove variable containing the value if required */
-  if (lastindpos != Top) {
-    --Top;
-  }
- L73:
-  /*     print if required */
-  /* ---------------------- */
-  if (Lct[4] < 0 || Fin == 0) {
-    goto L76;
-  }
-  if (! ((C2F(com).sym != semi && Lct[3] == 0) || (C2F(com).sym == semi &&
-                                                   Lct[3] == 1))) {
-    goto L76;
-  }
- L74:
-  C2F(print)(&Ids[1 + Pt * nsiz], &topk, &C2F(iop).wte);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (topk == 0) {
-    goto L76;
-  }
-  /*     overloaded display, call a macro */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Rstk[Pt] = 708;
-  Pstk[Pt] = C2F(com).sym;
-  Ids[1 + Pt * nsiz] = C2F(com).sym;
-  Ids[2 + Pt * nsiz] = ndel;
-  Ids[3 + Pt * nsiz] = Lhs;
-  if (C2F(com).fun == 0) {
-    goto L88;
-  }
-  goto L85;
- L75:
-  C2F(com).sym = Pstk[Pt];
-  ndel = Ids[2 + Pt * nsiz];
-  Lhs =  Ids[3 + Pt * nsiz];
-  --Pt;
-  goto L74;
-
- L76:
-  --Pt;
-  --Lhs;
-  if (Lhs > 0) {
-    goto L71;
-  }
-  Top -= ndel;
-
-  /*     finish statement */
-  /* --------------------- */
- L77:
-  Fin = 0;
-  p = 0;
-  r = 0;
-  if (Pt > 0) p = Pstk[Pt];
-  if (Pt > 0) r = Rstk[Pt];
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," finish  pt:%d rstk(pt):%d  pstk(pt):%d lpt(1): %d niv: %d macr:%d, paus:%d",
-            Pt,r,p, Lpt[1],C2F(recu).niv,C2F(recu).macr,C2F(recu).paus);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-  if (C2F(errgst).err1 != 0) {
-    /* a catched error has occured */
-    if (r == 808) {
-      /* in try instructions */
-      goto L80;
-    } else if (Ids[1 + (Pt - 1) * nsiz] != 0) {
-      /* execution is explicitly required to be stopped */
-      if (r == 502 && Rstk[Pt - 1] == 903) {
-        /* in an execstr(...,'errcatch') instruction */
-        goto L88;
-      } else if (r == 502 && Rstk[Pt - 1] == 909) {
-        /* in an exec(function,'errcatch') instruction */
-        goto L88;
-      } else if (r == 503 && Rstk[Pt - 1] == 902) {
-        /* in an exec(file,'errcatch') instruction */
-        goto L88;
-      }
-    }
-    if (C2F(errgst).err2 == 0) {
-      C2F(errgst).err2 = C2F(errgst).err1;
-    }
-    if (C2F(errgst).errcatch > 0) {
-      /* running under errcatch(num,....) */
-      C2F(errgst).err1 = 0;
-      if (Pt<C2F(errgst).errpt) C2F(errgst).errcatch = 0;
-    }
-
-    imode = (i__2 = C2F(errgst).errct / 100000, abs(i__2));
-    if (imode - (imode / 8 << 3) == 2) {
-      C2F(basbrk).iflag = TRUE;
-      goto L16;
-    }
-  }
-  C2F(errgst).toperr = Top;
-  /*     fin instruction */
-  if (C2F(com).sym != eol) {
-    if (C2F(com).sym == cmt){
-      C2F(parsecomment)();}
-    else
-      goto L15;
-  }
-
-  /*     gestion des points d'arrets dynamiques */
-  if (C2F(dbg).nmacs != 0) { /* there are breakpoints set */
-    int kfin=C2F(dbg).wmac-1; /*the stack index of the current function*/
-    /*  first test if the function has breakpoints   */
-    int kmac;
-    int curline;
-    for (kmac=0;kmac<C2F(dbg).nmacs;kmac++) { /* loop on table of functions containing breakpoints */
-      /* does the name of the current funtion fit the registered name*/
-      if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz]))) {/* yes */
-        /* test if there is a registered breakpoint at the current line*/
-        i__2 = Lpt[2] - 1;
-        C2F(whatln)(&Lpt[1], &i__2, &Lpt[6], &nlc, &l1, &ifin);
-        i__2 = C2F(dbg).lgptrs[kmac+1] - 1;
-        curline = Lct[8] - nlc - 1;
-        for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i__2; ++ibpt) {
-          //sciprint("la Lct[8]-nlc =%d, bptlg=%d\n",Lct[8] - nlc,C2F(dbg).bptlg[ibpt - 1]);
-          if (curline == C2F(dbg).bptlg[ibpt - 1]) { /* yes */
-            /* display a message */
-            C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, nlgh);
-            sprintf(C2F(cha1).buf,"%s %5d",tmp, curline);
-            Msgs(32, 0);
-            /* raise the interruption flag */
-            C2F(basbrk).iflag = TRUE;
-            goto L79;
-          }
-        }
-        break;
-      }
-    }
-  }
- L79:
-
-  if (C2F(com).comp[0] != 0) {
-    C2F(seteol)();
-  }
-  /*     EOL */
-  if (r / 100 != 8) {
-    goto L10;
-  }
-  /*     end of an instruction or a clause */
-  if (C2F(com).comp[0] != 0) {
-    k = Lpt[6];
-    if (Lin[k - 1] == eol && Lin[k] == eol) {
-      SciError(47);
-      goto L98;
-    }
-  }
-  if (Lpt[4] == Lpt[6]) {
-    /*         call getlin(1,0) */
-    goto L13;
-  } else {
-    ++Lpt[4];
-    C2F(getsym)();
-  }
-  goto L15;
-
-  /*     simulate recursion */
-  /* ----------------------- */
- L80:
-  C2F(recu).icall = 0;
-  C2F(clause)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  if (Pt <= 0) {
-    goto L15;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L81:
-  C2F(recu).icall = 0;
-  C2F(expr)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L82:
-  C2F(recu).icall = 0;
-  C2F(terme)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L83:
-  C2F(recu).icall = 0;
-  C2F(fact)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L85:
-  C2F(recu).icall = 0;
-  if (C2F(com).fun == C2F(recu).krec) {
-    if (C2F(com).fun > 0) {
-      SciError(22);
-      goto L98;
-    }
-  }
-  if (C2F(errgst).err1 != 0) {
-    if (Rstk[Pt] / 100 == 9) {
-      if (Rstk[Pt] >= 901 && Rstk[Pt] <= 909) {
-        /*              *call* matfns */
-        return 0;
-      } else {
-        --Pt;
-        goto L86;
-      }
-    } else {
-      goto L86;
-    }
-  }
-  /*     compilation matfns: <100*fun rhs lhs fin> */
-  if (Compil( C2F(com).fun * 100, &(Rhs), Lhs, Fin, 0)) {
-    if (Err > 0) {
-      goto L98;
-    }
-    goto L86;
-  } else {
-    /*     *call* matfns */
-    return 0;
-  }
- L86:
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L98;
-
- L88:
-  C2F(recu).icall = 0;
-  C2F(macro)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L10;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L89;
-  }
-  goto L99;
- L89:
-  C2F(com).fun = 99;
-  return 0;
-
- L90:
-  C2F(recu).icall = 0;
-  C2F(run)();
-  if (Err > 0) {
-    goto L98;
-  }
-  if (C2F(com).fun == 99) {
-    return 0;
-  }
-  /*     last label is used to handle return from abort */
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L5;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L89;
-  }
-  goto L99;
-
- L91:
-  C2F(recu).icall = 0;
-  C2F(allops)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L98;
-
- L92:
-  switch ((int)(Rstk[Pt] - 700)) {
-  case 1:  goto L17;
-  case 2:  goto L35;
-  case 3:  goto L65;
-  case 4:  goto L72;
-  case 5:  goto L65;
-  case 6:  goto L97;
-  case 7:  goto L94;
-  case 8:  goto L75;
-  case 9:  goto L99;
-  case 10:  goto L14;
-  }
-  goto L99;
-
- L93:
-  /*     command like function and macro call */
-  /*     store ans as lhs */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-  Pstk[Pt] = 0;
-
-  Rstk[Pt] = 707;
-  if (C2F(com).fun > 0) {
-    /*        *call* matfns */
-    goto L85;
-  } else {
-    if (C2F(com).comp[0] != 0) {
-      ++Rhs;
-      Fin = extrac;
-      /*           *call* allops(extrac) */
-      goto L91;
-    } else {
-      Fin = Lstk[C2F(com).fin];
-      /*           *call* macro */
-      goto L88;
-    }
-  }
- L94:
-  /*     go to store code */
-  goto L70;
-
- L96:
-  /*     asynchronous events handling */
-  C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
-  C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
-  if (ierr != 0) {
-    goto L15;
-  }
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = Top;
-  Rstk[Pt] = 706;
-  Ids[1 + Pt * nsiz] = iret;
-  /*     *call* macro */
-  goto L88;
- L97:
-  /* Rstk[Pt] == 706 indicates we return from a callback execution */
-  if (Rstk[Pt] == 706)
-    {
-      returnFromCallbackExec = TRUE;
-    }
-
-  Top = Pstk[Pt] - 1;
-  C2F(basbrk).interruptible = TRUE;
-  iret = Ids[1 + Pt * nsiz];
-  --Pt;
-  if (iret == 1) {
-    goto L15;
-  } else if (iret == 2) {
-    if (Lpt[6] == Lpt[1]) {
-      job = 0;
-    } else {
-      /* go ahead with interrupted continuation line */
-      job = 3;
-    }
-    C2F(com).sym = eol;
-    goto L13;
-  } else if (iret == 3) {
-    job = 0;
-    goto L12;
-  } else if (iret == 4) {
-    return 0;
-  }
- L98:
-  C2F(basbrk).interruptible = TRUE;
-  /*     error recovery */
-  /* ------------------- */
-  imode = abs(C2F(errgst).errct) / 100000;
-  imode -= imode / 8 << 3;
-  if (imode == 3) {
-    C2F(com).fun = 99;
-    return 0;
-  }
-
-  /*     error in an external (niv), during compilation (comp) or in a pause */
-  if (Pt != 0) {
-    if (Rstk[Pt] == 503 && C2F(iop).rio == C2F(iop).rte) {
-      C2F(com).comp[0] = 0;
-      goto L12;
-    }
-    if (C2F(errgst).err1 != 0 && Rstk[Pt] == 502) { /* catched error while compiling */
-      goto L88;
-    }
-    if (C2F(errgst).err1 != 0 && Rstk[Pt] == 808) { /* catched error in a try */
-      goto L80;
-    }
-  }
-
-  if (C2F(recu).niv > 0) { /*     error in an external */
-    C2F(com).fun = 99;
-    return 0;
-  }
-  else if (C2F(recu).paus>0) {/*     error in a  pause */
-    C2F(com).comp[0] = 0;
-    goto L5;
-  }
-  else if (Err>0) {
-    Pt=0;
-    C2F(errgst).errct=-1;
-    C2F(errgst).errpt=0;
-    C2F(com).comp[0] = 0;
-    goto L5;
-  }
-  else
-    {
-      C2F(com).comp[0] = 0;
-      goto L5;
-    }
-
- L99:
-  SciError(22);
-  goto L1;
-
-}
-/*--------------------------------------------------------------------------*/
-/**
- * checks if an implicit execution is required on the prompt
- * @param where_ returned indicator
- * where_ = 0 : no implicit execution is required
- * where_ = 1 : implicit execution is a primitive
- * where_ = 2 : implicit execution is a Scilab function
- */
-void handle_onprompt(int *where_)
-{
-  /* Initialized data */
-  /* onprompt[6] internal scilab code for %onprompt variable see C2F(cvname) */
-  static int onprompt[6] = {420943928,420878363,673720349,673720360,673720360,673720360 };
-
-  static int *Rstk = C2F(recu).rstk-1;
-  static int *Pstk = C2F(recu).pstk-1;
-  static int *Lstk = C2F(vstk).lstk-1;
-
-  *where_ = 0;
-  if (Pt > 0)
-    {
-      /* back from %onprompt */
-      C2F(errgst).errct = Pstk[Pt];
-      --Pt;
-      C2F(errgst).err2 = 0;
-      Top = 0;
-      Fin = 0;
-      C2F(com).fun = 0;
-    }
-  else
-    {
-      /* on prompt implicit execution */
-      C2F(com).fun = 0;
-      C2F(funs)(onprompt);
-      if (Err > 0) return;
-      if (C2F(com).fun <= 0 && Fin == 0) return;
-      /* %onprompt function exists */
-      Rhs = 0;
-      Lhs = 1;
-      ++Pt;
-      Pstk[Pt] = C2F(errgst).errct;
-      Rstk[Pt] = 710;
-      /* set error catch with mode continue */
-      C2F(errgst).errct = -100001;
-      C2F(errgst).errpt = 1;
-      if (C2F(com).fun > 0)
-        {
-          /* %onprompt is a primitive *call* matfns */
-          *where_ = 1;
-        }
-      else
-        {
-          /* %onprompt is a Scilab function *call*  macro */
-          C2F(com).fin = Lstk[Fin];
-          *where_ = 2;
-        }
-    }
-}
-/*--------------------------------------------------------------------------*/
-void C2F(parsecomment)(void)
-{
-
-  static int *Lstk    = C2F(vstk).lstk-1;
-  static int *Lin     = C2F(iop).lin-1;
-  static int *Lpt     = C2F(iop).lpt-1;
-  static int *Comp    = C2F(com).comp-1;
-
-
-  static int l, ll, lkp, l0,c1=1;
-  /* look for eol */
-  l0=Lpt[4]-1;
-  if( (Lin[l0]==slash) &&(Lin[l0-1]==slash)&(Lin[l0+1]==eol)) l0=l0+1;
-
-  l=l0;
-  while (Lin[l]!=eol) l++;
-  ll = l - l0;
-  if (Comp[1] == 0)
-    {
-      /* ignore all characters up to the end */
-    }
-  else
-    {
-      /* compilation [30 number-of-char chars-vector] */
-      lkp = C2F(com).comp[0];
-      Err = (lkp + 2 + ll) / 2 + 1 - Lstk[Bot];
-      if (Err > 0)
-        {
-          SciError(17);
-          return ;
-        }
-      *istk(lkp) = 31;
-      *istk(lkp+1) = ll;
-      C2F(icopy)(&ll, &(Lin[l0]), &c1, istk(lkp+2), &c1);
-      Comp[1] = lkp + 2 + ll;
-    }
-  Lpt[4] = l;
-  C2F(com).char1 = eol;
-  C2F(com).sym = eol;
-  return ;
-}
-/*--------------------------------------------------------------------------*/
-
index 3c91780..6d8b46d 100644 (file)
@@ -132,7 +132,7 @@ int realmain(int no_startup_flag_l, char *initial_script, InitScriptType initial
     /* Windows release mode */
     iExitCode = callScirun(startup);
 #else
-    iExitCode = C2F(scirun)(startup,(long int)strlen(startup));
+    //iExitCode = C2F(scirun)(startup,(long int)strlen(startup));
 #endif
 
     FREE(startup);
@@ -158,7 +158,7 @@ static int callScirun(char *startupCommand)
     int iExitCode = 0;
     _try
     {
-        iExitCode = C2F(scirun)(startupCommand,(long int)strlen(startupCommand));
+        //iExitCode = C2F(scirun)(startupCommand,(long int)strlen(startupCommand));
     }
     _except (EXCEPTION_EXECUTE_HANDLER)
     {
@@ -169,7 +169,7 @@ static int callScirun(char *startupCommand)
         {
             _try
             {
-                iExitCode = C2F(scirun)("",(long int)strlen(""));
+                //iExitCode = C2F(scirun)("",(long int)strlen(""));
             }
 
             _except (EXCEPTION_EXECUTE_HANDLER)
diff --git a/scilab/modules/core/src/c/run.c b/scilab/modules/core/src/c/run.c
deleted file mode 100644 (file)
index 6fb14ea..0000000
+++ /dev/null
@@ -1,1405 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 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-en.txt
- *
- */
-/*--------------------------------------------------------------------------
- * Execution of a compiled macro (byte code)
- * byte code is a sequence of tags each of them containing the data relative
- * to a particular basic operation
- *
- * Code automatically translated from Fortran to C
- *------------------------------------------------------------------ */
-
-#include <string.h>
-#include <stdio.h>
-#ifdef _MSC_VER
-#include <stdlib.h>
-#endif
-
-#include <time.h>
-#include "sciquit.h"
-#include "stack-c.h"
-#include "run.h"
-#include "basout.h"
-#include "parse.h"
-#include "localization.h"
-#include "core_math.h"
-#include "sci_mode.h"
-#include "stack-def.h" /* C2F(basbrk) */
-#include "storeCommand.h"
-#include "do_error_number.h"
-#include "Scierror.h"
-#include "msgs.h"
-#include "parserConstant.h"
-#undef Lstk
-#undef Infstk
-
-
-/* Table of constant values */
-
-static int c__1 = 1;
-static int c__0 = 0;
-
-#define Pt (C2F(recu).pt)
-extern int C2F(stackp)(int *,int *);
-extern int C2F(eqid)(int *,int *);
-extern int C2F(bexec)(char *,int *,int *);
-extern int C2F(print)(int *,int *,int *);
-extern int C2F(createref1)(int *);
-extern int C2F(command)(int *,int *);
-extern int C2F(mkindx)(int *,int *);
-extern int C2F(whatln)(int *,int *, int *,int *,int *,int *);
-extern int C2F(prompt)(int *,int *);
-extern int C2F(seteol)(void);
-extern int C2F(name2var)(int *);
-extern int C2F(getendian)(void);
-extern int C2F(nextj)(int *, int *);
-extern int C2F(isafunptr)(int *, int *,int *,int *);
-extern int C2F(varfunptr)(int *, int *,int *);
-extern int C2F(defmat)(void);
-extern int C2F(clunit)(int *, char *, int *);
-extern int C2F(istrue)(int *);
-
-int Istrue(int n)
-{
-
-  return C2F(istrue)(&n);
-}
-
-
-
-int C2F(run)(void)
-{
-  /* Initialized data */
-  /* Fortran common data equivalence */
-  static int    *Ids  = C2F(recu).ids-nsiz-1;
-  static int    *Rstk = C2F(recu).rstk-1;
-  static int    *Pstk = C2F(recu).pstk-1;
-  static int    *Lstk = C2F(vstk).lstk-1;
-  static int    *Lin  = C2F(iop).lin-1;
-  static int    *Lpt  = C2F(iop).lpt-1;
-  static int  *Infstk = C2F(vstk).infstk-1;
-  static int    *Lct = C2F(iop).lct - 1;
-
-  static double equiv_4[1];
-#define x (equiv_4)
-#define ix ((int *)equiv_4)
-
-  /* Local variables */
-  static int ifin, iesc, ibpt, tref, ifun;
-  static int ierr, ndel;
-  static int j, k, m, n, p, r, t;
-  static int lname, imode;
-  static int l0;
-  static int id[6], lc, kc, nc, lb, li, il, io, ip;
-  static int ok;
-  static int ir, lr, op;
-  static int mm1;
-  static int nn1;
-  static int nentry, lastindpos;
-  static int lcc, kid, nlr;
-  int i2;
-  static char tmp[80]; /*string for sending debug messages*/
-  tref = 0;
-
-  /* set debug trace mode on  */
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," run pt:%d rstk(pt):%d",Pt,Rstk[Pt]);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  l0 = 0;
-  nc = 0;
-
-  if (Ptover(0)) {
-    return 0;
-  }
-
-  r = Rstk[Pt];
-  ir = r / 100;
-  if (ir != 6) {
-    goto L1;
-  }
-  switch ((int)(r - 600)) {
-  case 1:  goto L33;
-  case 2:  goto L66;
-  case 3:  goto L82;
-  case 4:  goto L92;
-  case 5:  goto L58;
-  case 6:  goto L116;
-  case 7:  goto L250;
-  case 8:  /*Rstk[Pt]=1101;*/ goto L254;
-  case 9:  /*Rstk[Pt]=1101;*/ goto L240;
-
-  }
-
-
- L1: /*  Start execution of a "compiled" function  */
-  tref = clock();
-  C2F(errgst).toperr = Top;
-  k = Lpt[1] - (13+nsiz);
-  lc = Lin[k + 7];
-
- L10: /* Current opcode finished handle error, interruptions,...*/
-  if (Err > 0)  return 0;
-
-  if (C2F(basbrk).iflag) {
-    C2F(basbrk).iflag = FALSE;
-    goto L91;
-  }
-  if (C2F(errgst).err1 != 0 ) {
-    if ((C2F(errgst).errpt >0) && (Pt >= C2F(errgst).errpt) && (Rstk[C2F(errgst).errpt]==618)) {
-      /* error under try catch */
-      for (p=Pt;p>=C2F(errgst).errpt;p--) {
-       if (Rstk[p]<=502 && Rstk[p]>=501){
-         k = Lpt[1] - (13+nsiz);
-         Lpt[1] = Lin[k+1];
-         Lpt[2] = Lin[k+2];
-         Lpt[3] = Lin[k+3];
-         Lpt[4] = Lin[k+4];
-         Lpt[6] = k;
-         C2F(recu).macr--;
-         if (Rstk[p-1]==909) Top--; /* execed function*/
-       }
-       /* may it will be necessary to take care of for loop variables */
-      }
-      Pt = C2F(errgst).errpt;
-      goto L271;
-    }
-   /* errcatch in exec(function,'errcatch')
-     * or catched error in an external
-     * or errcatch in execstr('foo()','errcatch') */
-    if (C2F(errgst).errcatch == 0) goto L999;
-    /* error under errcatch(....,'continue') */
-
-       /* @TODO : replace 903 909 1001 1002 by a #define ... */
-    if (Rstk[Pt - 1] == 903 || Rstk[Pt - 1] == 909 || Rstk[Pt] == 1001 || Rstk[Pt] == 1002)  return 0;
-  }
-  if (lc - l0 == nc) { /* is current opcodes block (if, for, .. structure) finished ?*/
-    /* yes */
-    r = Rstk[Pt] - 610;
-    switch (r) {
-    case 1:  goto L46;
-    case 2:  goto L47;
-    case 3:  goto L52;
-    case 4:  goto L56;
-    case 5:  goto L57;
-    case 6:  goto L61;
-    case 8:  goto L271;
-    case 9:  goto L272;
-    }
-  }
-
-
- L11:   /*  next opcode */
-  op = *istk(lc);
-  /*  label 49 retains to be able issue a compatibility error message */
-  switch ((int)op) { /* step to corresponding part*/
-  case 1:  goto L20;
-  case 2:  goto L25;
-  case 3:  goto L40;
-  case 4:  goto L42;
-  case 5:  goto L30;
-  case 6:  goto L41;
-  case 7:  goto L45;
-  case 8:  goto L49;
-  case 9:  goto L49;
-  case 10:  goto L55;
-  case 11:  goto L270;/* try */
-  case 12:  goto L90;
-  case 13:  goto L95;
-  case 14:  goto L100;
-  case 15:  goto L105;
-  case 16:  goto L110;
-  case 17:  goto L120;
-  case 18:  goto L130;
-  case 19:  goto L140;
-  case 20:  goto L150;
-  case 21:  goto L160;
-  case 22:  goto L170;
-  case 23:  goto L180;
-  case 24:  goto L190;
-  case 25:  goto L200;
-  case 26:  goto L210;
-  case 27:  goto L220;
-  case 28:  goto L97;
-  case 29:  goto L230;
-  case 30:  goto L260;
-  case 31:  goto L261;
-
-  }
-  if (op >= 100) {
-    /* ------------- primitive call (matfn's) -------------- */
-    goto L80;
-  }
-
-  if (op == 99) {
-    /* ------------- return -------------------------------- */
-    /* check if "return" occured in a for loop */
-    p = Pt + 1;
-  L12:
-    --p;
-    if (Rstk[p] == 612) {
-      /* yes, remove the for loop variable */
-      --Top;
-      goto L12;
-    } else if (Rstk[p] != 501) {
-      goto L12;
-    }
-    Fin = 2;
-    goto L998;
-  }
-
-  if (op <= 0) {
-    /* ------------- nop ---------------------------------- */
-    lc += *istk(1 + lc);
-    goto L11;
-  }
-
-  SciError(60);
-  return 0;
-
- L20: /* stackp, retplaced by assign */
-  /*     retained for 2.7 and earlier versions compatibility */
-  C2F(stackp)(istk(1 + lc), &c__0);
-  /*     store info if printing is required see code 22 */
-  C2F(putid)(id, istk(1 + lc));
-  kid = Fin;
-  lc += 7;
-  goto L10;
-
- L25: /* stackg */
-  Fin = *istk(7 + lc);
-  ifin = Fin;
-  Rhs = *istk(8 + lc);
-  lname = lc + 1;
- L26:
-  C2F(stackg)(istk(lname));
-  if (Err > 0||C2F(errgst).err1 > 0) {
-    lc += 9;
-    goto L10;
-  }
-  if (Fin != 0) {/* variable exists */
-    goto L28;
-  }
-  C2F(funs)(istk(1 + lc)); /* check if it is a function */
-  if (Err > 0||C2F(errgst).err1 > 0) {
-    lc += 9;
-    goto L10;
-  }
-  if (C2F(com).fun != -2) {
-    C2F(putid)(&Ids[1 +(Pt + 1) * nsiz ], istk(1 + lc));
-    if (C2F(com).fun == 0) {
-      /* the search variable is neither a regular variable nor a function in a librar */
-      /* it may be a simple variable in a lib */
-
-      C2F(stackg)(istk(lname));
-      if (Err > 0||C2F(errgst).err1 > 0) {
-       lc += 9;
-       goto L10;
-      }
-      if (Fin==0) {
-        SciError(4);
-        if (Err > 0||C2F(errgst).err1 > 0) {
-          lc += 9;
-          goto L10;
-        }
-      }
-
-    } else {
-      /* referenced name was function at compile time it is now a
-       * primitive. Modify the code for further use */
-      if (ifin != -4 && ifin != 0) {
-       /* function call */
-       /* change current  opcode to nop */
-       *istk(lc) = 0;
-       *istk(1 + lc) = 9;
-       lc += 9;
-       /* change the following opcode to matfn opcode */
-       op = C2F(com).fun * 100;
-       *istk(lc) = op;
-       *istk(1 + lc) = *istk(2 + lc) - 1;
-       *istk(2 + lc) = *istk(3 + lc);
-       *istk(3 + lc) = Fin;
-       goto L80;
-      } else {
-       /* only reference to a function */
-       /* stackg opcode replaced by varfun opcode */
-       *istk(lc) = 27;
-       *istk(1 + lc) = C2F(com).fun;
-       *istk(2 + lc) = Fin;
-       C2F(putid)(istk(3 + lc), &Ids[1 + (Pt + 1) * nsiz]);
-       goto L10;
-      }
-    }
-    lc += 9;
-    goto L10;
-  }
-  Fin = *istk(7 + lc);
-  goto L26;
- L28:
-  if (Rhs == 0 && ((*istk(7 + lc) == -2)||(*istk(7 + lc) == -1)) && Fin == -1) {
-    lc += 9;
-
-    if (*istk(7 + lc-9) == -2) {
-
-      /* instruction reduced to <name> with name not a function, replace */
-      /* next two op code by a single store */
-      /* skip extract op-code <5 3 1 1> */
-      if (*istk(lc) != 5 || *istk(1 + lc) != 3) {
-       strcpy(C2F(cha1).buf,_("Unexpected opcode, please report into the Scilab bug tracker."));
-       SciError(9999);
-       return 0;
-      }
-      lc += 4;
-    }
-    /* skip assignment op_code <29 43 ans 0> */
-    if (*istk(lc) != 29) {
-      strcpy(C2F(cha1).buf,_("Unexpected opcode, please report into the Scilab bug tracker."));
-      SciError(9999);
-      return 0;
-    }
-    lc += 10;
-    /* store */
-    Rhs = 1;
-    C2F(ref2val)();
-    C2F(stackp)(istk(lname), &c__0);
-    if (Err > 0 ||C2F(errgst).err1 > 0) {
-      goto L10;
-    }
-    goto L10;
-  }
-  lc += 9;
-  if (Fin > 0) {
-    goto L65;
-  }
-  goto L10;
-
-  /*     allops */
- L30:
-  Fin = *istk(1 + lc);
-  Rhs = *istk(2 + lc);
-  Lhs = *istk(3 + lc);
-  lc += 4;
-  if (Fin == extrac) {
-    C2F(isafunptr)(&Top, id, &ifun, &ifin);
-    if (ifun != 0) {
-      --Top;
-      --Rhs;
-      C2F(com).fun = ifun;
-      Fin = ifin;
-      C2F(adjustrhs)();
-      goto L81;
-    }
-  }
-  if (Fin == extrac || Fin == insert) {
-    C2F(adjustrhs)();
-  }
-  ++Pt;
-  Rstk[Pt] = 601;
-  Ids[1 + Pt * nsiz] = tref;
-  Ids[3 + Pt * nsiz] = l0;
-  Ids[4 + Pt * nsiz] = nc;
-  C2F(recu).icall = 4;
-  /*     pstk(pt) is used by allops to get the name of output variable (insertion) */
-  Pstk[Pt] = lc;
-  /*     *call* allops */
-  return 0;
- L33:
-  tref = Ids[1 + Pt * nsiz];
-  l0 = Ids[3 + Pt *  nsiz];
-  nc = Ids[4 + Pt *  nsiz];
-  lc = Pstk[Pt];
-  --Pt;
-  goto L70;
-
-  /*     string */
- L40:
-  n = *istk(1 + lc);
-  if (C2F(errgst).err1 <= 0) {
-    ++Top;
-    if (C2F(cresmat)("run", &Top, &c__1, &c__1, &n, 3L)) {
-      C2F(getsimat)("run", &Top, &Top, &mm1, &nn1, &c__1, &
-                   c__1, &lr, &nlr, 3L);
-      C2F(icopy)(&n, istk(2 + lc), &c__1, istk(lr), &c__1);
-    }
-  }
-  lc = lc + n + 2;
-  goto L10;
-
-  /*     num */
- L41:
-  if (C2F(errgst).err1 <= 0) {
-    if (C2F(getendian)() == 1) {
-      ix[0] = *istk(1 + lc);
-      ix[1] = *istk(2 + lc);
-    } else {
-      ix[1] = *istk(1 + lc);
-      ix[0] = *istk(2 + lc);
-    }
-    ++Top;
-    if (C2F(cremat)("run", &Top, &c__0, &c__1, &c__1, &lr, &lcc, 3L)) {
-      *stk(lr) = *x;
-    }
-  }
-  lc += 3;
-  goto L10;
-
- L42:
-  C2F(defmat)();
-  ++lc;
-  goto L10;
-
-  /*     for */
- L45:
-  nc = *istk(1 + lc);
-  lc += 2;
-  l0 = lc;
-  if (Ptover(1)) {
-    lc += nc;
-    lc = lc + nsiz + *istk(lc);
-    goto L10;
-  }
-  Rstk[Pt] = 611;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = nc;
-  goto L10;
-
- L46:
-  nc = *istk(lc);
-  l0 = lc + 7;
-  if  (C2F(errgst).errcatch>=1 &&C2F(errgst).err1 > 0) {
-    /*an error occured in the loop variable expression evaluation, in 'continue' mode
-      skip all the for codes*/
-    lc = l0;
-    goto L48;
-  }
-  Rstk[Pt] = 612;
-  Pstk[Pt] = 0;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = Lct[8];
-  Ids[3 + Pt * nsiz] = Top;
-  Ids[4 + Pt * nsiz] = C2F(errgst).toperr;
-  C2F(errgst).toperr = Top;
- L47:
-  lc = l0;
-  if (Top != Ids[3 + Pt * nsiz]) {
-    SciError(115);
-    goto L48;
-  }
-  C2F(nextj)(istk(1 + l0 - 7), &Pstk[Pt]);
-  if (Pstk[Pt] != 0) {
-    Lct[8] = Ids[2 + Pt * nsiz];
-    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-    goto L10;
-  }
-  /*     fin for */
- L48:
-  lc += nc;
-  C2F(errgst).toperr = Ids[4 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     Very old if - while (removed) */
- L49:
-  if (*istk(1 + lc) < 0) {
-    goto L55;
-  }
- L52:
-  strcpy(C2F(cha1).buf, _("Functions compiled with very old versions are no more handled."));
-  SciError(997);
-  return 0;
-
-  /*     "select- case"  or  "if elseif else end" */
- L55:
-  if (Ptover(1)) {
-    lc += (i2 = *istk(1 + lc), abs(i2));
-    goto L10;
-  }
-  Pstk[Pt] = lc;
-  Ids[3 + Pt * nsiz] = C2F(errgst).toperr;
-
- L551:
-  if (*istk(1 + lc) > 0) {
-    /*    first expression */
-    nc = *istk(3 + lc);
-    Rstk[Pt] = 614;
-    lc += 4;
-    l0 = lc;
-    Ids[1 + Pt * nsiz] = l0;
-    Ids[2 + Pt * nsiz] = nc;
-    goto L10;
-  } else {
-    lc += 4;
-  }
-
-  /*     expri */
- L56:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-
-  if (*istk(Pstk[Pt]) == 10) {
-    /*     copy first expression */
-    i2 = Top + 1;
-    if (! C2F(vcopyobj)("run", &Top, &i2,3L)) {
-      return 0;
-    }
-    ++Top;
-  }
-
-  nc = *istk(lc);
-  Rstk[Pt] = 615;
-  ++lc;
-  l0 = lc;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = nc;
-  goto L10;
-
-  /*     instructions i */
- L57:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-  if (nc == 0) {
-    /* if nc=0 the instruction correspond to the else */
-    ok = TRUE;
-    if (*istk(Pstk[Pt]) == 10) {
-      --Top;
-    }
-    goto L59;
-  } else if (*istk(Pstk[Pt]) != 10) {
-    ok = Istrue(1);
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      goto L10;
-    }
-    goto L59;
-  }
-  ++Pt;
-  Fin = equal;
-  Rhs = 2;
-  Lhs = 1;
-  Rstk[Pt] = 605;
-  C2F(recu).icall = 4;
-  Pstk[Pt] = lc;
-  Ids[1 + Pt * nsiz] = tref;
-  /*     *call* allops(equal) */
-  return 0;
-
- L58:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-
-  lc = Pstk[Pt];
-  tref = Ids[1 + Pt * nsiz];
-  --Pt;
-  ok = Istrue(1);
-  if (Err > 0 || C2F(errgst).err1 > 0) {
-    goto L10;
-  }
- L59:
-  nc = *istk(lc);
-  C2F(errgst).toperr = Top;
-  if (ok) {
-    ++lc;
-    if (*istk(Pstk[Pt]) == 10) {
-      --Top;
-    }
-    l0 = lc;
-    Ids[1 + Pt * nsiz] = l0;
-    Ids[2 + Pt * nsiz] = nc;
-    Rstk[Pt] = 616;
-    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-    goto L10;
-  } else {
-    if (*istk(Pstk[Pt]) == 9) {
-      goto L62;
-    }
-    lc = lc + nc + 1;
-    goto L56;
-  }
-
- L61:
-  /*     fin if while select/case */
-  l0 = Pstk[Pt];
-  if (*istk(Pstk[Pt]) == 9) {
-    lc = l0 + 4;
-    goto L56;
-  }
- L62:
-  l0 = Pstk[Pt];
-  lc = l0 + (i2 = *istk(1 + l0), abs(i2));
-  C2F(errgst).toperr = Ids[3 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     macro */
- L65:
-  i2 = *istk(2 + lc) - 1;
-  Rhs = Max(i2,0);
-  C2F(adjustrhs)();
-  Lhs = *istk(3 + lc);
-
-  lc += 4;
-
-  if (Ptover(1)) {
-    goto L10;
-  }
-  Rstk[Pt] = 602;
-  Pstk[Pt] = lc;
-  /*  Ids[1 + Pt * nsiz] = C2F(dbg).wmac; *//*moved into macro.f*/
-  Ids[2 + Pt * nsiz] = tref;
-  Ids[3 + Pt * nsiz] = l0;
-  Ids[4 + Pt * nsiz] = nc;
-  C2F(recu).icall = 5;
-  C2F(com).fun = 0;
-  /*     *call* macro */
-  return 0;
- L66:
-  lc = Pstk[Pt];
-  /*C2F(dbg).wmac = Ids[1 + Pt * nsiz];*//*moved into macro.f*/
-  tref = Ids[2 + Pt * nsiz];
-  l0 = Ids[3 + Pt * nsiz];
-  nc = Ids[4 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
- L70:
-  /* re entering run to continue macro evaluation */
-  if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-
- L71:
-  /* reset proper values for l0 and nc if a control structure had been escaped*/
-  r = Rstk[Pt] - 610;
-  switch ((int)r) {
-  case 1:
-    l0 = Ids[1 + Pt * nsiz];
-    nc = Ids[2 + Pt * nsiz];
-    goto L10;
-  case 2: /* back to a for */
-    j = Pstk[Pt];
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 7);
-    goto L10;
-  case 3: /* back to an if or a while */
-    li = Ids[1 + Pt * nsiz];
-    kc = Ids[2 + Pt * nsiz];
-    nc = *istk(2 + li);
-    l0 = li + 5;
-    if (kc == 0) {
-      goto L10;
-    }
-    l0 += nc;
-    nc = *istk(3 + li);
-    if (kc == 1) {
-      goto L10;
-    }
-    l0 += nc;
-    nc = *istk(4 + li);
-    goto L10;
-  case 4:
-  case 5:
-  case 6:
-  /*    back to a select case   */
-    l0 = Ids[1 + Pt * nsiz];
-    nc = Ids[2 + Pt * nsiz];
-    goto L10;
-  case 8: /*back to a try*/
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 2);
-    goto L10;
-  case 9:  /*back to a catch*/
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 1);
-    l0 = l0 + *istk(l0 - 2);
-    goto L10;
-  default :
-    goto L10;
-  }
-
- L80:
-  C2F(com).fun = op / 100;
-  Rhs = *istk(1 + lc);
-  C2F(adjustrhs)();
-  Lhs = *istk(2 + lc);
-  Fin = *istk(3 + lc);
-  lc += 4;
-
- L81:
-  ++Pt;
-  Rstk[Pt] = 603;
-  Pstk[Pt] = lc;
-  C2F(recu).icall = 9;
-  Ids[2 + Pt * nsiz] = 0;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = nc;
-  /*     *call* matfns */
-  return 0;
- L82:
-  /*     warning if builtin is "resume" control is passed to macro and not here */
-  lc = Pstk[Pt];
-  tref = Ids[3 + Pt * nsiz];
-  l0 =   Ids[4 + Pt * nsiz];
-  nc =   Ids[5 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     pause */
- L90:
-  ++lc;
- L91:
-  if (Ptover(1)) {
-    goto L10;
-  }
-  Pstk[Pt] = C2F(iop).rio;
-  C2F(iop).rio = C2F(iop).rte;
-  Fin = 2;
-  if (Lct[4] <= -10) {
-    Fin = -1;
-       Lct[4] = -Lct[4] - 11;
-  }
-  Ids[1 + Pt * nsiz] = lc;
-  Ids[2 + Pt * nsiz] = Top;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = nc;
-  Rstk[Pt] = 604;
-  C2F(recu).icall = 5;
-  /*     *call* macro */
-  return 0;
- L92:
-  lc =   Ids[1 + Pt * nsiz];
-  Top =  Ids[2 + Pt * nsiz];
-  tref = Ids[3 + Pt * nsiz];
-  l0 =   Ids[4 + Pt * nsiz];
-  nc =   Ids[5 + Pt * nsiz];
-  C2F(iop).rio = Pstk[Pt];
-  --Pt;
-  goto L70;
-
-  /*     break */
- L95:
-  p = Pt + 1;
- L96:
-  --p;
-  if (p == 0) {
-    ++lc;
-    goto L10;
-  }
-  if (Rstk[p] == 612) {
-    /*     break in a for */
-    l0 = Ids[1 + p * nsiz];
-    lc = l0 + *istk(1 + l0 - 8);
-    Pt = p - 1;
-    --Top;
-    goto L70;
-  } else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
-    {
-      /*     break in a while */
-      l0 = Pstk[p];
-      lc = l0 + (i2 = *istk(1 + l0), abs(i2));
-      Pt = p - 1;
-      goto L70;
-    } else if (Rstk[p] == 501 || Rstk[p] == 502 ||
-              Rstk[p] == 503) {
-      /*     going outside a function an exec (break ignored) */
-      ++lc;
-      goto L10;
-    } else {
-      goto L96;
-    }
-  /*     continue */
- L97:
-  p = Pt + 1;
- L98:
-  --p;
-  if (p == 0) {
-    ++lc;
-    goto L10;
-  }
-  if (Rstk[p] == 612) {
-    /*     continue in a  for */
-    l0 = Ids[1 + p * nsiz];
-    /* nc is required for the end of loop */
-    lc = l0 - 7;
-    nc = *istk(lc);
-    Pt = p;
-    goto L47;
-  } else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
-    {
-      /*     continue in a while */
-      l0 = Pstk[p];
-      lc = l0;
-      nc = *istk(lc);
-      Pt = p;
-      goto L551;
-    } else {
-      goto L98;
-    }
-  /*     abort */
- L100:
-  ++Pt;
- L101:
-  --Pt;
-  if (Pt == 0) {
-    goto L102;
-  }
-  if (Rstk[Pt] / 100 == 5) {
-    k = Lpt[1] - (13 + nsiz);
-    Lpt[1] = Lin[1 + k];
-    Lpt[2] = Lin[2 + k];
-    Lpt[3] = Lin[3 + k];
-    Lpt[4] = Lin[4 + k];
-       Lct[4] = Lin[6 + k ];
-    Lpt[6] = k;
-    if (Rstk[Pt] <= 502) {
-      if (Pt>1) {
-       if (Rstk[Pt-1] != 903 && Rstk[Pt-1] != 909 && Rstk[Pt-1] != 706)
-         Bot = Lin[5 + k];}
-      else
-       Bot = Lin[5 + k];
-    }
-    else if (Rstk[Pt] == 503) {
-      if (C2F(iop).rio == C2F(iop).rte) {
-           /* abort in a pause mode */
-       C2F(iop).rio = Pstk[Pt-1];
-       C2F(recu).paus--;
-       Bot = Lin[5 + k];}
-      else {
-       int mode[3];
-       int lunit = -C2F(iop).rio;
-       /*  abort in an exec*/
-       mode[0]=0;
-       C2F(clunit)(&lunit,C2F(cha1).buf,mode);
-       C2F(iop).rio = Pstk[Pt-1];
-      }
-    }
-  }
-  goto L101;
- L102:
-  C2F(recu).icall = 10;
-  Top = 0;
-  C2F(com).comp[0] = 0;
-  if (C2F(recu).niv > 1) {
-    Err = 9999999;
-  }
-  return 0;
-
- L105:
-  /*     eol */
-  /*     la gestion de la recuperation des erreurs devrait plutot se trouver */
-  /*     a la fin de l'instruction (mais il n'y a pas actuellement d'indicateur */
-  /*     de fin d'instruction dans les macros */
-  if (C2F(errgst).err1 != 0) { 
-    if (C2F(errgst).err2 == 0) {
-      C2F(errgst).err2 = C2F(errgst).err1;
-    }
-    if (C2F(errgst).errcatch > 0) {
-      /* running under errcatch(num,....) */
-      if (Rstk[Pt] != 614 && Rstk[Pt] != 615 && Rstk[Pt] != 605) C2F(errgst).err1 = 0;
-      if (Pt<C2F(errgst).errpt) {
-       C2F(errgst).errcatch = 0;
-      }
-    }
-    imode = (i2 = C2F(errgst).errct / 100000, abs(i2));
-    if (imode - (imode / 8 << 3) == 2) {
-      C2F(basbrk).iflag = TRUE;
-    }
-  }
-
-  /*     gestion des points d'arrets dynamiques */
-  if (C2F(dbg).nmacs != 0) { /* there are breakpoints set */
-    int kfin=C2F(dbg).wmac-1; /*the stack index of the current function*/
-    /*  first test if the function has breakpoints   */
-    int kmac;
-    for (kmac=0;kmac<C2F(dbg).nmacs;kmac++) { /* loop on table of functions containing breakpoints */
-      /* does the name of the current funtion fit the registered name*/
-      if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz]))) {/* yes */
-       /* test if there is a registered breakpoint at the current line*/
-       i2 = C2F(dbg).lgptrs[kmac+1] - 1;
-       for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i2; ++ibpt) {
-         if (Lct[8] == C2F(dbg).bptlg[ibpt - 1]) { /* yes */
-           /* display a message */
-           C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, 24L);
-           sprintf(C2F(cha1).buf,"%s %5d",tmp, Lct[8]);
-           Msgs(32, 0);
-           /* raise the interruption flag */
-           C2F(basbrk).iflag = TRUE;
-           goto L107;
-         }
-       }
-       break;
-      }
-    }
-  }
- L107:
-
-  if (Lct[4] / 2 % 2 == 1) {
-    i2 = Lct[4] / 4;
-    C2F(prompt)(&i2, &iesc);
-  }
-  ++Lct[8];
-  ++lc;
-  if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-
-  goto L10;
-
-  /* set line number.
-   *
-   *   Au debut de chaque expression liee a un then et a la fin de
-   *   chaque clause, le compilateur (compcl) inscrit la valeur de la
-   *   ligne. ceci permet de mettre rapidement a jour le compteur de
-   *   ligne sans avoir a analyser la suite des codes operatoires */
-
- L110:
-  Lct[8] = *istk(1 + lc);
-  lc += 2;
-  goto L10;
-
-  /* gestion des evements asynchrones "interpretes" */
- L115:
-  C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
-  C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
-  if (ierr != 0) {
-    goto L10;
-  }
-  ++Pt;
-  Ids[1 + Pt * nsiz] = lc;
-  Ids[2 + Pt * nsiz] = l0;
-  Ids[3 + Pt * nsiz] = nc;
-  Ids[4 + Pt * nsiz] = tref;
-  Rstk[Pt] = 606;
-  C2F(recu).icall = 5;
-  /*     *call* macro */
-  return 0;
- L116:
-  C2F(basbrk).interruptible = TRUE;
-  lc = Ids[1 + Pt * nsiz];
-  l0 = Ids[2 + Pt * nsiz];
-  nc = Ids[3 + Pt * nsiz];
-  tref = Ids[4 + Pt * nsiz];
-  --Top;
-  --Pt;
-  goto L71;
-    /*  r = Rstk[Pt] - 610;
-  switch ((int)r) {
-  case 1:  goto L74;
-  case 2:  goto L71;
-  case 3:  goto L72;
-  case 4:  goto L73;
-  case 5:  goto L73;
-  case 6:  goto L73;
-  }
-  goto L10;*/
-
-  /*     quit */
-
- L120:
-  if (C2F(recu).paus!=0) {
-    /*   quit in a pause: decrease recursion level up to the pause one (Rstk[Pt] == 503) */
-    Pt = Pt + 1;
-  L121:  
-    Pt = Pt - 1;
-    /*  suppress loop variables if any */
-    if (Rstk[Pt]==802 || Rstk[Pt]==612 || 
-       (Rstk[Pt]==805 && Ids[1 + Pt * nsiz]==iselect) ||  
-       (Rstk[Pt]==616 && Pstk[Pt] ==10)) Top--;
-    if (Rstk[Pt] != 503) goto L121;
-    /* recall macro to terminate the pause level */
-    C2F(com).fun=0;
-    return 0;
-  }
-  else
-    C2F(com).fun = 99;
-  return 0;
-
-  /*     named variable */
-
- L130:
-  Infstk[Top] = 1;
-  C2F(putid)(&C2F(vstk).idstk[Top * nsiz - nsiz], istk(1 + lc));
-  lc += 7;
-  goto L10;
-
-  /*     form recursive extraction list */
-
- L140:
-  m = *istk(2 + lc);
-  if (Rstk[Pt] == 617) {
-    /* runtime arg count (list extraction) */
-    m += Pstk[Pt];
-    Pstk[Pt] = 0;
-  }
-  C2F(mkindx)(istk(1 + lc), &m);
-  lc += 3;
-  goto L10;
-
-  /*     exit */
-
- L150:
-  ++lc;
-  if (C2F(recu).niv > 0) {
-    sciquit();
-    exit(0); /* stop */
-  }
-  C2F(com).fun = 99;
-  goto L10;
-
-  /*     begrhs - for run time rhs value computation */
-  /*              syntax like: l=list(...); a(l(:)) */
-
- L160:
-  ++lc;
-  ++Pt;
-  Rstk[Pt] = 617;
-  Pstk[Pt] = 0;
-  goto L10;
-
-  /*     printmode */
-
- L170:
-  /*     print stored variable */
-  if (Lct[4] >= 0 && *istk(1 + lc) != semi && kid != 0) {
-    C2F(print)(id, &kid, &C2F(iop).wte);
-  }
-  lc += 2;
-  goto L10;
- L180:
-  /*     name2var */
-  C2F(name2var)(istk(1 + lc));
-  lc += 7;
-  goto L10;
-
- L190:
-  /*     deffnull */
-  ++lc;
-  ++Top;
-  C2F(objvide)(" ", &Top, 1L);
-  goto L10;
-
- L200:
-  /*     profile */
-  ++*istk(1 + lc);
-  t = clock();
-  *istk(2 + lc) = *istk(2 + lc) + t - tref;
-  tref = t;
-  lc += 3;
-  goto L10;
-
- L210:
-  /*     character string vector */
-  if (C2F(errgst).err1 <= 0) {
-    n = *istk(1 + lc) * *istk(2 + lc);
-    nc = *istk(lc + 4 + n) - 1;
-    ++Top;
-    il = Lstk[Top] + Lstk[Top] - 1;
-    i2 = il + 5 + n + nc;
-    Err = i2 / 2 + 1 - Lstk[Bot];
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      SciError(17);
-      lc = lc + 5 + n + nc;
-      goto L10;
-    }
-    i2 = n + 5 + nc;
-    C2F(icopy)(&i2, istk(lc), &c__1, istk(il), &c__1);
-    *istk(il) = 10;
-    i2 = il + 5 + n + nc;
-    Lstk[1 + Top] = i2 / 2 + 1;
-  }
-  lc = lc + 5 + n + nc;
-  goto L10;
- L220:
-  /*     varfun */
-  C2F(varfunptr)(istk(3 + lc), istk(1 + lc), istk(2 + lc));
-  lc += 9;
-  goto L10;
- L230:
-  /*     affectation */
-  Lhs = *istk(1 + lc);
-  ip = *istk(2 + lc);
-  li = lc + 3;
-  lc = li + Lhs * 7;
-  /*     following code is an adaptation of corresponding code in parse.f */
-  ndel = 0;
- L231:
-  Rhs = *istk(6 + li);
-  lastindpos = Top - Lhs - ndel;
-  if (C2F(errgst).err1 != 0) {
-    goto L253;
-  }
-  if (Rhs == 0) {
-    /* goto simple affectation */
-    C2F(stackp)(istk(li), &c__0);
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      goto L10;
-    }
-    if (C2F(errgst).err1 > 0) {
-      goto L253;
-    }
-    /* fin points on the newly saved variable */
-    if (!(Lct[4] >= 0 && ip != semi && Fin != 0)) goto L253;
-    ifin=Fin;
-  L232:
-    C2F(print)(istk(li), &ifin, &C2F(iop).wte);
-    if (Rstk[Pt]!=1101) goto L253;
-    ++Pt;
-    Pstk[Pt] = li;
-    Ids[1 + Pt * nsiz] = ndel;
-    Ids[2 + Pt * nsiz] = lastindpos;
-    Ids[3 + Pt * nsiz] = tref;
-    Ids[4 + Pt * nsiz] = l0;
-    Ids[5 + Pt * nsiz] = Lhs;
-    Ids[6 + Pt * nsiz] = nc;
-    Rstk[Pt]=609;
-    return 0;
-  L240:
-    li = Pstk[Pt];
-    ip = *istk(li-1);
-    ndel =       Ids[1 + Pt * nsiz];
-    lastindpos = Ids[2 + Pt * nsiz];
-    tref =       Ids[3 + Pt * nsiz];
-    l0 =         Ids[4 + Pt * nsiz];
-    Lhs =        Ids[5 + Pt * nsiz];
-    nc =         Ids[6 + Pt * nsiz];
-    --Pt;
-    /*goto L253;*/
-    goto L232;
-
-  }
-
-  /*     take rhs (number of indices) computed at runtime into account */
-  C2F(adjustrhs)();
-  /*     partial variable affectation (insertion) */
-  if (lastindpos + 1 != Top) {
-    /* create reference variables to get index1,...,indexn, value at */
-    /* the top of the stack in this order */
-    /* create reference variables pointing to the  indices */
-    for (ir = 1; ir <= Rhs; ++ir) {
-      i2 = lastindpos - Rhs + ir;
-      C2F(createref1)(&i2);
-    }
-    /* create reference variable pointing to the value */
-    i2 = Top - Rhs;
-    C2F(createref1)(&i2);
-    /* remind to remove the original indices */
-    ndel += Rhs;
-  }
-  lastindpos -= Rhs;
-  /*     put a reference to the lhs variable */
-  Fin = -3;
-  C2F(stackg)(istk(li));
-  if (Err > 0 || C2F(errgst).err1 > 0) {
-    goto L10;
-  }
-  /*     perform insertion operation */
-  /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
-  if (Eptover(1)) {
-    return 0;
-  }
-  /*     pstk(pt) is used by allops to get the name of output variable */
-  Pstk[Pt] = li;
-  Ids[1 + Pt * nsiz] = ndel;
-  Ids[2 + Pt * nsiz] = lastindpos;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = Lhs;
-  Ids[6 + Pt * nsiz] = nc;
-  Rstk[Pt] = 607;
-  Rhs += 2;
-  Lhs = 1;
-  C2F(recu).icall = 4;
-  Fin = insert;
-  /*     *call* allops(insert) */
-  return 0;
- L250:
-  li = Pstk[Pt];
-  ip = *istk(li-1);
-  ndel =       Ids[1 + Pt * nsiz];
-  lastindpos = Ids[2 + Pt * nsiz];
-  tref =       Ids[3 + Pt * nsiz];
-  l0 =         Ids[4 + Pt * nsiz];
-  Lhs =        Ids[5 + Pt * nsiz];
-  nc =         Ids[6 + Pt * nsiz];
-  --Pt;
-  /*     store the updated value */
-  C2F(stackp)(istk(li), &c__0);
-
-  if (Err > 0 || C2F(errgst).err1 > 0) {
-    goto L10;
-  }
-  if (C2F(errgst).err1 > 0) {
-    goto L253;
-  }
-  /*     fin points on the newly saved variable */
-  if (!(Lct[4] >= 0 && ip != semi && Fin != 0))  goto L252;
-  ifin=Fin;
- L251:
-  C2F(print)(istk(li), &ifin, &C2F(iop).wte);
-  if (Rstk[Pt]!=1101) goto L252;
-  ++Pt;
-  Pstk[Pt] = li;
-  Ids[1 + Pt * nsiz] = ndel;
-  Ids[2 + Pt * nsiz] = lastindpos;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = Lhs;
-  Ids[6 + Pt * nsiz] = nc;
-  Rstk[Pt]=608;
-  return 0;
- L254:
-  li = Pstk[Pt];
-  ip = *istk(li-1);
-  ndel =       Ids[1 + Pt * nsiz];
-  lastindpos = Ids[2 + Pt * nsiz];
-  tref =       Ids[3 + Pt * nsiz];
-  l0 =         Ids[4 + Pt * nsiz];
-  Lhs =        Ids[5 + Pt * nsiz];
-  nc =         Ids[6 + Pt * nsiz];
-  --Pt;
-  goto L251;
-
- L252:
-  /*     remove variable containing the value if required */
-  if (lastindpos != Top)   --Top;
-
- L253:
-  li += 7;
-  --Lhs;
-  if (Lhs > 0) {
-    goto L231;
-  }
-  Top -= ndel;
-  lc = li;
-  goto L10;
-
-  /*     logical expression shortcircuit */
- L260:
-  if (*istk(1 + lc) == 1) {
-    /* | case */
-    if (C2F(gettype)(&Top) != sci_ints && Istrue(0)) {
-      lc += *istk(2 + lc);
-    }
-  } else {
-    /* & case */
-    if (C2F(gettype)(&Top) != sci_ints && ! Istrue(0)) {
-      lc += *istk(2 + lc);
-    }
-  }
-  lc += 3;
-  goto L10;
- /*     comment */
- L261:
-
-  lc += 2+*istk(1 + lc);
-  goto L10;
-
- /*     try catch */
- L270:
-  nc = *istk(1 + lc);
-  lc += 3;
-  l0 = lc;
-  if (Ptover(1)) {
-    lc += nc;
-    lc += nsiz + *istk(lc);
-    goto L10;
-  }
-  Rstk[Pt] = 618;
-  Ids[1 + Pt * nsiz] = l0;
-  /* preserve current error modes */
-  Ids[2 + Pt * nsiz] = C2F(errgst).errct;
-  Ids[3 + Pt * nsiz] = C2F(errgst).err2;
-  Ids[4 + Pt * nsiz] = C2F(errgst).err1;
-  Ids[5 + Pt * nsiz] = C2F(errgst).errpt;
-  Ids[6 + Pt * nsiz] = (Lct[4]+100)+10000*C2F(com).sym;
-  /* set error recovery mode without message*/
-  C2F(errgst).errct = -(900000+1);
-  C2F(errgst).errpt = Pt;
-  Pstk[Pt] = Top;
-  goto L10;
- L271:
-  /* try op-codes finished*/
-  l0 = Ids[1 + Pt * nsiz];
-  /*check if an error occured*/
-  ok = Max(C2F(errgst).err2,C2F(errgst).err1)<=0;
-  /* restore preserved error modes */
-  C2F(errgst).errct = Ids[2 + Pt * nsiz];
-  C2F(errgst).err2  = Ids[3 + Pt * nsiz];
-  C2F(errgst).err1  = Ids[4 + Pt * nsiz];
-  C2F(errgst).errpt = Ids[5 + Pt * nsiz];
-  C2F(com).sym      = Ids[6 + Pt * nsiz]/10000;
-  Lct[4]            = Ids[6 + Pt * nsiz]-10000*C2F(com).sym - 100;
-  if (ok) {
-    /* no error occured in the try part*/
-    nc = *istk(l0-1);
-    lc += nc; /*skip catch  instructions*/
-    /* finish try catch context and continue*/
-    --Pt;
-    goto L70;
-  }
-  /*an error occured in the try part*/
-  lc = l0+*istk(l0-2);/*skip remaining try instruction*/
-  nc = *istk(l0-1);
-  /*execute catch instructions (next op-codes)*/
-  l0 = lc;
-  Rstk[Pt] = 619;
-  goto L10;
- L272:
-  /* catch op-codes finished*/
-  /* close "try catch" context and continue*/
-  --Pt;
-  goto L70;
-
-
- L998:
-  Lhs = 0;
- L999:
-  /*remove context down to current running macro */
-  if (Rstk[Pt] != 501) {
-    --Pt;
-    goto L999;
-  }
-  C2F(com).fun = 0;
-  return 0;
-#undef ix
-#undef x
-}
-
-
-
-int C2F(adjustrhs)(void)
-{
-  /* to adjust rhs in the case it is only fixed at run time example
-  *  l=list(....); foo(a,l(2:3)).  the parser supposes that the rhs
-  *  for foo is 2. at run time it is really 3. See begrhs.
-  * Copyright INRIA
-  * Author S. Steer
-  */
-  static int    *Ids  = C2F(recu).ids-nsiz-1;
-  static int    *Rstk = C2F(recu).rstk-1;
-  static int    *Pstk = C2F(recu).pstk-1;
-
-  if (Rstk[Pt] == 617) {
-    Rhs += Pstk[Pt];
-    --Pt;
-  } else if (Rstk[Pt] == 501) {
-    /* retained for 2.4.1 compatiblity */
-    Rhs += Ids[5 + Pt * nsiz];
-    Ids[5 + Pt * nsiz] = 0;
-  }
-  return 0;
-}
diff --git a/scilab/modules/core/src/c/scirun.c b/scilab/modules/core/src/c/scirun.c
deleted file mode 100644 (file)
index 9d69c00..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * 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-en.txt
- *
- */
-/* Code automatically translated from Fortran to C */
-/*--------------------------------------------------------------------------*/
-#include "scirun.h"
-#include "callinterf.h"
-#include "stack-c.h"
-#include "Scierror.h"
-#include "recursionFunction.h"
-#include "exitCodeValue.h"
-/*--------------------------------------------------------------------------*/
-extern int C2F(parse)(void);
-extern int C2F(isbyref)(int *);
-/*--------------------------------------------------------------------------*/
-static void str_copy_buf(register char *a, register char *b, long int la, long int lb);
-
-/**
- * This function should be completely rewritten... (F2C effect)
- * It is not understable for someone normal
- *
- */
-int C2F(scirun)(char *startupCode, long int startupCode_len)
-{
-  static int k = 0;
-  /* stack recovery is now handled in errmgr */
-  /* int ireftop=0;*/
-
-  /* set instruction to execute at start-up */
-  /* cha1 is comming from stack-def.h */
-  str_copy_buf(C2F(cha1).buf, startupCode, bsiz, startupCode_len);
-
-  C2F(iop).rio = -1;
-  C2F(iop).lpt[0] = 1;
-  C2F(iop).lpt[5] = 0;
-  C2F(recu).pt = 0;
-
-  C2F(recu).icall = 0;
-  C2F(recu).krec = 99999;
-
-  /* call instructions parser */
-
- L60:
-  C2F(parse)();
-  /* @TODO : What is 99 */
-  if (C2F(com).fun == 99)
-    {
-      C2F(com).fun = 0;
-      return 0;
-    }
-  if (Err > 0)
-    {
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
-
-  if ( isRecursionCallToFunction() )
-    {
-      int gw = getRecursionGatewayToCall();
-      if (gw == END_OVERLOAD)
-        {
-          --C2F(recu).pt;
-          goto L90;
-        }
-      else if (gw == ERROR_GW_ID)
-        {
-          goto L89;
-        }
-      else
-        {
-          k = gw;
-        }
-      goto L95;
-    }
-
-
- L89:
-  if (Top < Rhs)
-    {
-      SciError(22);
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
-  if (Top - Rhs + Lhs + 1 >= Bot)
-    {
-      SciError(18);
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
-  /* stack recovery is now handled in errmgr */
-  /*ireftop=Top - Max(0,Rhs);*/
-  goto L91;
-
- L90:
-  if (Err > 0)
-    {
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
- L91:
-  k = C2F(com).fun;
-  C2F(com).fun = 0;
-  if (k == C2F(recu).krec)
-    {
-      C2F(recu).krec = -1;
-      SciError(22);
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
-  C2F(recu).krec = -1;
-  if (k == 0) goto L60;
-
- L95:
-  if (! C2F(allowptr)(&k))
-    {
-      C2F(ref2val)();
-    }
-  C2F(recu).krec = k;
-  C2F(callinterf)(&k);
-  C2F(recu).krec = -1;
-  if (C2F(com).fun == -999) /* exit detected */
-    {
-      return getExitCodeValue();
-    }
-  if (C2F(com).fun >= 0)
-    {
-      if (Top - Lhs + 1 > 0)
-        {
-          int cx0=0;
-          int cx1=0;
-          C2F(iset)(&Rhs, &cx0, &C2F(vstk).infstk[Top - Lhs], &cx1);
-        }
-      if (C2F(recu).paus > 0)
-        {
-          goto L91;
-        }
-      if (C2F(errgst).err1 > 0)
-        {
-          /*stack recovery is now handled in errmgr */
-          /*Top = ireftop;*/
-        }
-      goto L90;
-    }
-
-  /*
-    called interface ask for a scilab function to perform the function (fun=-1)
-    the function name is given in ids(1,pt+1)
-    call ref2val removed here because if forces overloading function to
-    be called by value
-    call ref2val
-  */
-  C2F(com).fun = 0;
-  C2F(funs)(&C2F(recu).ids[(C2F(recu).pt + 1) * 6 - 6]);
-  if (Err > 0)
-    {
-      if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-      goto L60;
-    }
-  if (C2F(com).fun > 0)
-    {
-      if (C2F(isbyref)(&C2F(com).fun) == 0)
-        {
-          C2F(ref2val)();
-        }
-      goto L91;
-    }
-
-  if (Fin == 0)
-    {
-      SciError(246);
-      if (Err > 0)
-        {
-          if (C2F(recu).niv > 0 && C2F(recu).paus > 0) C2F(com).fun = 0;
-          goto L60;
-        }
-      goto L90;
-    }
-  ++C2F(recu).pt;
-  Fin = C2F(vstk).lstk[Fin - 1];
-  C2F(recu).rstk[C2F(recu).pt - 1] = 910;
-  C2F(recu).icall = 5;
-  C2F(com).fun = 0;
-  /* *call*  macro */
-  goto L60;
-
-  return 0;
-}
-/*--------------------------------------------------------------------------*/
-static void str_copy_buf(register char *a, register char *b, long int la, long int lb)
-{
-  if (lb>la) strncpy(a,b,la);
-  else
-    {
-      int i=0;
-      strncpy(a,b,lb);
-      for (i=lb;i<la;i++) a[i]= ' ';
-    }
-}
-/*--------------------------------------------------------------------------*/
index 33c944a..2a06179 100644 (file)
@@ -1881,201 +1881,6 @@ int C2F(callscifun)(char *string,unsigned long string_len)
 }
 
 /*---------------------------------------------------------------------
-* scifunction(number,ptr,mlhs,mrhs) >
-*     execute scilab function with mrhs input args and mlhs output
-*     variables
-*     input args are supposed to be stored in the top of the stack
-*     at positions top-mrhs+1:top
-*---------------------------------------------------------------------*/
-
-int C2F(scifunction)(int *number,int *ptr,int *mlhs,int *mrhs)
-{
-    int cx26 = 26;
-    int ix1, ix, k, intop, lw;
-    int imode,ireftop;
-
-    if ( intersci_push() == 0 )
-    {
-        Scierror(999,_("%s: No more memory.\n"),"scifunction");
-        goto L9999;
-    }
-
-    /*     macro execution inside a builtin gateway*/
-    intop = Top;
-    Top = Top - Rhs + *number + *mrhs - 1;
-    ++C2F(recu).pt;
-    if (C2F(recu).pt > psiz) {
-        SciError(cx26);
-        goto L9999;
-    }
-    C2F(recu).ids[C2F(recu).pt * nsiz - nsiz] = Lhs;
-    C2F(recu).ids[C2F(recu).pt * nsiz - (nsiz-1)] = Rhs;
-    C2F(recu).rstk[C2F(recu).pt - 1] = 1001;
-    Lhs = *mlhs;
-    Rhs = *mrhs;
-    ++C2F(recu).niv;
-    C2F(com).fun = 0;
-    C2F(com).fin = *ptr;
-    C2F(recu).icall = 5;
-    C2F(recu).krec = -1;
-    /* ************************** copied from callinter.h */
-L60:
-    C2F(parse)();
-    /* parse has exited for a built-in evaluation */
-
-    if (C2F(com).fun == 99) {
-        if( Err>0 ||C2F(errgst).err1>0) {
-            imode=abs(C2F(errgst).errct)/100000 % 8;
-            if (imode !=3) {
-                goto L97;
-            }
-        }
-        C2F(com).fun = 0;
-        goto L200;
-    }
-    if (Err > 0)  goto L97;
-
-    if ( isRecursionCallToFunction() )
-    {
-        int gw = getRecursionGatewayToCall();
-        if (gw == END_OVERLOAD)
-        {
-            goto L96;
-        }
-        else if (gw == ERROR_GW_ID)
-        {
-            goto L89;
-        }
-        else
-        {
-            k = gw;
-        }
-        goto L95;
-    }
-    if ( isRecursionCallToFunction() )
-    {
-        int gw = getRecursionGatewayToCall();
-        if (gw == END_OVERLOAD)
-        {
-            goto L96;
-        }
-        else if (gw == ERROR_GW_ID)
-        {
-            goto L89;
-        }
-        else
-        {
-            k = gw;
-        }
-        goto L95;
-    }
-
-L89:
-    if (Top < Rhs) {
-        Scierror(22,_("%s: Recursion problems. Sorry ...\n"),"scifunction");
-        goto L97;
-    }
-    if (Top - Rhs + Lhs + 1 >= Bot) {
-        Scierror(18,_("%s: Too many names.\n"),"scifunction");
-        goto L97;
-    }
-    /*     ireftop used to reset top if an error occurs during
-    the function evaluation*/
-    ireftop=Top-Max(0,Rhs);
-
-    goto L91;
-L90:
-    if (Err > 0) goto L97;
-    /**/
-L91:
-    k = C2F(com).fun;
-    C2F(com).fun = 0;
-    if (k == C2F(recu).krec) {
-        Scierror(22,_("%s: Recursion problems. Sorry ...\n"),"scifunction");
-        goto L97;
-    }
-    C2F(recu).krec = -1;
-    if (k == 0) goto L60;
-L95:
-    if (! C2F(allowptr)(&k)) C2F(ref2val)();
-    C2F(recu).krec = k;
-    C2F(callinterf)(&k);
-
-    C2F(recu).krec = -1;
-    if (C2F(com).fun >= 0) {
-        if (Top - Lhs + 1 > 0) {
-            C2F(iset)(&Rhs, &cx0, &C2F(vstk).infstk[Top - Lhs], &cx1);
-        }
-        if(C2F(recu).paus > 0) goto L91;
-        if (C2F(errgst).err1 > 0) Top=ireftop;
-        goto L90;
-    }
-    /*    called interface ask for a scilab function to perform the function (fun=-1)
-    *     the function name is given in ids(1,pt+1)
-    */
-    /*     call ref2val removed here because if forces overloading function to
-    *     be called by value
-    C2F(ref2val)();*/
-    C2F(com).fun = 0;
-    C2F(funs)(&C2F(recu).ids[(C2F(recu).pt + 1)* nsiz - nsiz]);
-    if (Err > 0) goto L97;
-
-    if (C2F(com).fun > 0) {
-        if (C2F(isbyref)(&C2F(com).fun)==0) C2F(ref2val)();
-        goto L91;
-    }
-    if (Fin == 0) {
-        SciError(246);
-        if (Err > 0) goto L97;
-        goto L90;
-    }
-    ++C2F(recu).pt;
-    Fin = *Lstk(C2F(com).fin);
-    C2F(recu).rstk[C2F(recu).pt - 1] = 910;
-    C2F(recu).icall = 5;
-    C2F(com).fun = 0;
-    /*     *call*  macro */
-    goto L60;
-L96:
-    --C2F(recu).pt;
-    goto L90;
-
-L97: /* error handling */
-    if((C2F(recu).niv > 0) && (C2F(recu).paus > 0)) {
-        C2F(com).fun=0;
-        goto L60;
-    }
-    goto L9999;
-    /* ************************** end of copy*/
-L200:
-    Lhs = C2F(recu).ids[C2F(recu).pt * nsiz -nsiz ];
-    Rhs = C2F(recu).ids[C2F(recu).pt * nsiz -(nsiz-1)];
-    --C2F(recu).pt;
-    --C2F(recu).niv;
-    /* + */
-    Top = intop;
-    ix1 = *mlhs;
-    intersci_pop();
-    for (ix = 1; ix <= ix1; ++ix) {
-        lw = Top - Rhs + *number + ix - 1;
-        C2F(intersci).ntypes[lw - 1] = '$';
-    }
-    return TRUE;
-
-L9999:
-    Top = intop;
-    --C2F(recu).niv;
-    if(C2F(errgst).err1>0) {
-        Lhs = C2F(recu).ids[C2F(recu).pt * nsiz -nsiz ];
-        Rhs = C2F(recu).ids[C2F(recu).pt * nsiz -(nsiz-1)];
-        --C2F(recu).pt;
-        C2F(com).fun = 0;
-    }
-    intersci_pop();
-    return FALSE;
-}
-
-/*---------------------------------------------------------------------
 * scistring :
 *   executes scilab string (name of a scilab function) with mrhs
 *     input args and mlhs output variables
@@ -2103,7 +1908,7 @@ int C2F(scistring)(int *ifirst,char *thestring,int *mlhs,int *mrhs,unsigned long
         Fin = 0;
         tops = Top;
         Top = Top - Rhs + *ifirst + *mrhs - 1;
-        C2F(funs)(id);
+        //C2F(funs)(id);
         Top = tops;
 
         if (Fin == 0)
@@ -2118,7 +1923,7 @@ int C2F(scistring)(int *ifirst,char *thestring,int *mlhs,int *mrhs,unsigned long
             ils = iadr(lf) + 1;
             moutputs = *istk(ils);
             ile = ils + moutputs * nsiz + 1;
-            ret = C2F(scifunction)(ifirst, &lf, mlhs, mrhs);
+            //ret = C2F(scifunction)(ifirst, &lf, mlhs, mrhs);
         }
         else
         {
@@ -2169,145 +1974,7 @@ int C2F(getopcode)(char *string,unsigned long string_len)
 
 int C2F(scibuiltin)(int *number,int *ifun,int *ifin,int *mlhs,int *mrhs)
 {
-    int srhs, slhs;
-    int ix, k, intop, lw, pt0;
-    int imode,ireftop;
-    intop = Top;
-
-    if ( intersci_push() == 0 )
-    {
-        Scierror(999,_("%s: No more memory.\n"),"scifunction");
-        goto L9999;
-    }
-
-    Top = Top - Rhs + *number + *mrhs - 1;
-    slhs = Lhs;
-    srhs = Rhs;
-    Lhs = *mlhs;
-    Rhs = *mrhs;
-    C2F(recu).krec = -1;
-    ++C2F(recu).niv;
-    goto L90;
-    /* ***************************** copied from callinter.h  */
-
-L60:
-    C2F(parse)();
-    if (C2F(com).fun == 99) {
-        if( Err>0 ||C2F(errgst).err1>0) {
-            imode=abs(C2F(errgst).errct)/100000 % 8;
-            if (imode !=3) goto L97;
-        }
-        C2F(com).fun = 0;
-        goto L200;
-    }
-    if (Err > 0) goto L97;
-
-    if ( isRecursionCallToFunction() )
-    {
-        int gw = getRecursionGatewayToCall();
-        if (gw == END_OVERLOAD)
-        {
-            goto L96;
-        }
-        else if (gw == ERROR_GW_ID)
-        {
-            goto L89;
-        }
-        else
-        {
-            k = gw;
-        }
-        goto L95;
-    }
-
-
-L89:
-    if (Top < Rhs) {
-        Scierror(22,_("%s: Recursion problems. Sorry ...\n"),_("built in"));
-        goto L97;
-    }
-    if (Top - Rhs + Lhs + 1 >= Bot) {
-        Scierror(18,_("%s: Too many names.\n"),"");
-        goto L97;
-    }
-    /*     ireftop used to reset top if an error occurs during
-    the function evaluation*/
-    ireftop=Top-Max(0,Rhs);
-
-    goto L91;
-L90:
-    if (Err > 0)  goto L97;
-    /**/
-L91:
-    k = C2F(com).fun;
-    C2F(com).fun = 0;
-    if (k == C2F(recu).krec) {
-        Scierror(22,_("%s: Recursion problems. Sorry ...\n"),_("built in"));
-        goto L9999;
-    }
-    C2F(recu).krec = -1;
-    if (k == 0)  goto L60;
-L95:
-    if (! C2F(allowptr)(&k))  C2F(ref2val)();
-    C2F(recu).krec = k;
-    C2F(callinterf)(&k);
-    C2F(recu).krec = -1;
-    if (C2F(com).fun >= 0) {
-        if (Top - Lhs + 1 > 0) {
-            C2F(iset)(&Lhs, &cx0, &C2F(vstk).infstk[Top - Lhs], &cx1);
-        }
-        if(C2F(recu).paus > 0) goto L91;
-        if (C2F(errgst).err1 > 0) Top=ireftop;
-        goto L90;
-    }
-    /*    called interface ask for a sci function to perform the function (fun=-1)*/
-    /*     the function name is given in ids(1,pt+1) */
-    C2F(ref2val)();
-    C2F(com).fun = 0;
-    C2F(funs)(&C2F(recu).ids[(C2F(recu).pt + 1)* nsiz - nsiz]);
-    if (Err > 0)  goto L97;
-    if (C2F(com).fun > 0) {
-        if (C2F(isbyref)(&C2F(com).fun)==0) C2F(ref2val)();
-        goto L91;
-    }
-    if (Fin == 0) {
-        SciError(246);
-        if (Err > 0) goto L97;
-        goto L90;
-    }
-    ++C2F(recu).pt;
-    Fin = *Lstk(C2F(com).fin);
-    C2F(recu).rstk[C2F(recu).pt - 1] = 910;
-    C2F(recu).icall = 5;
-    C2F(com).fun = 0;
-    /*     *call*  macro */
-    goto L60;
-L96:
-    --C2F(recu).pt;
-    goto L90;
-
-L97: /* error handling */
-    if((C2F(recu).niv > 0) && (C2F(recu).paus > 0)) {
-        C2F(com).fun=0;
-        goto L60;
-    }
-    /* ************************** end of copy */
-L200:
-    Lhs = slhs;
-    Rhs = srhs;
-    --C2F(recu).niv;
-    Top = intop;
-    intersci_pop();
-    for (ix = 0 ; ix < *mlhs ; ++ix) {
-        lw = Top - Rhs + *number + ix ;
-        C2F(intersci).ntypes[lw - 1] = '$';
-    }
     return TRUE;
-L9999:
-    Top = intop;
-    --C2F(recu).niv;
-    intersci_pop();
-    return FALSE;
 }
 
 /*---------------------------------------------------------------------
@@ -2318,36 +1985,6 @@ L9999:
 
 int C2F(sciops)(int *number,int *op,int *mlhs,int *mrhs)
 {
-    int ifin, ifun, srhs= Rhs , slhs= Lhs, ix, intop=Top , lw;
-
-    Fin   = *op;
-    Top = Top - Rhs + *number + *mrhs - 1;
-    Lhs = *mlhs;
-    Rhs = *mrhs;
-
-    while (1)
-    {
-        C2F(allops)();
-        if (Err > 0) {return FALSE;} ;
-        if (C2F(com).fun == 0) break;
-        Top = intop;
-        ifun = C2F(com).fun;
-        ifin = Fin;
-        if (! C2F(scibuiltin)(number, &ifun, &ifin, mlhs, mrhs))
-        {return FALSE;} ;
-        if (Err > 0) {return FALSE;} ;
-    }
-    Lhs = slhs;
-    Rhs = srhs;
-    Top = intop;
-
-    for (ix = 1 ; ix <= *mlhs ; ++ix) {
-        lw = Top - Rhs + *number + ix - 1;
-        C2F(intersci).ntypes[lw - 1] = '$';
-    }
-    C2F(com).fun = 0;
-    Fin = *op;
-    C2F(recu).icall = 0;
     return TRUE;
 }
 
index cac115c..8ceeb4c 100644 (file)
@@ -30,7 +30,7 @@
 #include "MALLOC.h"
 #include "freeArrayOfString.h"
 
-extern int C2F(stackp)(int *id, int *macmod);
+//extern int C2F(stackp)(int *id, int *macmod);
 extern int C2F(dcopy)();
 
 /*------------------------------------------------------*/
@@ -170,7 +170,7 @@ int C2F(cwritemat)(char *namex, int *m, int *n,  double *mat, unsigned long name
   Rhs = 0;
   l4 = C2F(iop).lct[3];
   C2F(iop).lct[3] = -1;
-  C2F(stackp)(id, &cx0);
+//  C2F(stackp)(id, &cx0);
   C2F(iop).lct[3] = l4;
   Top = Top_k;
   Rhs = Rhs_k;
@@ -201,7 +201,7 @@ int C2F(cwritecmat)(char *namex,int *m, int*n,double *mat,unsigned long name_len
        Rhs = 0;
        l4 = C2F(iop).lct[3];
        C2F(iop).lct[3] = -1;
-       C2F(stackp)(id, &cx0);
+//     C2F(stackp)(id, &cx0);
        C2F(iop).lct[3] = l4;
        Top = Top_k;
        Rhs = Rhs_k;
@@ -220,7 +220,7 @@ int C2F(putvar)(int  *number,char *namex,  unsigned long name_len)
   Rhs = 0;
   l4 = C2F(iop).lct[3];
   C2F(iop).lct[3] = -1;
-  C2F(stackp)(id, &cx0_2);
+//  C2F(stackp)(id, &cx0_2);
   C2F(iop).lct[3] = l4;
   Top = Top_k;
   Rhs = Rhs_k;
@@ -378,7 +378,7 @@ int C2F(cwritechain)(char *namex, int *m, char *chai, unsigned long name_len, un
     Rhs = 0;
     l4 = C2F(iop).lct[3];
     C2F(iop).lct[3] = -1;
-    C2F(stackp)(id, &cx0);
+//    C2F(stackp)(id, &cx0);
     C2F(iop).lct[3] = l4;
     Top = Top_k ;
     Rhs = Rhs_k ;
@@ -698,7 +698,7 @@ int C2F(cwritebmat)(char *namex, int *m, int *n,  int *mat, unsigned long name_l
        Rhs = 0;
        l4 = C2F(iop).lct[3];
        C2F(iop).lct[3] = -1;
-       C2F(stackp)(id, &cx0);
+//     C2F(stackp)(id, &cx0);
        C2F(iop).lct[3] = l4;
        Top = Top_k;
        Rhs = Rhs_k;
diff --git a/scilab/modules/core/src/c/syncexec.c b/scilab/modules/core/src/c/syncexec.c
deleted file mode 100644 (file)
index 7d6b529..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2007 - INRIA - Serge STEER
- * Copyright (C) 2008 - INRIA - Bruno JOFRET
- *
- * 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-en.txt
- *
- */
-#include "syncexec.h"
-#include "callinterf.h"
-#include "stack-c.h"
-#include "core_math.h"
-#include "parse.h"
-#include "stack-def.h" /* C2F(basbrk) */
-#include "do_error_number.h"
-#include "recursionFunction.h"
-/*--------------------------------------------------------------------------*/
-#define Pt (C2F(recu).pt)
-/*--------------------------------------------------------------------------*/
-extern int C2F(bexec)();
-/*--------------------------------------------------------------------------*/
-int syncexec(char *str, int *ns, int *ierr, int *seq, long int str_len)
-{
-       
-
-       /* Local variables */
-       static int zero = 0;
-       static int one = 1;
-       int Pts, Tops;
-       static int k;
-
-       static int *Ids  = C2F(recu).ids-nsiz-1;
-       static int *Rstk = C2F(recu).rstk-1;
-       static int *Lstk = C2F(vstk).lstk-1;
-       static int *Infstk  = C2F(vstk).infstk-1;
-
-       Pt = Max(Pt,0);Pts=Pt;
-       Top = Max(Top,0);Tops=Top;
-       C2F(bexec)(str, ns, ierr, (*ns));
-       if (*ierr != 0) {
-               goto L9998;
-       }
-       /* + */
-       if (Eptover(1)) {
-               goto L9998;
-       }
-       Ids[1 + Pt * nsiz] = Lhs;
-       Ids[2 + Pt * nsiz] = Rhs;
-       Ids[3 + Pt * nsiz] = C2F(com).sym;
-       Ids[4 + Pt * nsiz] =  C2F(basbrk).interruptible;
-       C2F(basbrk).interruptible = *seq == 0;
-
-       Rstk[Pt] = 1002;
-       ++C2F(recu).niv;
-       C2F(com).fun = 0;
-       C2F(recu).icall = 5;
-
-       /* code translated from callinterf.h */
-L60:
-
-       C2F(parse)();
-
-       if (Err > 0) {
-         goto L9999;
-       }
-
-       if (C2F(com).fun == 99) {
-               C2F(com).fun = 0;
-               goto L200;
-       }
-
-       if ( isRecursionCallToFunction() )
-       {
-               int gw = getRecursionGatewayToCall();
-               if (gw == END_OVERLOAD)
-               {
-                       goto L96;
-               } 
-               else if (gw == ERROR_GW_ID)
-               {
-                       goto L89;
-               }
-               else
-               {
-                       k = gw;
-               }
-               goto L95;
-       }
-
-
-L89:
-       if (Top < Rhs) {
-               int lierr = 22;
-               SciError(lierr);
-               goto L9999;
-       }
-       if (Top - Rhs + Lhs + 1 >= Bot) {
-               int lierr = 18;
-               SciError(lierr);
-               goto L9999;
-       }
-       goto L91;
-
-L90:
-       if (Err > 0) {
-               goto L9999;
-       }
-L91:
-       k = C2F(com).fun;
-       C2F(com).fun = 0;
-       if (k == C2F(recu).krec) {
-               int lierr = 22;
-               C2F(recu).krec = -1;
-               SciError(lierr);
-               goto L9999;
-       }
-       C2F(recu).krec = -1;
-       if (k == 0) {
-               goto L60;
-       }
-L95:
-       if (! C2F(allowptr)(&k)) {
-               C2F(ref2val)();
-       }
-       C2F(recu).krec = k;
-       C2F(callinterf)(&k);
-       /*      if (k.eq.krec) krec=99999 */
-       C2F(recu).krec = -1;
-       if (C2F(com).fun >= 0) {
-               if (Top - Lhs + 1 > 0) {
-                       C2F(iset)(&Rhs, &zero, &Infstk[Top - Lhs+1], &one);
-               }
-               goto L90;
-       }
-       /*     called interface ask for a scilab function to perform the function (fun=-1) */
-       /*     the function name is given in ids(1,pt+1) */
-       C2F(ref2val)();
-       C2F(com).fun = 0;
-       C2F(funs)(&Ids[1 + (Pt + 1) * nsiz]);
-       if (Err > 0) {
-               goto L9999;
-       }
-       if (C2F(com).fun > 0) {
-               goto L91;
-       }
-       if (Fin == 0) {
-               int lierr = 246;
-               SciError(lierr);
-               if (Err > 0) {
-                       goto L9999;
-               }
-               goto L90;
-       }
-       ++Pt;
-       Fin = Lstk[C2F(com).fin];
-       Rstk[Pt] = 910;
-       C2F(recu).icall = 5;
-       C2F(com).fun = 0;
-       /*     *call*  macro */
-       goto L60;
-L96:
-       --Pt;
-       goto L90;
-       /* End of callinterf.h code */
-
-L200:
-       Lhs = Ids[1 + Pt * nsiz];
-       Rhs = Ids[2 + Pt * nsiz];
-       C2F(com).sym = Ids[3 + Pt * nsiz];
-       C2F(basbrk).interruptible = Ids[4 + Pt * nsiz];
-       --Pt;
-       --Top;
-       /* + */
-       --C2F(recu).niv;
-       *ierr = 0;
-       C2F(recu).icall = 0;
-       Fin = 3;
-       return 0;
-L9998:
-       *ierr = 1;
-       C2F(basbrk).interruptible = Ids[4 + Pt * nsiz];
-       Pt=Pts;Top=Tops;
-       return 0;
-L9999:
-       /* Err == 9999999 arises if abort has been used to terminate the callback execution */
-       if (Err != 9999999) *ierr = 1;
-       --Top;
-       --C2F(recu).niv;
-       /*
-       ** OVVERRIDE WHAT PARSE AS PUT INTO THIS
-       ** F. FLAG !!!!
-       ** We want to be interruptible after having an error
-       ** _VERY_ CRAPPY CODE
-       */
-       //C2F(basbrk).interruptible = Ids[4 + Pt * nsiz];
-       C2F(basbrk).interruptible = TRUE;
-       Pt=Pts;Top=Tops;
-       C2F(recu).icall = 0;
-       return 0;
-} /* syncexec */
-/*--------------------------------------------------------------------------*/
-
diff --git a/scilab/modules/core/src/fortran/allops.f b/scilab/modules/core/src/fortran/allops.f
deleted file mode 100644 (file)
index 8f36f5d..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-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-en.txt
-
-      subroutine allops
-c ======================================================================
-c     Calling function according to arguments type
-c ======================================================================
-      include 'stack.h'
-      integer ogettype, vt,vt1,id(nsiz),r,op,bl(nsiz)
-      logical compil,ptover
-      integer iadr
-      character tmpbuf * (bsiz)
-
-c
-      iadr(l)=l+l-1
-
-      r=0
-      if(pt.gt.0) r=rstk(pt)
-c
-      if (ddt .eq. 4) then
-         write(tmpbuf(1:12),'(3i4)') fin,pt,r
-         call basout(io,wte,' allops op:'//tmpbuf(1:4)//' pt:'
-     &    //tmpbuf(5:8)//
-     &    ' rstk(pt):'//tmpbuf(9:12))
-      endif
-c
-c     compilation allops :<5 fin rhs lhs>
-      if ( compil(5,fin,rhs,lhs,0)) then
-         if (err.gt.0) return
-         fun=0
-         return
-      endif
-c
- 01   ir=r/100
-      if(ir.eq.4) then
-         if (r.eq.401) then
-            pt=pt-1
-            call putid(syn(1),ids(1,pt))
-            pt=pt-1
-         elseif (r.eq.402) then
-            pt=pt-1
-         elseif (r.ge.403.and.r.le.407) then
-            goto 51
-         elseif (r.eq.408) then
-            goto 60
-         endif
-         return
-      endif
-      if(err1.gt.0) return
- 02   vt=0
-
-
-      if(fin.eq.2) then
-c     . insertions
-         icall=0
-         nt=2
-         vt1=abs(ogettype(top))
-         if(vt1.eq.15.or.vt1.eq.16.or.vt1.eq.17) then
-c     .     every thing can be inserted in a list
-            goto 50
-         endif
-      elseif(fin.eq.3) then
-c     .  extraction
-         if(icall.ne.4) then
-            if(rhs.le.1) then
-c     .     a() -->a
-               if (rhs.eq.0) rhs=rhs+1
-               call ref2val
-               goto 81
-            endif
-            nt=1
-            icall=0
-         else
-            icall=0
-            vt1=abs(ogettype(top))
-            if (vt1.eq.11.or.vt1.eq.13) then
-c     .        extraction reveals to be  function execution
-               il=iadr(lstk(top))
-               fin=istk(il+1)
-               top=top-1
-               rhs=rhs-1
-               if (ptover(1,psiz)) return
-               call putid(ids(1,pt),bl)
-               rstk(pt)=0
-               if (ptover(1,psiz)) return
-               call putid(ids(1,pt),bl)
-               rstk(pt)=401
-
-               icall=5
-c     .  *call* macro
-               return
-            elseif (vt1.eq.130) then
-c     .        extraction reveals to be primitive function execution
-               il=iadr(lstk(top))
-               il=iadr(istk(il+1))
-               fun=istk(il+1)
-               fin=istk(il+2)
-               top=top-1
-               rhs=rhs-1
-               if (ptover(1,psiz)) return
-               rstk(pt)=402
-               icall=9
-c     .  *call* matfns
-               return
-            else
-               if(rhs.eq.1) then
-c     .     a() -->a
-                  goto 81
-               endif
-               nt=1
-            endif
-         endif
-      else
-         call ref2val
-         nt=rhs
-      endif
-      do 03 i=1,nt
-         vt1=abs(ogettype(top+1-i))
-         if(vt1.eq.0) then
-            err=nt
-            call error(44)
-            return
-         endif
-         if(vt1.gt.vt) vt=vt1
- 03   continue
-
-c
- 04   goto (10,20,06,30,70,35,05,75,76,40,60,05,60,60,50,50,50) ,vt
-c     overloadable ops
-      if(vt.eq.129.and.fin.eq.3) goto 20
- 05   op=fin
-      goto 90
-
- 06   call error(43)
-      return
- 10   call matops
-      goto 80
- 20   call polops
-      goto 80
- 30   call logic
-      goto 80
- 35   call lspops
-      goto 80
- 40   call strops
-      goto 80
- 50   continue
-c     change rstk(pt) if necessary to avoid bad interpretation in intl_i
-      if(rstk(pt).eq.406) rstk(pt)=409
- 51   call lstops
-      if(err.gt.0.or.err1.gt.0) return
-      if(icall.eq.4) goto 02
-      goto 81
- 60   call misops
-      goto 80
- 70   call spops
-      goto 80
- 75   call intops
-      goto 80
- 76   call hndlops
-      goto 80
-
-c
- 80   if(err.gt.0.or.err1.gt.0) return
- 81   call iset(rhs,0,infstk(max(top-lhs+1,1)),1)
-      if(rstk(pt).eq.409)  rstk(pt)=406
-c
-      if(fun.ne.0) then
-c     .  appel d'un matfn necessaire pour achever l'evaluation
-         if (ptover(1,psiz)) return
-         rstk(pt)=402
-         icall=9
-c     .  *call* matfns
-         return
-      endif
-c
-      if(icall.eq.5) return
-
-      if(fin.lt.0) then
-         op=-fin
-         fin=-fin
-         goto 90
-      endif
-
-c      if(rstk(pt).eq.406.or.rstk(pt).eq.405) then
-      if(rstk(pt).eq.406) then
-c     .  list recursive extraction insertion
-         goto 51
-      endif
-      return
-
- 90   continue
-c     .  operation macro programmee ?
-      call mname(op,id)
-      if(err.gt.0.or.err1.gt.0) return
-
-      if(fun.gt.0) then
-         if (ptover(1,psiz)) return
-         rstk(pt)=402
-         icall=9
-c     .  *call* matfns
-         return
-      else
-c         call ref2val
-         fin=lstk(fin)
-         if (ptover(1,psiz)) return
-         call putid(ids(1,pt),syn)
-         rstk(pt)=0
-         if (ptover(1,psiz)) return
-         call putid(ids(1,pt),id)
-         rstk(pt)=401
-         icall=5
-c     .  *call* macro
-         return
-      endif
-c
-      end
diff --git a/scilab/modules/core/src/fortran/clause.f b/scilab/modules/core/src/fortran/clause.f
deleted file mode 100644 (file)
index 418c9e2..0000000
+++ /dev/null
@@ -1,508 +0,0 @@
-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-en.txt
-
-      subroutine clause
-c     ======================================================================
-c     gestion des structures de controle
-c     ======================================================================
-      include 'stack.h'
-      integer while(nsiz),iff(nsiz),else(nsiz),ennd(nsiz)
-      integer do(nsiz),thenn(nsiz),cas(nsiz),sel(nsiz)
-      integer elsif(nsiz),for(nsiz),try(nsiz)
-      integer semi,equal,eol,blank,comma,name,cmt
-      integer lparen,rparen
-      integer r,r1
-      logical eqid,istrue,ok,first,eptover
-      character tmpbuf * (bsiz)
-      parameter (nz1=nsiz-1,nz2=nsiz-2)
-      parameter (iif=1,iwhile=2,iselect=3)
-      data semi/43/,equal/50/,eol/99/,blank/40/
-      data comma/52/,name/1/,cmt/2/
-      data lparen/41/,rparen/42/
-      data do/673716237,nz1*673720360/, else/236721422,nz1*673720360/
-      data ennd/671946510,nz1*673720360/
-      data iff/673713938,nz1*673720360/
-      data thenn/386797853,nz1*673720360/
-      data while/353505568,673720334,nz2*673720360/
-      data cas/236718604,nz1*673720360/
-      data sel/236260892,673717516,nz2*673720360/
-      data elsif/236721422,673713938,nz2*673720360/
-      data try/ 673323805,nz1*673720360/
-      data for/672864271,nz1*673720360/
-
-
-
-c     
-      r = -fin-10
-      fin = 0
-      r1=0
-      if(pt.gt.0) r1=rstk(pt)
-c     
-      if (ddt .eq. 4) then
-         write(tmpbuf(1:12),'(3i4)') pt,r1,r
-         call basout(io,wte,' clause pt:'//tmpbuf(1:4)//' rstk(pt):'//
-     &        tmpbuf(5:8)//' -fin-10:'//tmpbuf(9:12))
-      endif
-c     
-      if(r.le.0.and.pt.le.0) then
-         call error(34)
-         return
-      endif
-      go to (02,30,30,55,30,55,55,70,80),r
-c     
-      r = rstk(pt)
-      ir=r/100
-      if(ir.ne.8) goto 99
-      goto(05,15,40,45,55,65,46,75),r-800
-      goto 99
-c     
-c     for
-c     
- 02   call getsym
-      if ( eptover(2,psiz))  return
-      pstk(pt-1)=0
-      rstk(pt-1)=0
-      if (sym .ne. name) then
-         if (sym. eq. lparen) then
-c     .  for matlab compatiblity  for (k=1:n)
-            call getsym
-            pstk(pt-1)=1
-         else
-            call error(34)
-            return
-         endif
-      endif
-      call putid(ids(1,pt),syn)
-      call getsym
-      if (sym .ne. equal) then
-         call error(34)
-         return
-      endif
-      call getsym
-      if(comp(1).ne.0) then
-         rstk(pt) = 800
-         call compcl(0)
-         if(err.gt.0.or.err1.gt.0) return
-      endif
-      rstk(pt) = 801
-      icall=1
-c     *call* expr
-      return
- 05   continue
-      if(err1.gt.0) goto 20
-      if(comp(1).ne.0) call compcl(0)
-      if(err.gt.0.or.err1.gt.0) return
-      if (pstk(pt-1).eq.1) then
-c     .  for matlab compatiblity: for (k=1:n)
-         if (sym. eq. rparen) then
-            call getsym
-         else
-            call error(3)
-            return
-         endif
-      endif
-      pstk(pt-1) = 0
-      ids(1,pt-1)=top
-      if (eqid(syn,do)) then
-         sym=comma
-         if(char1.eq.eol) call getsym
-      endif
-      if(sym.eq.comma.or.sym.eq.semi) then
-         sym = semi
-         pstk(pt) = lpt(4) - 1
-      elseif( sym.eq.cmt) then
-         call parsecomment
-         sym=semi
-         pstk(pt) = lpt(4)
-      elseif( sym.eq.eol) then
-         sym=semi
-         pstk(pt) = lpt(4)
-      elseif(lin(lpt(3)-2).eq.blank) then
-         sym=semi
-         lpt(4)=lpt(3)-1
-         pstk(pt) = lpt(4)
-         char1=blank
-      else
-         call error(34)
-         return
-      endif
-c     on recherche le "end" pour s'assurer que toutes les lignes relatives 
-c     sont chargee (pb des matrices sur plusieurs lignes)
-      call skpins(1) 
-      if(err.gt.0.or.err1.gt.0) return
-      first=.true.
- 10   if(top.ne.ids(1,pt-1)) then 
-         call error(115)
-         return
-      endif
-      call nextj(ids(1,pt),pstk(pt-1))
-      if(err.gt.0.or.err1.gt.0) return
-      if(pstk(pt-1).eq.0) goto  20
-      first=.false.
-      lpt(4) = pstk(pt)
-      char1 = blank
-      rstk(pt) = 802
-      icall=7
-c     *call* parse
-      return
- 15   continue
-      if(err1.gt.0.and.catch.eq.0) then
-        
-c     .  remove variable associated to the expression and skip to the end
-         top=ids(1,pt-1)-1
-         goto 20
-      endif
-      if(comp(1).eq.0) goto 10
-      call compcl(0)
-      if(err.gt.0.or.err1.gt.0) return
-c     
-c     fin for
- 20   continue
-      pt = pt-2
-      icall=7
-c      char1 = blank
-      return
-c     
-c     while  if  select/case or if/elseif
-c   
- 30   if ( eptover(1,psiz)) return
-      if (eqid(syn,while))  then
-         ids(1,pt)=iwhile
-      elseif(eqid(syn,sel))  then
-         ids(1,pt)=iselect
-      else
-         ids(1,pt)=iif
-      endif
-      if(char1.eq.eol.or.char1.eq.comma.or.char1.eq.semi) then
-         call error(34)
-         return
-      endif
-C      call putid(ids(1,pt),syn)
-
-      pstk(pt) = lpt(4)-1
-
-      if(ids(1,pt).eq.iwhile) then
-c     .  while, look for the end to be sure all lines are loaded
-         call skpins(1)
-         if(err.gt.0.or.err1.gt.0) return
-      endif
- 35   lpt(4) = pstk(pt)
-      pstk(pt)=lpt(4)
-      char1 = blank
-      call getsym
-      rstk(pt)=803
-      if(comp(1).ne.0) call compcl(0)
-      if(err.gt.0.or.err1.gt.0) return
-      goto 37
- 36   rstk(pt) = 803
-      call getsym
- 37   icall=1
-c     *call* expr
-      return
- 40   if (ids(1,pt).ne.iselect) goto 46
-c     select expression evaluated
- 41   continue
-c     skip following commas or semi columns if any
-      if(sym.eq.comma.or.sym.eq.semi) then
-         call getsym
-         goto 41
-      endif
-c     end of line reached?
-      if(sym.eq.eol.or.sym.eq.cmt) then
-         if(sym.eq.cmt) call parsecomment
-         if(macr.gt.0.and.lin(lpt(4)+1).eq.eol) then
-            call error(47)
-            return
-         endif
-         if(comp(1).ne.0) call seteol()
-c    .    get the following line
-         if(lpt(4).eq.lpt(6))  then
-            call getlin(1,0)
-         else
-            lpt(4)=lpt(4)+1
-            char1=blank
-         endif
-         call getsym
-         goto 41
-      endif
-c     looking for the "case" keyword
-
-      if(sym.eq.name) then
-         if (eqid(syn,cas)) then
-            rstk(pt)=807
-            if(comp(1).ne.0) then
-               call compcl(0)
-               if(err.gt.0.or.err1.gt.0) return
-            endif
-         else
-            call error(35)
-            return
-         endif    
-      elseif(lin(lpt(3)-2).eq.blank) then
-         sym=semi
-         lpt(4)=lpt(3)-1
-         char1=blank
-         goto 41
-      else
-         call error(35)
-         return
-      endif   
-
- 42   if(comp(1).eq.0) then
-c     recopie de la premiere expression
-         l=lstk(top)
-         l1=lstk(top+1)
-         if(top+2.ge.bot) then
-            call error(18)
-            if(err.gt.0) return
-         endif
-         err=lstk(top+1)+l1-l-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            if(err.gt.0) return
-         endif
-         call unsfdcopy(l1-l,stk(l),1,stk(l1),1)
-         top=top+1
-         lstk(top+1)=lstk(top)+l1-l
-      endif
- 43   call getsym
-      rstk(pt) = 804
-      icall=1
-c     *call* expr
-      return
- 45   continue
-      if(comp(2).ne.0) goto 46
-      rstk(pt)=807
-      fin = equal
-      rhs=2
-      icall=4
-c     *call* allops(==)
-      return
- 46   if (eqid(syn,do) .or. eqid(syn,thenn)
-     &     .or.sym.eq.comma.or.sym.eq.semi.or.sym.eq.eol) then
-         sym = semi
-      elseif(sym.eq.cmt) then
-         call parsecomment
-         sym = semi
-      elseif(lin(lpt(3)-2).eq.blank) then
-c     .  added for matlab compatibility (then or , is not mandatory)
-         sym=semi
-         lpt(4)=lpt(3)-1
-         char1=blank
-      else
-         call error(35)
-         return
-      endif
-      if(comp(1).ne.0) goto 48
-c     comparaison ...
-      ok=istrue(1)
-      if(err.gt.0.or.err1.gt.0) return
-      if(ok) then
-         goto 50
-      else
-         call skpins(0)
-         if(err.gt.0.or.err1.gt.0) return
-         if(eqid(syn,else)) goto 60
-         if(eqid(syn,elsif)) then
-            if(ids(1,pt).ne.iif) then
-               call error(34)
-               return
-            endif
-            goto 36
-         endif
-         if(eqid(syn,cas)) then
-            if(ids(1,pt).ne.iselect) then
-               call error(34)
-               return
-            endif
-            goto 42
-         endif
-         if(eqid(syn,ennd)) goto 66
-      endif
- 48   rstk(pt)=804
-      call  compcl(0)
-      if(err.gt.0.or.err1.gt.0) return
-c     
-c     then
-c     --------
- 50   toperr=top
-      rstk(pt) = 805
-      icall=7
-c     *call* parse
-      return
- 55   continue
-      if(rstk(pt).ne. 805) then
-         call error(34)
-         return
-      endif
-      if(comp(1).eq.0) then
-         if (ids(1,pt).eq.iwhile) go to 35
-         if(.not.eqid(syn,ennd)) then
-            call skpins(1)
-            if(err.gt.0.or.err1.gt.0) return
-         endif
-      else
-         call compcl(0)
-         if(err.gt.0.or.err1.gt.0) return
-         if(eqid(syn,else)) goto 60
-         if(eqid(syn,elsif)) goto 36
-         if(eqid(syn,cas))  goto 43
-      endif
-      goto 66
-c     
-c     else
-c     ---------
- 60   rstk(pt) = 806
-      icall=7
-c     *call parse*
-      return
- 65   if(comp(1).ne.0) then
-         call compcl(0)
-         if(err.gt.0.or.err1.gt.0) return
-      endif
-      goto 66
-c     
-c     fin if ou while ou select
-c------------------------------
- 66   if(ids(1,pt).eq.iselect.and.comp(1).eq.0) top=top-1
-      pt=pt-1
-      icall=7
-      return
-c     
-c     try
-c---------
- 70   continue
-      if ( eptover(1,psiz)) return
-      rstk(pt)=808
-      if(comp(1).ne.0) then
-         ids(1,pt)=0
-         call compcl(1)
-         if(err.gt.0.or.err1.gt.0) return
-      else
-c     .  set error control mode
-         pstk(pt)=top
-         ids(2,pt)=errct
-         ids(3,pt)=err2
-         ids(4,pt)=err1
-         ids(5,pt)=errpt
-         ids(6,pt)=(lct(4)+100)+10000*sym
-         errpt=pt
-         ids(1,pt)=1
-         imode=1
-         imess=1
-         errct=-((8*imess+imode)*100000+1)
-      endif
-      
-      ic=char1
-      isym=sym
-      call getsym
-c     end of line reached?
-      if(sym.eq.eol.or.sym.eq.cmt) then
-         if(sym.eq.cmt) call parsecomment
-         if(comp(1).ne.0) call seteol()
-c    .    get the following line
-         if(lpt(4).eq.lpt(6))  then
-            call getlin(1,0)
-         else
-            lpt(4)=lpt(4)+1
-            char1=blank
-         endif
-      else
-c     ones symbol back
-         lpt(4)=lpt(3)
-         sym=isym
-         char1=ic
-      endif
-      icall=7
-
-c     *call* parse (for the try instructions)
-      return
- 75   continue
-
-c     end of try reached or an error occurred
-      if (max(err2,err1).gt.0) then
-c     .  an error occured in the try part 
-c     .  skip remaining instructions up to catch or end keywords
-         errct=-1
-         call skpins(0)
-         errct=ids(2,pt)
-         err2=ids(3,pt)
-         err1=ids(4,pt)
-         errpt=ids(5,pt)
-         sym=ids(6,pt)/10000
-         lct(4)=ids(6,pt)-10000*sym-100
-         top=toperr
-         if(eqid(syn,ennd)) then
-c     .     no catch keyword  "try catch" finished
-            goto 76
-         endif
-c     .  execute catch  instructions
-         icall=7
-c     * call* parse
-         return
-      else
-c     .  end of try without error (or end of catch)
-         if(comp(1).eq.0) then
-            errct=ids(2,pt)
-            err2=ids(3,pt)
-            err1=ids(4,pt)
-            errpt=ids(5,pt)
-            sym=ids(6,pt)/10000
-            lct(4)=ids(6,pt)-10000*sym-100
-         else
-            call compcl(3)
-            if(err.gt.0.or.err1.gt.0) return
-         endif
-      endif
- 76   pt=pt-1
-      icall=7
-c     *call* parse
-      return
-
-c     
-c     catch
-c---------
- 80   continue
-      if(rstk(pt).ne.808) then
-         call error(34)
-         return
-      endif
-      if(comp(1).ne.0) then
-         call compcl(2)
-         if(err.gt.0.or.err1.gt.0) return
-         icall=7
-c     *call* parse
-         return
-      endif
-
-C       if (max(err2,err1).gt.0) then
-C c     .  an error occured in the try part, execute next instructions
-C          errct=ids(2,pt)
-C          err2=ids(3,pt)
-C          err1=ids(4,pt)
-C          errpt=ids(5,pt)
-C          icall=7
-
-C c     *call* parse
-C          return
-C       else
-
-c     .  no error occured in the try part, skip next instructions
-         if(.not.eqid(syn,ennd)) then
-            call skpins(1)
-            if(err.gt.0.or.err1.gt.0) return
-            goto 75
-         endif
-C       endif
-
-c
- 99   call error(34)
-      if (err .gt. 0) return
-      return
-      end
diff --git a/scilab/modules/core/src/fortran/command.f b/scilab/modules/core/src/fortran/command.f
deleted file mode 100644 (file)
index b070cfe..0000000
+++ /dev/null
@@ -1,536 +0,0 @@
-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-en.txt
-
-      subroutine command(id)
-C     ====================================================================
-C     Scilab Command and Keyword
-C     ====================================================================
-C     id(nsiz) coded name of the command
-      include 'stack.h'
-      logical compil
-C
-      integer lunit,mode(2)
-      double precision x
-      integer ix(2)
-      equivalence (x,ix(1))
-C
-      integer cmdl
-      parameter (cmdl = 29)
-      parameter (nz1 = nsiz-1, nz2 = nsiz-2, nz3 = nsiz-3)
-      parameter (iif=1,iwhile=2,iselect=3)
-C
-      integer cmd(nsiz,cmdl),blank
-      integer id(nsiz)
-      integer func(nsiz)
-      integer semi,comma,eol,lparen,slash
-      integer count,equal,nchar,pchar
-      logical eqid,cremat
-      integer iadr
-C
-      data eol/99/,semi/43/,comma/52/,lparen/41/,equal/50/,slash/48/
-      data blank/40/
-      data func/202841615,387453469,nz2*673720360/
-
-C     if, else, for, while, end, select, case, quit, quit, return
-      data ((cmd(i,j), i = 1,nsiz), j = 1,10)/
-     &     673713938,nz1*673720360,
-     &     236721422,nz1*673720360,
-     &     672864271,nz1*673720360,
-     &     353505568,673720334,nz2*673720360,
-     &     671946510,nz1*673720360,
-     $     236260892,673717516,nz2*673720360,
-     &     236718604,nz1*673720360,
-     $     487726618,nz1*673720360,
-     $     487726618,nz1*673720360,
-     $     505220635,673715995,nz2*673720360/
-C     help, what, who, pause, clear, resume, then, do, apropos, abort
-      data ((cmd(i,j), i = 1,nsiz), j = 11,20)/
-     &     420810257,nz1*673720360,
-     &     487199008,nz1*673720360,
-     &     672665888,nz1*673720360,
-     &     471730713,673720334,nz2*673720360,
-     &     168695052,673720347,nz2*673720360,
-     &     505155099,673713686,nz2*673720360,
-     &     386797853,nz1*673720360,
-     &     673716237,nz1*673720360,
-     &     404429066,672929817,nz2*673720360,
-     &     454560522,673720349,nz2*673720360/
-C     break, elseif, pwd, function, endfunction, clc, continue, try, catch
-      data ((cmd(i,j), i = 1,nsiz), j = 21,29)/
-     &     168696587,673720340,nz2*673720360,
-     &     236721422,673713938,nz2*673720360,
-     &     671948825,nz1*673720360,
-     &     202841615,387453469,nz2*673720360,
-     &     252516110,487331614,672602130,nz3*673720360,
-     &     671880460,nz1*673720360,
-     &     488052748,236853010,nz2*673720360,
-     &     673323805,nz1*673720360,
-     &     203229708,673720337,nz2*673720360/
-C
-
-      iadr(l) = l + l - 1
-C
-      if (ddt .eq. 4) then
-         call cvname(id,buf,1)
-         call basout(io,wte,' command   : '//buf(1:nlgh))
-      endif
-C
-      kcont=27
-      kbrk=21
-
-      fun = 0
-
-
-      do 10 k = 1,cmdl
-         if (eqid(id,cmd(1,k))) then
-            if(k.eq.15.or.(k.ge.11.and.k.le.13).or.k.eq.19.or.
-     *           k.eq.26) goto 11
-            goto 15
-         endif
- 10   continue
-
-c     form function like call
-      fin = 0
-      nchar=lin(lpt(4))
-      if(char1.eq.comma.or.char1.eq.semi.or.char1.eq.eol) goto 11
-      if (char1.eq.slash.and.lin(lpt(4)).eq.slash) goto 11
-      if(lpt(4).ge.2) then
-         pchar=lin(lpt(4)-2)
-         if(pchar.ne.blank) return
-      endif
- 11   continue
-
-      fin=0
-      if(char1.eq.lparen.or.char1.eq.equal) return
-
-      if (comp(1).eq.0) then
-         rhs=0
-         fin=-1
-
-         call stackg(id)
-         if (fin.gt.0) then
-            ityp=abs(istk(iadr(lstk(fin))))
-            if (ityp.ne.11.and.ityp.ne.13.and.ityp.ne.130) then
-               fin=0
-               return
-            endif
-         endif
-      endif
-
-c     id has been found in the stack, it is not useful to scan funtab
-      if (fin.gt.0) fin=-4
-      call funs(id)
-      if(fin.eq.0) then
-         if(comp(1).eq.0) then
-            fin=-4
-            call funs(id)
-            if(fin.eq.0) return
-            sym=char1
-            call cmdstr
-         else
-            sym=char1
-            call cmdstr
-            fin=-2
-            call stackg(id)
-            if(err.gt.0) return
-            fun=-1
-         endif
-      else
-         if(char1.eq.comma.or.char1.eq.semi.or.char1.eq.eol) then
-            sym=char1
-            return
-         endif
-         if (char1.eq.slash.and.lin(lpt(4)).eq.slash) then
-            sym=comma
-            return
-         endif
-         call cmdstr
-      endif
-
-      return
-C
- 15   if (fin .eq. -1) return
-C
-      fin = 1
-C     mots cles if  then else for do  while end case selec
-      goto (32,33,30,31,35,36,37) k
-      goto (42,42) k-16
-C
-      goto (50,50,45,16,16,16,20,16,45,16,
-     &     16,16,120,130,38,140,150,16,16,130,160,170) k-7
- 16   call error(16)
-      return
-C
-C     -----
-C     pause
-C     -----
-C
- 20   continue
-c     if special compilation mode skip  commands
-      if (comp(3).eq.1) then
-         fin=0
-         fun=0
-         return
-      endif
-      if (char1.ne.eol .and. char1.ne.comma .and. char1.ne.semi) then
-         if (.not.(char1.eq.slash.and.lin(lpt(4)).eq.slash)) then
-            call error(16)
-            return
-         endif
-      endif
-C     compilation de pause:<12>
-      if (compil(12,0,0,0,0)) return
-      fin = 3
-      goto 999
-C
-
-C
-C     ---------------------------------------
-C     for, while, if, else, end, select, case, elseif
-C     ---------------------------------------
-C
- 30   fin = -11
-      goto 999
- 31   fin = -12
-      goto 999
- 32   fin = -13
-      goto 999
- 33   fin = -14
-      if (pt .eq. 0) then
-         goto 42
-      elseif (abs(rstk(pt)) .ne. 805) then
-         goto 42
-      endif
-      goto 999
- 35   fin = -10
-      if (pt .eq. 0) then
-         goto 42
-      elseif (abs(rstk(pt)).ne.805 .and. abs(rstk(pt)).ne.802 .and.
-     &        abs(rstk(pt)).ne.806 .and. abs(rstk(pt)).ne.808 ) then
-         goto 42
-      endif
-      goto 999
- 36   fin = -15
-      goto 999
- 37   fin = -16
-      if (pt .eq. 0) then
-         goto 42
-      elseif (abs(rstk(pt)).ne.805 .or. ids(1,pt).ne.iselect) then
-         goto 42
-      endif
-      goto 999
- 38   fin = -17
-      if (pt .eq. 0) then
-         goto 42
-      elseif (abs(rstk(pt)) .ne. 805) then
-         goto 42
-      endif
-      goto 999
-C
- 42   call error(34)
-      return
-C
-C     -------------
-C     return/resume
-C     -------------
-C
- 45   continue
-      if (char1 .eq. lparen) then
-C     return/resume avec rhs et sans lhs --> fonction et non commande
-         fin = 0
-         goto 999
-      endif
-C     compilation return:<99>
-      if (compil(99,0,0,0,0)) return
- 46   continue
-      k = lpt(1) - (13+nsiz)
-      if (pt.eq.0 .or. k.le.0) goto 998
-      pt = pt + 1
- 47   pt = pt - 1
-      if (pt .eq. 0) goto 48
-      if (rstk(pt).eq.802 .or. rstk(pt).eq.612 .or.
-     &     (rstk(pt).eq.805.and.ids(1,pt).eq.iselect) .or.
-     &     (rstk(pt).eq.616.and.pstk(pt).eq.10)) top = top - 1
-      ir = rstk(pt) / 100
-      if (ir .ne. 5) goto 47
- 48   continue
-      fin = 2
-      lhs = 0
-      goto 999
-C
-C     -------------
-C     quit
-C     -------------
-C
- 50   continue
-c     if special compilation mode skip  commands
-      if (comp(3).eq.1) then
-         fin=0
-         fun=0
-         return
-      endif
-C     compilation quit:<17>
-      if (compil(17,0,0,0,0)) return
-      if (paus .ne. 0) then
-C     quit dans une pause, decrease recursion level up to the pause one
-         pt = pt + 1
- 51      pt = pt - 1
-c     .  suppress loop variables if any
-         if (rstk(pt).eq.802 .or. rstk(pt).eq.612 .or.
-     &        (rstk(pt).eq.805.and.ids(1,pt).eq.iselect) .or.
-     &        (rstk(pt).eq.616.and.pstk(pt).eq.10)) top = top - 1
-         if (rstk(pt) .ne. 503) goto 51
-c
-C$$$         k = lpt(1) - (13+nsiz)
-C$$$         lpt(1) = lin(k+1)
-C$$$         lpt(2) = lin(k+4)
-C$$$         lpt(6) = k
-C$$$         bot = lin(k+5)
-C$$$         pt = pt - 1
-C$$$         rio = pstk(pt)
-C$$$         if (rstk(pt) .eq. 701.or.rstk(pt).eq.604) then
-C$$$            errct=ids(2,pt+1)
-C$$$            err2=ids(3,pt+1)
-C$$$            err1=ids(4,pt+1)
-C$$$            errpt=ids(5,pt+1)
-C$$$            pt = pt - 1
-C$$$         endif
-C$$$         paus = paus - 1
-C$$$         goto 46
-c     recall macro to terminate the pause level
-         fun=0
-         fin=2
-         return
-      else
-C     quit (sortie)
-         fun = 99
-      endif
-      goto 998
-
-C
-C     pwd
-C     ---
- 140  continue
-      if(char1.eq.lparen) then
-         fin=0
-         fun=0
-         return
-      endif
-c     if special compilation mode skip  commands
-      if (comp(3).eq.1) then
-         fin=0
-         fun=0
-         return
-      endif
-      fun=34
-c     if you modify pwd position in fileio gateway , you need change fin
-      fin=31
-      rhs=0
-      return
-C
-
-C
-C     abort
-C     -----
-C
- 120  continue
-c     if special compilation mode skip  commands
-      if (comp(3).eq.1) then
-         fin=0
-         fun=0
-         return
-      endif
-      if (compil(14,0,0,0,0)) return
-C     compilation abort:<14>
-      pt = pt + 1
- 121  pt = pt - 1
-      if (pt .eq. 0) goto 122
-      if (int(rstk(pt)/100) .eq. 5) then
-         k = lpt(1) - (13+nsiz)
-         lpt(1) = lin(k+1)
-         lpt(2) = lin(k+2)
-         lpt(3) = lin(k+3)
-         lpt(4) = lin(k+4)
-         lct(4) = lin(k+6)
-         lpt(6) = k
-         if (rstk(pt) .le. 502) then
-c     . abort in a  macro  an execstr or external
-            if(pt.gt.1) then
-               if(rstk(pt-1).eq.1002) then
-c     .         abort in syncexec, make current parser finish
-                  fin = 4
-                  fun = 99
-                  macr=macr-1
-                  lct(8) = 0
-                  lct(4)=pstk(pt)
-                  pt = pt-1
-                  goto 999
-               elseif(rstk(pt-1).ne.903.and.rstk(pt-1).ne.909.and.
-     $                 rstk(pt-1).ne.706) then
-c     .         abort in a macro
-                  bot = lin(k+5)
-               endif
-            else
-c     .      abort in a macro
-               bot = lin(k+5)
-            endif
-         elseif (rstk(pt) .eq. 503) then
-            if (rio .eq. rte) then
-c     .     abort in a pause
-               rio = pstk(pt-1)
-               paus = paus - 1
-               bot = lin(k+5)
-            else
-c     .     abort in an exec
-               mode(1)=0
-               call clunit(-rio,buf,mode)
-               rio = pstk(pt-1)
-            endif
-         endif
-      elseif  (rstk(pt) .eq. 808) then
-c     .  abort in a try, reset the error control modes
-         errct=ids(2,pt)
-         err2=ids(3,pt)
-         err1=ids(4,pt)
-         errpt=ids(5,pt)
-         sym=ids(6,pt)/10000
-         lct(4)=ids(6,pt)-10000*sym-100
-      elseif  (rstk(pt) .eq. 1001) then
-c     .  abort in an external unstack it
-         niv=niv-1
-      endif
-      goto 121
- 122  continue
-      lct(8) = 0
-      fin = 4
-      comp(1) = 0
-      if (niv .gt. 0) err = 9999999
-      goto 999
-C
-C     break, continue
-C------
- 130  continue
-      kcmd=k
-c     if special compilation mode skip  commands
-      if (comp(3).eq.1) then
-         fin=0
-         fun=0
-         return
-      endif
-      if(kcmd.eq.kcont) then
-C     compilation de continue:<13>
-         if(compil(28,0,0,0,0)) return
-      else
-C     compilation de break:<13>
-         if (compil(13,0,0,0,0)) return
-      endif
-      count = 0
-      pt = pt + 1
- 131  pt = pt - 1
-      if (pt .eq. 0) then
-         pt = 1
-         call putid(ids(1,pt+1),cmd(1,kcmd))
-         call error(72)
-         return
-      endif
-C
-      ir = rstk(pt) / 100
-c     96
-      if (ir .eq. 5) then
-c     .  pt+1 used instead of pt not to modify the recursion pointer stored in ids
-         call putid(ids(1,pt+1),cmd(1,kcmd))
-         call error(72)
-         return
-      endif
-c
-      if (ir .ne. 8) goto 131
-      count = count + 1
-      if (rstk(pt) .eq. 802) then
-C     .  break or continue in a for loop
-         if (kcmd.eq.kbrk) then
-            top = top - 1
-            pt = pt - 2
-         endif
-      elseif(ids(1,pt).eq.iselect) then
-c     .  discard select variable
-         top = top - 1
-         goto 131
-      elseif (ids(1,pt).eq.iwhile) then
-C     .  break or continue in a  while
-         if (kcmd.eq.kbrk) pt = pt - 1
-      elseif (int(rstk(pt)/100) .eq. 5) then
-         call putid(ids(1,pt+1),cmd(1,kcmd))
-         call error(72)
-         return
-      else
-         goto 131
-      endif
- 132  continue
-c     call getsym
-      call skpins(1)
-      count = count - 1
-      if (count .gt. 0) goto 132
-C     char1=blank
-      if (kcmd.eq.kbrk) then
-         fin = 1
-      else
-         fin = -10
-      endif
-      return
-
-
- 150  if (eqid(id,func)) then
-c     .  inline function definition
-         call getfunction
-         if(err.gt.0) return
-         call getsym
-         rhs=2
-c     . add an third argument to deff, to notify that it is called by function
-         if (comp(1).eq.0) then
-            top=top+1
-            if (.not.cremat('function',top,0,1,1,lr,lc)) return
-            stk(lr)=1.0
-
-         else
-            x=1.0
-            if (.not.compil(6,ix,0,0,0)) return
-         endif
-         rhs=3
-         lhs=1
-c         *call* deff
-         fun=31
-         fin=2
-         go to 999
-      endif
-
-c
- 160  continue
-c     try
-      fin = -18
-      goto 999
-c
- 170  continue
-c     catch
-      fin = -19
-      goto 999
-
-C
-C
-C     fin
-C     ---
-C
- 998  continue
-      fin = 0
-      call getsym
-      fin = 1
-C
- 999  continue
-      lunit = 0
-      end
-
index bcb27c6..75c5372 100644 (file)
@@ -73,7 +73,6 @@ cd .."/>
                <Filter Name="Library Dependencies"/>
                <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"/>
                <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
-               <File RelativePath="allops.f"/>
                <File RelativePath="allowptr.f"/>
                <File RelativePath="atome.f"/>
                <File RelativePath="basin.f"/>
@@ -82,11 +81,9 @@ cd .."/>
                <File RelativePath="btof.f"/>
                <File RelativePath="btofm.f"/>
                <File RelativePath="chkvar.f"/>
-               <File RelativePath="clause.f"/>
                <File RelativePath="clunit.f"/>
                <File RelativePath="cmdstr.f"/>
                <File RelativePath="cmplxt.f"/>
-               <File RelativePath="command.f"/>
                <File RelativePath="compcl.f"/>
                <File RelativePath="compil.f"/>
                <File RelativePath="copyvar.f"/>
@@ -101,13 +98,11 @@ cd .."/>
                <File RelativePath="error.f"/>
                <File RelativePath="expsum.f"/>
                <File RelativePath="extlarg.f"/>
-               <File RelativePath="fact.f"/>
                <File RelativePath="find.f"/>
                <File RelativePath="findequal.f"/>
                <File RelativePath="folhp.f"/>
                <File RelativePath="ftob.f"/>
                <File RelativePath="funnam.f"/>
-               <File RelativePath="funs.f"/>
                <File RelativePath="getch.f"/>
                <File RelativePath="getfun.f"/>
                <File RelativePath="getfunction.f"/>
@@ -129,32 +124,25 @@ cd .."/>
                <File RelativePath="itosci.f"/>
                <File RelativePath="logops.f"/>
                <File RelativePath="lst2vars.f"/>
-               <File RelativePath="macro.f"/>
                <File RelativePath="majmin.f"/>
                <File RelativePath="matc.f"/>
                <File RelativePath="matz.f"/>
                <File RelativePath="matzs.f"/>
-               <File RelativePath="misops.f"/>
                <File RelativePath="mkindx.f"/>
                <File RelativePath="mklist.f"/>
-               <File RelativePath="mname.f"/>
                <File RelativePath="mrknmd.f"/>
                <File RelativePath="nextj.f"/>
                <File RelativePath="prompt.f"/>
-               <File RelativePath="ptover.f"/>
                <File RelativePath="ptrback.f"/>
                <File RelativePath="putid.f"/>
                <File RelativePath="ref2val.f"/>
                <File RelativePath="savlod.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_argn.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_clear.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_clearglobal.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_comp.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_debug.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_delbpt.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_dispbpt.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_errcatch.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_global.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_ieee.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_intppty.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_iserror.f"/>
@@ -163,9 +151,7 @@ cd .."/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_macrovar.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_mtlb_mode.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_predef.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_resume.f"/>
                <File RelativePath="..\..\sci_gateway\fortran\sci_f_setbpt.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_useascommand.f"/>
                <File RelativePath="seteol.f"/>
                <File RelativePath="setgetmode.f"/>
                <File RelativePath="setippty.f"/>
@@ -178,7 +164,6 @@ cd .."/>
                <File RelativePath="stackg.f"/>
                <File RelativePath="stackgl.f"/>
                <File RelativePath=".\stacki2d.f"/>
-               <File RelativePath="stackp.f"/>
                <File RelativePath=".\stackr2d.f"/>
                <File RelativePath="storeglobal.f"/>
                <File RelativePath="termf.f"/>
diff --git a/scilab/modules/core/src/fortran/fact.f b/scilab/modules/core/src/fortran/fact.f
deleted file mode 100644 (file)
index 7090765..0000000
+++ /dev/null
@@ -1,821 +0,0 @@
-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-en.txt
-
-      subroutine fact
-c     ======================================================================
-c     analyseur de facteurs
-c     ======================================================================
-c     
-      include 'stack.h'
-c     
-      parameter (nz1=nsiz-1,nz2=nsiz-2)
-      logical eptover
-      integer r,excnt,psym,p,count,v
-      integer id(nsiz),op,fun1
-      integer star,dstar,semi,eol,blank,percen
-      integer comma,lparen,rparen,hat,dot,equal
-      integer quote,left,right,colon,not
-      integer num,name,cmt
-      integer cconc,extrac,rconc
-      logical recurs,compil,dotsep,nullarg,ok
-      integer setgetmode
-      integer minus,plus
-      integer iadr,sadr
-      character tmpbuf * (bsiz)      
-      
-      data star/47/,dstar/62/,semi/43/,eol/99/,blank/40/,percen/56/
-      data comma/52/,lparen/41/,rparen/42/, hat/62/,dot/51/,equal/50/
-      data quote/53/,left/54/,right/55/,colon/44/,not/61/
-      data minus/46/,plus/45/
-      data num/0/,name/1/,cmt/2/
-      data cconc/1/,extrac/3/,rconc/4/
-      
-      
-c
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-
-      r = rstk(pt)
-c     
-      if (ddt .eq. 4) then
-         write(tmpbuf(1:12),'(3i4)') pt,r,sym
-         call basout(io,wte,' factor pt:'//tmpbuf(1:4)//' rstk(pt):'//
-     &        tmpbuf(5:8)//' sym:'//tmpbuf(9:12))
-      endif
-c     
-      nullarg=.true.
-      dotsep=.false.
-      ir=r/100
-      if(ir.ne.3) goto 01
-      goto(25,26,91,29,99,52,43,48,55,62,65,66,41),r-300
-      goto 99
-c     
- 01   continue
-c     next test added to handle syntax like a*-b... or a*--+b....  for Matlab
-c     compatiblity
-      count=0
- 02   continue
-      if (sym.eq.minus) then
-         count=-count+1
-         call getsym
-         goto 02
-      elseif (sym.eq.plus) then
-         call getsym
-         goto 02
-      endif
-      if(count.ne.0) then
-c     .  memorize sign change to be applied at the end of the factor
-         if ( eptover(1,psiz-1))  return
-         rstk(pt)=303
-      endif
-
-      if (sym.eq.left) go to 20
-      if (sym.eq.quote) go to 15
-      if (sym.eq.num) go to 10
-      excnt = 0
-      if (sym .eq. name) go to 30
-      if (sym .eq. colon) then
-         call getsym
-c     call eye()
-         if(comp(1).ne.0) then
-            if (compil(21,0,0,0,0)) then 
-               if (err.gt.0) return
-            endif
-         endif
-         fun=6
-         fin=13
-         rhs=0
-         goto 53
-      endif
-      id(1) = blank
-      if (sym .eq. lparen) go to 36
-
-      if(err1.gt.0) then
-c     .  check for error in short circuit skip mode
-         p=pt-5
-         if(p.gt.0.and.rstk(p).eq.106) then
-c     .     in short circuit skip mode
-            if(int(abs(-errct)/100000).ne.0.and.err1.ne.9191919) then
-c     .        while in errcatch mode (see expr.f)
-               call error(2)
-c               pt=p
-               return
-            else
-c     .        errcatch mode off, really send an error
-               err1=0
-               call error(2)
-               return
-            endif
-         endif
-         p=pt+1
- 03      p=p-1
-         if(p.le.0) goto 04
-         r=rstk(p)
-         if(int(r/100).ne.3) goto 03
-         pt=p
-         goto(25,26,99,29,99,52,43,48,55,62,65,66),r-300
-      endif
- 04   continue
-      call error(2)
-c      if (err .gt. 0) return
-      return
-c     
-c     put something on the stack
-      
-c     --- single number, getsym stored it in stk(vsiz)
-c     
- 10   call getnum
-      if(err.gt.0) return
-      psym=num
-      call getsym
-      go to 60
-c     
-c     --- string
-c     
- 15   call getstr
-      if(err.gt.0) return
-      call getsym
-      go to 60
-c     
-c     --- matrix defined by bracket operators
-c     
- 20   continue
-      if (eptover(0,psiz-3))  return
-      pt=pt+1
-      rstk(pt)=0
-      pstk(pt)=0
-c     
- 21   continue
-      pt=pt+1
-      pstk(pt)=0
-      call getsym
-c     
- 22   if (sym.eq.cmt) call parsecomment
-      if (sym.eq.semi .or. sym.eq.eol .or.sym.eq.right) go to 27
-      if (sym .eq. num .and.char1.eq.dot.and.
-     $     lin(lpt(4)-2).ne.blank) then
-c     .  to return an error on [1.000.3,...] 
-         lpt(2)=lpt(4)+1
-         call error(276)
-         return
-      endif
-
-      if (sym .eq. comma) then
-         call getsym
-c        comment next line to disallow Matlab syntax like [1,2,,;3,4]  
-         goto 22
-      endif
-      rstk(pt) = 301
-c     get next entry or block
-      icall=1
-c     *call* expr
-      return
-c     catenate  entry or block with previous on the same row
- 25   continue
-      if(err1.ne.0) goto 22
-      pstk(pt)=pstk(pt)+1
-      if(pstk(pt).le.1) goto 22
-      pstk(pt)=1
-      rstk(pt)= 302
-      fin=cconc
-      rhs=2
-      icall=4
-c     *call* allops(cconc)
-      return
- 26   go to 22
- 27   pt=pt-1
-      if (sym.eq.semi .and. char1.eq.eol) call getsym
-c     catenate row with previous rows
-      if(err1.ne.0) goto 29
-      if(pstk(pt+1).gt.0) pstk(pt)=pstk(pt)+1
-      if(pstk(pt).le.1) goto 29
-      pstk(pt)=1
-      rstk(pt)= 304
-      fin=rconc
-      rhs=2
-      icall=4
-c     *call* allops(rconc)
-      return
- 29   if (sym .eq. eol) then
-         if(comp(1).ne.0) call seteol
-         if(lpt(4).eq.lpt(6))  then
-            call getlin(0,0) 
-         else
-            lpt(4)=lpt(4)+1
-            call getsym
-         endif
-      endif
-      if (sym.eq.eol.and.err1.ne.0) then
-         pt=pt-1 
-         go to 60
-      endif
-      if (sym .ne. right) go to 21
-      if (pstk(pt).le.0) then
-         call defmat
-         if(err.gt.0) return
-      endif
-      pt=pt-1
-      call getsym
-      go to 60
-c     
-c     --- named variable, function evaluation or matrix element   x(...)
-c     
- 30   call putid(id,syn(1))
-      call getsym
-      if (sym .eq. lparen) then
-c     .     check for blank separator in matrix definition
-         if(abs(lin(lpt(3)-2)).ne.blank.or.rstk(pt-2).ne.301) then
-c     .     it is really x(....)
-            dotsep=.false.
-            goto 36
-         endif
-      endif
-      if (sym.eq.dot.and.(abs(char1) .lt. blank.or.
-     $     char1.eq.percen)) then
-         dotsep=.true.
-         goto 36
-      endif
-      fin=0
-      rhs = 0
-c     
-c     -- put a named variable in the stack
-c     check for indirect loading
-      fin=setgetmode(id)
-      call stackg(id)
-      if (err .gt. 0) return
-      if(fin.ne.0.or.err1.ne.0) goto 60
-c     
-      if(comp(1).eq.0) then
-         fun1=fun
-         call funs(id)
-         if(err.gt.0) return
-         if (fun .gt. 0) then
-            call varfunptr(id,fun,fin)
-            goto 60
-         endif
-c     this happens when referencing a variable that is in a library
-         fun=fun1
-         fin=setgetmode(id)
-         call stackg(id)
-         if (err .gt. 0) return
-         if (fin .eq. 0) then
-            if(err1.ne.0) goto 60
-            call  putid(ids(1,pt+1),id)
-            call error(4)
-            if (err .gt. 0) return
-         endif
-         go to 60
-      endif
-      
-c     
- 36   continue
-c     --- function evaluation or variable element   x(...)
-      if ( eptover(1,psiz-1))  return
-c     x(...) :store object or function name
-
-      rstk(pt)=0
-      pstk(pt)=lhs
-      call putid(ids(1,pt),id)
-c     %% added for runtime set rhs args by list extraction (ss)
-      fun1=fun
-      fun=0
-      if(id(1).ne.blank) then
-         fin=-2
-         call funs(id)
-         if (fun .ne. 0) then
-c     .     name is a function name, check if it is a call or a reference
-         else
-c     .     allow indirect reference to variables
-            fun=-1
-         endif
-         lhs=1
-
-c       %% next lines added  for runtime set rhs args number
-         if(comp(1).ne.0) then
-            if (compil(21,0,0,0,0)) then 
-               if (err.gt.0) return
-            endif
-         endif
-      else
-         lhs=1
-      endif
-
-
-c     
-c     eval function or variable arguments
- 38   continue
-      call getsym
-      if(.not.dotsep.and.sym.eq.rparen) then
-         if(char1.eq.dot.or.char1.eq.lparen) then
-            call error(250)
-            return
-         endif
-c     .  function has no input parameter
-         if(rstk(pt).lt.0) then
-c     .    a(...)()
-            goto 461
-         endif
-
-         excnt=-1
-         goto 45
-      endif
-c
-      if(dotsep) then
-         if (sym.ne.name) then
-            call error(2)
-            if (err .gt. 0) return
-         endif
-c     .  create a string variable containing name syn
-         icount=icount+1
-         if(comp(1).ne.0) then
-            if(compil(23,syn,0,0,0)) then
-               if(err.gt.0) return
-            endif
-         else
-            call name2var(syn)
-         endif
-         dotsep=.false.
-         excnt=excnt+1
-         goto 45
-      endif
-
-      fun1=fun
-      if(sym.eq.name.and.char1.eq.lparen) then
-c     . check for a function name
-         fun=0
-         fin=-2
-         call funs(syn)
-         if (fun .ne. 0) then
-c     .     name is a function name, check if it is a call or a reference
-
-         else
-            fun=fun1
-         endif
-      endif
-
-      excnt = excnt+1
-c
-      if(sym.ne.comma) goto 40
-
-c     args(, ..) or (.. ,, ..) or (.. ,) syntax
- 39   if (nullarg) then 
-c     .  default argument allowed
-         if(comp(1).eq.0) then
-            top=top+1
-            call objvide(' ', top)
-         else
-            if(compil(24,0,0,0,0)) then
-               if(err.gt.0) return
-            endif
-         endif
-         if(sym.eq.rparen) then
-c     .     (.. ,) syntax
-            goto 45
-         endif
-         goto 44
-      else
-         lpt(2)=lpt(4)
-         call error(46)
-         return
-      endif
-
- 40   continue
-      if(sym.ne.name.or.char1.ne.equal) goto 42
-c     next lines to manage named arguments (..,a=..)
-
-      fun=fun1
-      lpt4=lpt(4)
-      call fortrangetch
-      if(char1.eq.equal) then
-c     check for a==
-         lpt(4)=lpt4
-         goto 42
-      endif
-      if(ids(1,pt).eq.blank) then 
-c     .  (x=2) syntax for a a factor ->(x==2)
-         lpt(4)=lpt4
-         char1=equal
-         goto 42
-      endif
-c     it is really a named argument
-      if ( eptover(1,psiz-1))  return
-      ids(1,pt)=rhs
-      ids(2,pt)=lhs
-      ids(3,pt)=lct(4)
-      ids(4,pt)=fun
-      lct(4)=-1
-      rstk(pt)=313
-      lpt(4)=lpt(2)
-      pstk(pt)=excnt
-      char1=blank
-      icall=7
-      return
-c     *call* parse
- 41   continue
-      rhs=ids(1,pt)
-      lhs=ids(2,pt)
-      lct(4)=ids(3,pt)
-      excnt = pstk(pt)
-      fun=ids(4,pt)
-      pt = pt-1
-c     end of special code to manage named argument
-      goto 44
-c
- 42   continue
-c     argument is a standard expression
-      if ( eptover(1,psiz-1))  return
-      pstk(pt) = excnt
-      ids(1,pt)=fun
-      ids(2,pt)=fun1
-      rstk(pt) = 307
-      icall=1
-c     *call* expr
-      return
- 43   excnt = pstk(pt)
-      fun=ids(2,pt)
-      pt = pt-1
-c
- 44   continue
-c     one more argument ?
-      if (sym .eq. comma) then
-         if (char1.eq.rparen) then
-            call getsym
-            excnt=excnt+1
-            goto 39
-         endif
-         go to 38
-      endif
-c     end of argument sequence or recursive extraction ?
-      if (sym .ne. rparen) then
-         lpt(2)=lpt(3)+1
-         call error(3)
-         return
-      endif
-c     
- 45   continue
-c     end of argument sequence or recursive extraction 
-
-      call getsym
-      recurs=.false.
-      if( sym .eq. dot.and.(abs(char1) .lt. blank.or.
-     $     char1.eq.percen)) then
-         dotsep=.true.
-c     .  recursive extraction
-         if(excnt.gt.1) then
-            if(comp(1).eq.0) then
-c     .     form  list with individual indexes
-               call mkindx(0,excnt)
-               if(err.gt.0) return
-            else
-               if (compil(19,0,excnt,0,0)) then 
-                  if (err.gt.0) return
-               endif
-            endif
-            excnt=1
-            recurs=.true.
-         endif
-         if(excnt.ge.0) rstk(pt)=rstk(pt)-1
-         excnt=0
-c     .  get one more argument of the recursive extraction
-         goto 38
-      elseif(sym.eq.lparen) then
-c        . check for blank separator in matrix definition
-         if(abs(lin(lpt(3)-2)).eq.blank.and.rstk(pt-3).eq.301) then
-c     .     end of argument sequence
-            goto 46
-         endif
-c     .  recursive extraction
-         if(excnt.gt.1) then
-            if(comp(1).eq.0) then
-c     .     form  list with individual indexes
-               call mkindx(0,excnt)
-               if(err.gt.0) return
-            else
-               if (compil(19,0,excnt,0,0)) then 
-                  if (err.gt.0) return
-               endif
-            endif
-            excnt=1
-            recurs=.true.
-         endif
-         if(excnt.ge.0) rstk(pt)=rstk(pt)-1
-         excnt=0
-c     .  get one more argument of the recursive extraction
-         goto 38
-      elseif(rstk(pt).lt.0) then
-c     .  all args of the recursive extraction have been computed
-c     .  store them into a list
-         if(comp(1).eq.0) then
-c     .     form  list with individual indexes
-            call mkindx(1-rstk(pt),excnt)
-            if(err.gt.0) return
-            excnt=1
-            recurs=.true.
-         else
-            if (compil(19,1-rstk(pt),excnt,0,0)) then 
-               if (err.gt.0) return
-               excnt=1
-            endif
-         endif
-      endif
-
- 46   continue
-
-c     all arguments evaluated
-      call putid(id,ids(1,pt))
-      lhs=pstk(pt)
-      pt=pt-1
-      
-      if (id(1) .eq. blank) then
-         if(lhs.ne.excnt) then
-            call error(41)
-            if(err.gt.0) return
-         endif
-         if (recurs) then
-            call error(250)
-            return
-         endif
-         go to 60
-      endif
-c     skip empty argument list portion
-      goto 463
-
-
-c     empty argument list   a(...)()
- 461  excnt=excnt+1
-      call getsym
-c      lhs=pstk(pt)
-      call putid(id,ids(1,pt))
-      if ( eptover(1,psiz-1))  return
-      rstk(pt)=314
-c      pstk(pt)=lhs
-      pstk(pt)=pstk(pt-1)
-
- 463  rhs = excnt
-c     get function or variable to be evaluated for computed arguments
-      fin=0
-      fin=-2
-      call stackg(id)
-      if(err.gt.0) return
-      if(comp(1).ne.0) goto 47
-      if(fin.ge.0) then
-c     .  id is not a standard variable
-         if (recurs) then
-            call error(250)
-            return
-         endif
-         if(err1.gt.0) goto 60
-C next line added serge 06/08/08: it is not useful to scan funtab
-         if(fin.gt.0) fin=-4
-         call funs(id)
-         if(err.gt.0) return
-         if(fun.gt.0)  goto 53
-         fin=-2
-         call stackg(id)
-         if(err.gt.0) return
-         if(fin.eq.0) then
-            if(err1.gt.0) goto 60
-            call error(4)
-            if(err.gt.0) return
-         endif
-      endif
-      if(fin.gt.0) goto 50
-      if(rstk(pt+1).ge.0.and.rhs.eq.0) goto 60
-
-      call isafunptr(top,id,ifun,ifin)
-      if(ifun.ne.0) then
-         top=top-1
-         fun=ifun
-         fin=ifin
-         goto 53
-      endif
-c     
-c     --- variable is a matrix or list :extraction
-c     
- 47   rhs=rhs+1
-      if ( eptover(1,psiz-1)) return
-      rstk(pt)=308
-      fin=extrac
-      icall=4
-c     *call* allops(extrac)
-      return
- 48   pt=pt-1
-      if(rstk(pt).eq.314) then
-c     .  a(...)()
-c     .  a(...) has been put on the top of the stack
-         lhs=pstk(pt)
-         pt=pt-2
-         rhs=0
-         call isafunptr(top,id,ifun,ifin)
-         if(ifun.ne.0) then
-c     .     a(...) is a funpr
-            top=top-1
-            fun=ifun
-            fin=ifin
-            goto 53
-         endif
-
-         il=iadr(lstk(top))
-         if (istk(il).eq.-13.or.istk(il).eq.-11) then
-c     .    a(...) is a reference to a macro
-            fin=istk(il+1)
-            top=top-1
-            goto 50
-         endif
-c     next if for bug 6730 fix
-         if (istk(il).eq.13.or.istk(il).eq.11) then
-c     .    a(...) is a macro 
-c     .     use negative value to indicate that this variable must be
-c     .     removed after the function has been evaluated
-            fin=-top
-            goto 50
-         endif
-
-      endif
-      goto 60
-c     
-c     --- variable is macro : execution
-c     
- 50   if ( eptover(1,psiz-1)) return
-c     next if for bug 6730 fix
-c      call putid(id,ids(1,pt))
-      if(fin.lt.0) then
-         ids(1,pt)=top
-         fin=lstk(top)
-      else
-         ids(1,pt)=0
-      endif
-      rstk(pt)=306
-      pstk(pt)=wmac
-      icall=5
-c     *call* macro
-      return
- 52   wmac=pstk(pt)
-c     next if for bug 6730 fix
-      if(ids(1,pt).ne.0) then
-c     .  shift storage up to remove the macro
-         mtop=ids(1,pt)
-         v=lstk(mtop+1)-lstk(mtop)
-         call dcopy(lstk(top+1)-lstk(mtop+1),stk(lstk(mtop+1)),1
-     $        ,stk(lstk(mtop)),1) 
-         do  ib = mtop,top-1
-            call putid(idstk(1,ib),idstk(1,ib+1))
-            infstk(ib)=infstk(ib+1)
-            lstk(ib+1) = lstk(ib+2)-v
-         enddo
-         top=top-1
-      endif
-      pt=pt-1
-      go to 60
-c     
-c     evaluate function
- 53   if ( eptover(1,psiz-1))  return
-      rstk(pt) = 309
-      icall=9
-c     *call* matfns
-      return
- 55   pt = pt-1
-      go to 60
-c     
- 60   continue
-c     check for ', .'  **,  ^ and .^
-
-      if (sym .ne. quote) go to 63
-      if (lin(lpt(3)-1).ne.quote) then
-c     .  not to admit " as a transposition operator 
-C     .  (remove the equivalence ' ")
-         go to 63
-      endif
-      i = lpt(3) - 2
-      if (abs(lin(i)) .eq. blank) go to 90
-      fin=quote
- 61   rhs=1
-      if ( eptover(1,psiz-1))  return
-      rstk(pt)=310
-      icall=4
-c     *call* allops(quote) or allops(dot+quote)
-      return
- 62   pt=pt-1
-      psym=sym
-      call getsym
-
- 63   continue
-      if(sym.eq.hat) then
-         op=dstar
-      elseif(sym.eq.dot.and.char1.eq.hat) then
-         call getsym
-         op=dstar+dot
-      elseif(sym.eq.star.and.char1.eq.star) then
-         call getsym
-         op=dstar
-      elseif(sym.eq.dot.and.char1.eq.quote) then
-         call getsym
-         fin=dot+quote
-         goto 61
-      elseif(sym.eq.not.and.char1.ne.equal) then
-         call error(276)
-         return
-      elseif(sym.eq.name.and.psym.eq.num) then
-         i = lpt(3) - 2
-         if (abs(lin(i)) .ne. blank) then
-            ok=.false.
-c     .     next line to restrict to mfile2sci compilation only
-c     .     ok=(comp(1).ne.0.and.comp(3).eq.2) 
-            if (ok) then
-c     .        make 2m be evaluated as 2*m
-               op=star
-               goto 64
-            else
-c     .        issue an error
-               lpt(2)=lpt(3)+1
-               call error(276)
-               if (err.gt.0) return
-            endif
-         endif
-         goto 90
-      elseif (sym.eq.num.and.abs(lin(lpt(3) - 2)) .ne. blank) then 
-c     .   issue an error
-         lpt(2)=lpt(3)+1
-         call error(276)
-         if (err.gt.0) return
-      else
-         goto 90
-      endif
-      call getsym
- 64   if ( eptover(1,psiz-1))  return
-      rstk(pt) = 311
-      pstk(pt) = op
-      icall=3
-c     *call* factor
-      go to 01
- 65   rstk(pt)=312
-      fin=pstk(pt)
-      rhs=2
-      icall=4
-c     *call* allops(dstar)
-      return
- 66   pt=pt-1
-      goto 90
-
- 90   continue
-c     check for unary minus
-      if (rstk(pt).ne.303) return
-      ids(1,pt) = rhs
-      ids(2,pt) = lhs
-      pstk(pt) = fin
-      fin = minus
-      icall = 4
-      rhs=1
-      return
-c     *call* allops(minus) 
- 91   continue
-      rhs = ids(1,pt)
-      lhs = ids(2,pt)
-      fin = pstk(pt)
-      pt=pt-1
-      return
-c     
- 99   call error(22)
-      if (err .gt. 0) return
-      return
-      end
-
-      subroutine name2var(id)
-c     Copyright INRIA
-      include 'stack.h'
-c     given a variable name code in id, creates a string variable 
-c     on the top of the stack
-      integer id(nsiz)
-      integer iadr,sadr
-c
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c
-      if (err1.gt.0) return
-      top=top+1
-      il=iadr(lstk(top))
-      err=sadr(il+6+nlgh)-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      istk(il)=10
-      istk(il+1)=1
-      istk(il+2)=1
-      istk(il+3)=0
-      ilp=il+4
-      istk(ilp)=1
-      call namstr(id,istk(ilp+2),n,1)
-      istk(ilp+1)=n+1
-      lstk(top+1)=sadr(ilp+2+n)
-      return
-      end
diff --git a/scilab/modules/core/src/fortran/funs.f b/scilab/modules/core/src/fortran/funs.f
deleted file mode 100644 (file)
index e979568..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-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-en.txt
-
-      subroutine funs(id)
-c     ====================================================================
-c     scan primitive function and scilab code function lists for a given name
-c     ====================================================================
-      include 'stack.h'
-      parameter (nz1=nsiz-1,nz2=nsiz-2)
-      integer id(nsiz),istr(nlgh)
-c
-      logical cresmat
-      integer srhs,percen,fptr,slhs,r
-      integer iadr
-      logical toreturn
-      data nclas/29/,percen/56/
-c
-      iadr(l)=l+l-1
-c
-c     look only in scilab code function libraries
-      if(fin.eq.-3) goto 35
-      if(fin.eq.-4) goto 30
-c
-c
-      if (comp(1).ne.0) then
-c     if  compilation mode skip primitive functions
-         fin=0
-         fun=0
-         return
-      endif
-c
-c     look for name in primitive functions
-      call funtab(id,fptr,1,'NULL_NAME',0)
-      if(fptr.le.0) then
-         if(comp(1).eq.0.and.fin.ne.-5) goto 30
-         fin=0
-         fun=0
-      else
-         fun = fptr/1000
-         fin = mod(fptr,1000)
-      endif
-      return
-c
-c     is a scilab code function already loaded in the variables stack
- 30   call sivars(id, toreturn)
-      if(toreturn) then
-         return
-      endif
-c
-c     look in scilab code function libraries
- 35   call siflibs(id, k, istr, lbibn, nbibn, ilp, nn, toreturn)
-      if(toreturn) then
-         return
-      endif
-c
-c
-
-c
-c     load it in the variables stack
-
-c     create a variable with the bin file path
-      n=nbibn
-c     get name and its length
-      call  namstr(id,istr,nn,1)
-      top=top+1
-      if(.not.cresmat(' ',top,1,1,nbibn+4+nn)) return
-      call getsimat(fname,top,top,mp,np,1,1,ilp,nlp)
-c     path
-      call icopy(nbibn,istk(lbibn),1,istk(ilp),1)
-c     name
-      call icopy(nn,istr,1,istk(ilp+nbibn),1)
-c     extension
-      call cvstr(4,istk(ilp+nbibn+nn),'.bin',0)
-c     load variables stored in the given file
-      srhs=rhs
-      slhs=lhs
-      fun=0
-      rhs=1
-      lhs=1
-c     just avoid the case where rstk(pt) has been set to 906 by a
-c     unterminated call to intload
-      r=rstk(pt)
-      rstk(pt)=0
-      call intload(id,k)
-      if(err.gt.0) return
-      if (fun.eq.-1) then
-         buf='Overloaded load cannot occur in this context'
-         call error(999)
-         return
-      endif
-      rstk(pt)=r
-      rhs=srhs
-      lhs=slhs
-      top=top-1
-      if(k.eq.0) then
-c     .  requested varible not loaded
-         fun=0
-         fin=0
-      else
-         il=iadr(lstk(k))
-         if(istk(il).ne.11.and.istk(il).ne.13.and.istk(il).ne.130) then
-            fin=0
-            fun=0
-            return
-         endif
-         fun=-2
-         fin=k
-      endif
-
-      return
-c
-      end
diff --git a/scilab/modules/core/src/fortran/macro.f b/scilab/modules/core/src/fortran/macro.f
deleted file mode 100644 (file)
index 2af6b09..0000000
+++ /dev/null
@@ -1,579 +0,0 @@
-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,
-c     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-en.txt
-
-      subroutine macro
-c
-      include 'stack.h'
-c
-      parameter (nz2=nsiz-2,nz3=nsiz-3)
-      double precision val
-      integer eol
-      logical eqid,ptover,vargin,vargout,exec,vcopyobj
-      integer blank,r,ival(2),ptr,top1,count,iadr,wmacn
-      integer varargin(nsiz),varargout(nsiz),id(nsiz)
-      integer scivarindex
-      integer p
-      character tmpbuf * (bsiz)
-      equivalence (ival(1),val)
-      data blank/40/,eol/99/
-      data varargin/169544223,387059739,nz2*673720360/
-      data varargout/169544223,504893467,673720349,nz3*673720360/
-c
-c
-      iadr(l)=l+l-1
-c
-      r=rstk(pt)
-      if (ddt .eq. 4) then
-         write(tmpbuf(1:18),'(2i4,i6)') pt,r,fin
-         call basout(io,wte,' macro  pt:'//tmpbuf(1:4)//' rstk(pt):'//
-     &        tmpbuf(5:8)//' fin:'//tmpbuf(9:14))
-      endif
-c
-      ir=r/100
-      if(ir.ne.5) goto 10
-      goto(40,40,60,40),r-500
-      goto 99
-c
- 10   continue
-
-c     check for interpreted pause(701),compiled pause(604) or exec(902)
-      if(r.eq.902.or.r.eq.701.or.r.eq.604) goto 50
-
-c     initialize macro or execstr execution
-c------------------------------------------
-c
-      ilk=iadr(fin)
-      wmacn=0
-c
-      if(istk(ilk).eq.10) then
-c     an execstr
-         exec=.false.
-         vargout=.false.
-         mrhs=0
-         rhs=0
-         mlhs=0
-         l=ilk+5+istk(ilk+1)*istk(ilk+2)
-         lf=l+istk(ilk+4+istk(ilk+1)*istk(ilk+2))-1
-         last=isiz
-         if(macr.ne.0.or.paus.ne.0) then
-            k=lpt(1)-(13+nsiz)
-            last=lin(k+5)
-         endif
-      else
-c     a macro
-         exec=rstk(pt).eq.909.or.rstk(pt).eq.903
-         if(nmacs.gt.0.and.comp(1).eq.0) then
-            if(rstk(pt).eq.602) then
-c     .        see run to explain the following
-               lcn=pstk(pt)-4-(nsiz+3)+1
-               call putid(id,istk(lcn))
-            elseif(rstk(pt).eq.707) then
-c     .        function without argument list
-               call putid(id,syn)
-            else
-               call putid(id,ids(1,pt))
-            endif
-         endif
-
-         if(comp(1).eq.0) then
-c     .    find the index of the macro in the stack et memorize it for breakpoints
-            wmacn=scivarindex(fin)
-         endif
-
-         l=ilk+1
-         if(exec) then
-            vargout=.false.
-            last=bbot
-            if(macr.gt.0.or.paus.gt.0) then
-               k=lpt(1) - (13+nsiz)
-               last=lin(k+5)
-            endif
-
-            mlhs=istk(l)
-            l=l + nsiz*mlhs + 1
-            mrhs=istk(l)
-            l=l+1
-            l = l + nsiz*mrhs + 1
-            rhs=0
-            lhs=0
-            goto 17
-c     .    exec(macro)
-         endif
-         mrhs=0
-         last=bot
-c     set output variable name
-         mlhs=istk(l)
-         l0=l
-         l=l+nsiz*mlhs+1
-         vargout=.false.
-         if(mlhs.gt.0) vargout=eqid(istk(l-nsiz),varargout)
-         if(mlhs.lt.lhs.and..not.vargout) then
-            if(mlhs.ne.0.or.lhs.gt.1) then
-               lhs=mlhs
-               pstk(pt)=l0+1
-               call error(59)
-               return
-            endif
-         endif
-
-c     set input variable name
-         mrhs=istk(l)
-         l=l+1
-         l1=l+nsiz*(rhs-1)
-         l = l + nsiz*mrhs + 1
-         lf= l+istk(l-1)+1
-         if(mrhs.eq.0.and.rhs.le.1) then
-            if(comp(1).ne.0)  rhs=0
-         endif
-         vargin=.false.
-         if(mrhs.gt.0) vargin=eqid(istk(l-nsiz-1),varargin)
-         if(mrhs.lt.rhs.and..not.vargin) then
-            pstk(pt)=l1-(rhs-1)*nsiz
-            rhs=mrhs
-            call error(58)
-            return
-         endif
-      endif
-c     save line pointers
- 17   k = lpt(6)
-      if(k+13+nsiz.gt.lsiz) then
-         call error(108)
-         return
-      endif
-      lin(k+1) = lpt(1)
-      lin(k+2) = lpt(2)
-      lin(k+3) = lpt(3)
-      lin(k+4) = lpt(4)
-      lin(k+5) = last
-      lin(k+6) = ilk
-      lin(k+7) = l
-      val = stk(lstk(isiz))
-      lin(k+8) = ival(1)
-      lin(k+9) = ival(2)
-      lin(k+10)=char1
-      lin(k+11)=sym
-      call putid(lin(k+12),syn)
-      lin(k+12+nsiz)=lct(8)
-      lpt(1) = k + 13+nsiz
-c
-      if ( ptover(1,psiz-1)) return
-      rstk(pt)=0
-      ids(1,pt) = rhs
-      ids(2,pt) = lhs
-      ids(3,pt) = lf
-      if(vargout) then
-         ids(4,pt)=1
-      else
-         ids(4,pt)=0
-      endif
-      ids(4,pt)=ids(4,pt)+2*wmac
-      wmac=wmacn
-      pstk(pt)=lct(4)
-c
-      macr=macr+1
-c     set line pointers
-      k=lpt(1)
-      lin(k) = eol
-      lpt(6) = k
-      lpt(4) = lpt(1)
-      lpt(3) = lpt(1)
-      lpt(2) = lpt(1)
-c     c_ex lct(1) = 0
-      if(.not.exec) then
-         if (ddt .ne. 2) lct(4)=-1
-      else
-         lct(4)=pstk(pt-1)
-      endif
-      char1 = blank
-      lin(lpt(4)+1)=blank
-c
-c     save input variables
-c     next line should be suppressed, but when no arg given rhs is -1
-c     and not 0
-      irhs=max(rhs,0)
-      if(comp(1).eq.0.and..not.exec) then
-         if( mrhs.gt.0) then
-            if(vargin.and.irhs.ge.mrhs-1) then
-               call mklist(irhs-mrhs+1)
-               infstk(top)=0
-               irhs=mrhs
-               l1=l-nsiz-1
-            endif
-            mrhs=irhs
-            rhs=0
-            do 20 j=1,mrhs
-               if(infstk(top).eq.1) then
-c     .           named variable
-                  call stackp(idstk(1,top),0)
-               elseif(infstk(top).eq.2) then
-c     .           global variable : create a local copy and save it
-c     .           instead of the original one, to avoid side effects if
-C     .           the same global variable is used inside the macro
-                  kg=istk(iadr(lstk(top))+2)
-                  if (.not.vcopyobj(' ',kg,top)) return
-                  call stackp(istk(l1),0)
-               else
-                  call stackp(istk(l1),0)
-               endif
-               l1=l1-nsiz
- 20         continue
-         endif
-         if(vargout) then
-            call mklist(0)
-            call stackp(varargout,0)
-         endif
-      endif
-c
-      ids(6,pt)=toperr
-      toperr=top
-      if(istk(ilk).eq.13) then
-         lct(8)=1
-         rstk(pt)=501
-c     next line for forced rhs
-         ids(5,pt)=0
-         icall=6
-c     *call* run
-      else
-         lct(8)=1
-         rstk(pt)=502
-c     pstk(pt)=0
-         icall=7
-         sym=eol
-c     *call* parse
-      endif
-      go to 99
-c
- 40   continue
-c     terminate macro or execstr execution
-c-----------------------------------------
-c     handle errcatch
-      exec=rstk(pt-1).eq.909.or.rstk(pt-1).eq.903
-      if(errct.ne.0.and.errpt.ge.pt.and..not.exec) then
-c     .  looking for a previous execstr(....,'errcatch') see intexecstr
-         p=pt
- 401     continue
-         if (rstk(p).eq.903) then
-C     .     execstr(....,'errcatch') level found
-            err1=0
-            err2=0
-            catch=0
-            errct=0
-            errpt=0
-            if (p.gt.0) then
-               if (ids(1,p).eq.1) errct=-900001
-               errpt=p
-            endif
-         elseif (rstk(p).eq.808) then
-C     .     try level found
-            errct=-900001
-            errpt=p
-         elseif (p-1.gt.0) then
-            p=p-1
-            goto 401
-         endif
-      endif
-
-
-      lhsr=lhs
-c
-      lct(4)=pstk(pt)
-      rhs=ids(1,pt)
-      lhs=ids(2,pt)
-      lct(4)=pstk(pt)
-      vargout=mod(ids(4,pt),2).eq.1
-      wmac=ids(4,pt)/2
-c     restaure  pointers
-      k = lpt(1) - (13+nsiz)
-      ilk=lin(k+6)
-      char1=lin(k+10)
-      sym=lin(k+11)
-      call putid(syn,lin(k+12))
-c
-      if (err1.gt.0.and.catch.eq.0) then
-         top=toperr
-         toperr=ids(6,pt)
-         macr=macr-1
-         if (.not.exec) bot=lin(k+5)
-         goto 48
-      endif
-
-      toperr=ids(6,pt)
-
-c
-      if(comp(1).ne.0) then
-         comp(2)=comp(1)
-         comp(1)=0
-         macr=macr-1
-         goto 47
-      endif
-
-
-      if(istk(ilk).ne.10.and..not.exec) then
-c     .  copy output variables at the top of the stack
-         l0=ilk+1
-c     .  set output variable name
-         mlhs=istk(l0)
-         if(mlhs.eq.0.and.lhs.le.1) lhs=0
-
-         if(vargout.and.lhs.ge.mlhs) then
-            lhs1=mlhs-1
-         else
-            lhs1=lhs
-         endif
-
-         l0=l0+1
-         if(lhs1.gt.0) then
-            mrhs=rhs
-            rhs=0
-            do 41 i=1,lhs1
-               fin=0
-               call stackg(istk(l0))
-               if(fin.eq.0) then
-                  if(err1.le.0) then
-c     .              call error only if it has not been already called
-                     call putid(ids(1,pt+1),istk(l0))
-                     call error(4)
-                     if(err.gt.0) return
-                  endif
-               endif
-               l0=l0+nsiz
- 41         continue
-            rhs=mrhs
-         endif
-         if(lhs1.lt.lhs) then
-c     .   extract required output variables out of varargout
-            nv=lhs-mlhs+1
-            call stackgl(istk(l0),nv)
-            if(err.gt.0) return
-            l0=l0+nsiz
-         endif
-      endif
-c
-      macr=macr-1
-      if(istk(ilk).eq.10.or.exec) goto 48
-      bot=lin(k+5)
-      if(lhsr.ne.0) then
-c     .   handle variables returned by resume
-         lpt1 = lpt(1)
-         lpt(1)=lin(k+1)
-         top1=top
-         top=top-lhs
-         count=0
-c
-         if(rstk(pt).eq.501) then
-c     .     resume in a "compiled" macro
-            count=pstk(pt+2)
-            lc=ids(1,pt+1)
-            if(istk(lc).eq.29) then
-               lc=lc+3
-               i27=0
-            elseif(istk(lc).eq.1) then
-c     .        retained for 2.7 and earlier version compatibility (old affectation)
-               lc=lc+1
-               i27=1
-            endif
-c     .     preserve names stored in the macro if macro is moved
-            if(pt+lhsr.gt.psiz) then
-               call error(26)
-               return
-            endif
-            do 43 i=1,lhsr
-               call putid(ids(1,pt+i),istk(lc))
-               lc=lc+nsiz+1
-c     .        retained for 2.7 and earlier version compatibility (old affectation)
-               if(i27.ne.0.and.istk(lc-1).eq.22) lc=lc+2
- 43         continue
-            do 44 i=1,lhsr
-               call stackp(ids(1,pt+i),0)
-               if(err.gt.0) return
- 44         continue
-         else
-c     .     resume in "uncompiled" macros
-c     .     and in execstr call in a macro (rstk(pt)==504 see sci_resume)
-
-            ptr=pstk(pt+1)
-            count=pstk(pt+2)
-            lpt1s=lpt(1)
-c     .      reset lpt(1) for error recovery
-            if(rstk(pt).eq.504) lpt(1)=lpt1
-            do 45 i=1,lhsr
-               call stackp(ids(1,ptr),0)
-               if(err.gt.0) return
-               if(err1.gt.0) then
-                  goto 48
-               endif
-               ptr=ptr-1
- 45         continue
-            lpt(1)=lpt1s
-         endif
-c
-c     .  remove top variables relatives to for or select if any
-         top=top-count
-c
-         if(lhs.gt.0) then
-c     .     move macro output variables at the top of the stack
-            top1=top1-lhs
-            if(top1.ne.top) then
-               do 46 i=1,lhs
-                  top1=top1+1
-                  top=top+1
-                  call unsfdcopy(lstk(top1+1)-lstk(top1),stk(lstk(top1))
-     $                 ,1,stk(lstk(top)),1)
-                  lstk(top+1)=lstk(top)+lstk(top1+1)-lstk(top1)
- 46            continue
-            else
-               top=top+lhs
-            endif
-         endif
-      endif
-c
- 47   continue
-      if(lhs.eq.0) then
-         top=top+1
-         il=iadr(lstk(top))
-         istk(il)=0
-         lstk(top+1)=lstk(top)+1
-      endif
- 48   pt=pt-1
-      lct(8)=lin(k+12+nsiz)
-      lpt(1)=lin(k+1)
-      lpt(2)=lin(k+2)
-      lpt(3)=lin(k+3)
-      lpt(4)=lin(k+4)
-      lpt(6)=k
-      ival(1)=lin(k+8)
-      ival(2)=lin(k+9)
-      stk(lstk(isiz))=val
-      return
-c
-c     exec
- 50   continue
-      k = lpt(6)
-      if(k+13+nsiz.gt.lsiz) then
-         call error(26)
-         return
-      endif
-      lin(k+1) = lpt(1)
-      lin(k+2) = lpt(2)
-      lin(k+3) = lpt(3)
-      lin(k+4) = lpt(4)
-      lin(k+5) = bot0
-c     two following lines set information necessary for  stackp to know
-c     current macro context
-      if(macr.ge.1.or.paus.ge.1) then
-c     .  exec called within a pause or a macro. 
-c     .  The context is set to  the calling context
-         lin(k+5)=lin(lpt(1)-(8+nsiz))
-      endif
-      if(rio.eq.rte) lin(k+5)=bot
-
-      lin(k+6) = lct(4)
-c     following lines allows to distinguish between macro (<>0) and
-c     exec (=0)
-      lin(k+7)=0
-c
-      lin(k+10)=char1
-      lin(k+11)=sym
-      lin(k+12+nsiz)=lct(8)
-      lpt(1) = k + (13+nsiz)
-      lpt(6) = lpt(1)
-      if(lct(4).le.-10) fin=-lct(4)-11
-      lct(4) = fin
-      if(rio.eq.rte) paus=paus+1
-      sym = eol
-      if ( ptover(1,psiz)) return
-      lct(8)=0
-      rstk(pt)=503
-      pstk(pt)=wmac
-
-      if(r.eq.701.or.r.eq.604) then
-c     .  disable error recovery mode , for pause only (is it mandatory?)
-         ids(2,pt)=errct
-         ids(3,pt)=err2
-         ids(4,pt)=err1
-         ids(5,pt)=errpt
-         ids(6,pt)=catch
-         err1=0
-         catch=0
-         errct=-1
-      endif
-      wmac=0
-      icall=7
-c     *call parse*
-      go to 99
-c
-c     fin exec
- 60   continue
-      k = lpt(1) - (13+nsiz)
-      lpt(1) = lin(k+1)
-      lpt(2) = lin(k+2)
-      lpt(3) = lin(k+3)
-      lpt(4) = lin(k+4)
-      lct(4) = lin(k+6)
-      lpt(6) = k
-      char1=lin(k+10)
-      sym=lin(k+11)
-      lct(8)=lin(k+12+nsiz)
-      if(rio.eq.rte.and.paus.gt.0) then
-         bot=lin(k+5)
-         paus=paus-1
-      endif
-      wmac=pstk(pt)
-      r=rstk(pt-1)
-      if(r.eq.701.or.r.eq.604) then
-c     restore current error recovery modes
-         errct=ids(2,pt)
-         err2=ids(3,pt)
-         err1=ids(4,pt)
-         errpt=ids(5,pt)
-         catch=ids(6,pt)
-      endif
-
-      pt=pt-1
-      go to 99
-c
- 99   continue
-      return
-      end
-
-      integer function scivarindex(l)
-      include 'stack.h'
-      integer k0,k1,k2,l
-
-      if(l.ge.lstk(bot)) then
-         k0=bot
-         k2=isiz
-      elseif(l.le.lstk(top+1)) then
-         k0=1
-         k2=top+1
-      else
-         scivarindex=0
-         return
-      endif
-
-c     dichotomy search
- 10   continue
-      if (k2-k0.le.1) goto 20
-      k1=int((k2-k0)/2)+k0
-      if(l.ge.lstk(k1)) then
-         k0=k1
-      else
-         k2=k1-1
-      endif
-      goto 10
-
- 20   if (l.ge.lstk(k2)) then
-         scivarindex=k2
-      else
-         scivarindex=k0
-      endif
-      return
-      end
-
index 0476c01..4bde545 100644 (file)
@@ -1,10 +1,10 @@
 c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 c Copyright (C) INRIA
-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 are also available at
 c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
       subroutine matc(chai,lda,m,n,name,job)
@@ -22,13 +22,13 @@ c     lda     : number of rows of chai in the calling routine
 c
 c     name    : character string = name of scilab variable
 c     job     : job= 0 scilab  -> fortran
-c               job= 1 fortran -> scilab  
+c               job= 1 fortran -> scilab
 c
-c    CAUTION: if job=1  m and n are defined by matc. 
+c    CAUTION: if job=1  m and n are defined by matc.
 c    must call matc as follows
-c    call matc(ch,lda,m,n,name,0) 
+c    call matc(ch,lda,m,n,name,0)
 c and NOT as:
-c    call matc(ch,lda,10,10,name,0) if e.g. ch is a 
+c    call matc(ch,lda,10,10,name,0) if e.g. ch is a
 c    10 by 10 matrix of character string.
 c
       integer lda,m,n,job
@@ -123,7 +123,7 @@ c
       lstk(top+1)=sadr(l+(nc+1)*m1*n1)
       l4=lct(4)
       lct(4)=-1
-      call stackp(id,0)
+c     call stackp(id,0)
       lct(4)=l4
       if(err.gt.0) return
       goto 99
index cfb4635..ee99f47 100644 (file)
@@ -1,10 +1,10 @@
 c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 c Copyright (C) INRIA
-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 are also available at
 c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
       subroutine matz(ar,ai,lda,m,n,name,job)
@@ -114,7 +114,7 @@ c
       lstk(top+1)=l+m*n*(it+1)
       l4=lct(4)
       lct(4)=-1
-      call stackp(id,0)
+c     call stackp(id,0)
       lct(4)=l4
       if(err.gt.0) return
       goto 99
index 732d5e5..0764829 100644 (file)
@@ -1,10 +1,10 @@
 c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 c Copyright (C) INRIA
-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 are also available at
 c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
       subroutine matzs(ar,ai,lda,m,n,name,job)
@@ -108,7 +108,7 @@ c
       lstk(top+1)=l+m*n*(it+1)
       l4=lct(4)
       lct(4)=-1
-      call stackp(id,0)
+c     call stackp(id,0)
       lct(4)=l4
       if(err.gt.0) return
       goto 99
diff --git a/scilab/modules/core/src/fortran/misops.f b/scilab/modules/core/src/fortran/misops.f
deleted file mode 100644 (file)
index a54c701..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-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-en.txt
-
-      subroutine misops
-c     operations sur les types secondaires (macros librairies...)
-c     =============================================================
-      include 'stack.h'
-c     
-      integer iadr,op,rhs1,r
-      integer insert,extrac
-      character tmpbuf * (bsiz)
-      data insert/2/,extrac/3/
-c     
-      iadr(l)=l+l-1
-c     
-      r=0
-      if(pt.gt.0) r=rstk(pt)
-      if (r.eq.408) goto 50
-      op=fin
-c     
-      if (ddt .eq. 4) then
-         write(tmpbuf(1:4),'(i4)') fin
-         call basout(io,wte,' misops '//tmpbuf(1:4))
-      endif
-c     
-      fun=0
-c     
-      lw=lstk(top+1)
-      if(op.eq.insert) then
-         rhs1=2
-      elseif(op.eq.extrac) then
-         rhs1=1
-      else
-         rhs1=rhs
-      endif
-c     
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-c     
-c     
-      ityp=0
-      do 01 i=top+1-rhs1,top
-        ityp=max(ityp,abs(istk(iadr(lstk(i)))))
- 01   continue
-      if(ityp.eq.11.or.ityp.eq.13) goto 100
-      if(ityp.eq.14) goto 50
-      call error(43)
-      return
-c
-c
- 50   continue
-c     librairies
-      call libops
-      return
-c     
- 100  continue
-c     macros
-      call macroops
-      return
-c     
-      end
-
-      subroutine libops
-c     Copyright INRIA
-      include 'stack.h'
-c     
-      integer iadr,sadr,op,r
-      integer id(nsiz)
-      integer equal,less,great,extract,blank
-      logical cresmat,ptover
-
-      data equal/50/,less/59/,great/60/,extrac/3/
-      data blank/40/
-c     
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c     
-      r=0
-      if(pt.gt.0) r=rstk(pt)
-      if (r.eq.408) goto 32
-
-      op=fin
-      
-      if(op.eq.equal.or.op.eq.less+great) then
-         goto 10
-      elseif (op.eq.extrac) then
-         goto 30
-      else
-c     .  operations non implantees
-         fin=-fin
-         return
-      endif
-
- 10   il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-
-      top = top-1
-      il1=iadr(lstk(top))
-      ilr=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      itrue=1
-      if(op.eq.less+great) itrue=0
-      ilog=1-itrue
-c     
-      if(istk(il1).ne.istk(il2)) goto 15
-      if(istk(il1+1).ne.istk(il2+1)) goto 15
-      nf=istk(il1+1)
-      do 11 i=1,nf
-         if(istk(il1+1+i).ne.istk(il2+1+i)) goto 15
- 11   continue
-      ln=2+nf
-      if(istk(il1+ln).ne.istk(il2+ln)) goto 15
-      nh=istk(il1+ln)
-      if(nh.gt.0) then
-         do 12 i=1,nh
-            if(istk(il1+ln+i).ne.istk(il2+ln+i)) goto 15
- 12      continue
-      endif
-      ln=ln+nh+1
-      if(istk(il1+ln).ne.istk(il2+ln)) goto 15
-      long=istk(il1+ln)
-      do 13 i=1,long*nsiz
-         if(istk(il1+ln+i).ne.istk(il2+ln+i)) goto 15
- 13   continue
-      ilog=itrue
-      
- 15   istk(ilr)=4
-      istk(ilr+1)=1
-      istk(ilr+2)=1
-      istk(ilr+3)=ilog
-      lstk(top+1)=sadr(ilr+4)
-      return
-c     
-c     extraction
- 30   continue
-c     .  the library
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-
-c     . the index
-      il1=iadr(lstk(top-1))
-      ilr=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      if(istk(il1).eq.10) then
-c     .    only extract the function
-         if(istk(il1+1)*istk(il1+2).ne.1) then
-            call error(44)
-            return
-         endif
-c     .  get the macro name and its length
-         nn=istk(il1+5)-1
-         ilnam=il1+6
-      elseif(istk(il1).eq.15) then
-c     .  extract and call
-         n1=istk(il1+1)
-         l=sadr(il1+3+n1)
-         iln=iadr(l)
-         if(istk(iln).ne.10) then
-            call error(44)
-            return
-         endif
-         if(istk(iln+1)*istk(iln+2).ne.1) then
-            call error(44)
-            return
-         endif
-         nn=istk(iln+5)-1
-         ilnam=iln+6
-      else
-         call error(44)
-         return
-      endif
-c     extract the function out of the library
-c     get the lib path
-      np=istk(il2+1)
-      ilpath=il2+2
-c     load the bin file
-c     create a variable with the bin file path
-      top=top+1
-      if(.not.cresmat(' ',top,1,1,np+4+nn)) return
-      call getsimat('load',top,top,mp,mp,1,1,ilp,nlp)
-c     path
-      call icopy(np,istk(ilpath),1,istk(ilp),1)
-c     name
-      call icopy(nn,istk(ilnam),1,istk(ilp+np),1) 
-c     extension
-      call cvstr(4,istk(ilp+np+nn),'.bin',0)
-c     load variables stored in the given file
-      srhs=rhs
-      slhs=lhs
-      fun=0
-      rhs=1
-      lhs=1
-      id(1)=blank
-
-      if(istk(il1).eq.15) then
-c     simulate a macro to preserve old function definition
-         k = lpt(6)
-         if(k+13+nsiz.gt.lsiz) then
-            call error(108)
-            return
-         endif
-         lin(k+1) = lpt(1)
-         lin(k+5) = bot
-         
-         lpt(1) = k + 13+nsiz
-         lpt(6)=lpt(1)
-         macr=macr+1
-      endif
-
-      call intload(id,k)
-      if(err.gt.0) return
-      rhs=srhs
-      lhs=slhs
-c     
-      if(istk(il1).eq.10) then
-         top=top-2
-         istk(il1)=0
-         lstk(top+1)=sadr(il1+1)
-         return
-      endif
-
-      top=top-2
-c     form individual variables with the 2..n1 entries of index
-      l1=lstk(top)
-      do 31 i=2,n1
-         lstk(top+1)=lstk(top)+istk(il1+2+i)-istk(il1+1+i)
-         top=top+1
- 31   continue
-      l=sadr(il1+3+n1)+istk(il1+3)-1
-      call scidcopy(istk(il1+2+n1)-istk(il1+3),stk(l),1,stk(l1),1)
-      top=top-1
-      rhs=n1-1
-
-c     evaluate loaded macro for given arguments
-      fin=lstk(fin)
-      if (ptover(1,psiz)) return
-      rstk(pt)=408
-      icall=5
-c     *call* macro
-      return
- 32   macr=macr-1
-      pt=pt-1
-      k = lpt(1) - (13+nsiz)
-      bot=lin(k+5)
-      lpt(1)=lin(k+1)
-      fin=1
-
-      return
-      end
-
-      subroutine macroops
-c     Copyright INRIA
-      include 'stack.h'
-c     
-      integer iadr,sadr,op
-      integer equal,less,great
-      data equal/50/,less/59/,great/60/
-c     
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c     
-      op=fin
-c
-      if(op.eq.equal.or.op.eq.less+great) goto 180
-c     
-c     operations non implantees
-      fin=-fin
-      return
-c     
-c     comparaisons of macros
- 180  continue
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-
-      top = top-1
-      il1=iadr(lstk(top))
-      ilr=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      itrue=1
-      if(op.eq.less+great) itrue=0
-      ilog=1-itrue
-c     
-      If(istk(il1).ne.istk(il2)) goto 185
-      if(istk(il1+1).ne.istk(il2+1)) goto 185
-      mrhs=istk(il1+1)
-      do 181 i=1,nsiz*mrhs
-         if(istk(il1+1+i).ne.istk(il2+1+i)) goto 185
- 181  continue
-      ln=2+nsiz*mrhs
-      if(istk(il1+ln).ne.istk(il2+ln)) goto 185
-      mlhs=istk(il1+ln)
-      do 182 i=1,nsiz*mlhs
-         if(istk(il1+ln+i).ne.istk(il2+ln+i)) goto 185
- 182  continue
-      ln=ln+nsiz*mlhs+1
-      if(istk(il1+ln).ne.istk(il2+ln)) goto 185
-      long=istk(il1+ln)
-      do 183 i=1,long
-         if(istk(il1+ln+i).ne.istk(il2+ln+i)) goto 185
- 183  continue
-      ilog=itrue
-      
- 185  istk(ilr)=4
-      istk(ilr+1)=1
-      istk(ilr+2)=1
-      istk(ilr+3)=ilog
-      lstk(top+1)=sadr(ilr+4)
-      return
-      end
diff --git a/scilab/modules/core/src/fortran/mname.f b/scilab/modules/core/src/fortran/mname.f
deleted file mode 100644 (file)
index 02726c8..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-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-en.txt
-
-       subroutine mname(op,id)
-c     ================================================
-c     searches a macro name for overloaded  operations
-c     ================================================
-      include 'stack.h'