e568d8199e9c8491da2457afc833cb3744a673b2
[scilab.git] / scilab / modules / core / includes / stack.h.in
1 c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 c Copyright (C) INRIA
3
4 c This file must be used under the terms of the CeCILL.
5 c This source file is licensed as described in the file COPYING, which
6 c you should have received as part of this distribution.  The terms
7 c are also available at    
8 c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 c*------------------------------------------------------------------
11 c vsiz  size of internal scilab stack 
12 c
13 c bsiz  size of internal chain buf 
14 c
15 c isizt  maximum number of scilab variables global and local 
16 c isiz maximum number of scilab local variables
17 c psiz  defines recursion size
18 c lsiz  dim. of vector containing the command line
19 c nlgh  length of variable names
20 c csiz  used for character coding
21 c intersiz used in interfaces
22 c*-------------------------------------------------------------------
23 Cc (DLL Digital Visual Fortran)     
24 cDEC$ IF DEFINED (FORDLL)
25 cDEC$ ATTRIBUTES DLLIMPORT:: /stack/, /vstk/, /recu/, /iop/
26 cDEC$ ATTRIBUTES DLLIMPORT:: /errgst/, /com/, /adre/
27 cDEC$ ATTRIBUTES DLLIMPORT:: /intersci/ ,/cha1/, /dbg/
28 cDEC$ ENDIF
29 C     ---------------------------------------------------------------
30       integer   csiz,bsiz,isizt,psiz,nsiz,lsiz
31       parameter (csiz=63,bsiz=4096,isizt=10000,psiz=4096,nsiz=6)
32       parameter (lsiz=65536)
33       integer   nlgh,vsiz
34       parameter (nlgh=nsiz*4,vsiz=2)
35       integer   maxdb,maxbpt
36       parameter (maxdb=100,maxbpt=1000)
37       integer intersiz
38       parameter (intersiz=1024)
39 c
40 #ifdef USE_DYNAMIC_STACK
41       integer, pointer :: stack_reserved_for_c__
42       double precision, pointer, dimension(:) ::  stk
43       integer,          pointer, dimension(:) :: istk
44       real,             pointer, dimension(:) :: sstk
45       character,        pointer               :: cstk*(4*vsiz)
46       complex*16,       pointer, dimension(:) :: zstk
47       common /stack/ stack_reserved_for_c__, stk,
48      $  istk, sstk, cstk, zstk
49 #else
50       double precision stk(vsiz)
51       common /stack/ stk
52       integer istk(2*vsiz)
53       equivalence (istk(1),stk(1))
54
55       real sstk(2*vsiz)
56       equivalence (sstk(1),stk(1))
57        
58       character cstk*(4*vsiz)
59       equivalence (cstk,stk(1))
60
61       complex*16 zstk(vsiz/2)
62       equivalence (zstk(1),stk(1))
63 #endif
64
65       integer bot,top,idstk(nsiz,isizt),lstk(isizt),leps,bbot,bot0,isiz
66       integer gbot,gtop,infstk(isizt)
67       common /vstk/ bot,top,idstk,lstk,leps,bbot,bot0,infstk,
68      $     gbot,gtop,isiz
69
70       integer ids(nsiz,psiz),pstk(psiz),rstk(psiz),pt,niv,macr,paus
71       integer icall,krec
72       common /recu/ ids,pstk,rstk,pt,niv,macr,paus,icall,krec
73
74       integer ddt,err,lct(8),lin(lsiz),lpt(6),rio,rte,wte
75       common /iop/ ddt,err,lct,lin,lpt,rio,rte,wte
76
77       integer err1,err2,errct,toperr,errpt,ieee,catch
78       common /errgst/ err1,err2,errct,toperr,errpt,ieee,catch
79
80       integer sym,syn(nsiz),char1,fin,fun,lhs,rhs,ran(2),comp(3)
81       common /com/ sym,syn,char1,fin,fun,lhs,rhs,ran,comp
82
83       character alfa(csiz)*1,alfb(csiz)*1,buf*(bsiz)
84       common /cha1/ alfa,alfb,buf
85
86       integer wmac,lcntr,nmacs,macnms(nsiz,maxdb),lgptrs(maxdb+1)
87       integer bptlg(maxbpt)
88       common /dbg/ wmac,lcntr,nmacs,macnms,lgptrs,bptlg
89
90       integer lbot,ie,is,ipal,nbarg,ladr(intersiz)
91       common/adre/lbot,ie,is,ipal,nbarg,ladr
92       integer nbvars,iwhere(intersiz),
93      $  nbrows(intersiz),nbcols(intersiz),
94      $  itflag(intersiz),ntypes(intersiz),lad(intersiz),
95      $  ladc(intersiz),lhsvar(intersiz)
96       common/intersci/nbvars,iwhere,nbrows,nbcols,
97      $ itflag,ntypes,lad,ladc,lhsvar
98 c*------------------------------------------------------------------
99