1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
#-h- common 2163 local 12/01/80 15:50:08
# Common blocks used by the Ratfor preprocessor
# Place on a file called 'common'
common /cdefio/ bp, buf (BUFSIZE)
integer bp # next available character; init = 0
character buf # pushed-back characters
common /cfname/ fcname (MAXNAME)
character fcname # text of current function name
common /cfor/ fordep, forstk (MAXFORSTK)
integer fordep # current depth of for statements
character forstk # stack of reinit strings
common /cgoto/ xfer
integer xfer # YES if just made transfer, NO otherwise
common /clabel/ label, retlab, memflg, col, logical_column
integer label # next label returned by labgen
integer retlab # label for return code at end of procedure
integer memflg # set to YES after Mem common has been declared
integer col # column where output statement starts
integer logical_column # col = min (maxindent, logical_column)
common /cline/ dbgout, dbglev, level, linect (NFILES), infile (NFILES),
fnamp, fnames (MAXFNAMES)
integer dbgout # YES if debug (-g) output is desired
integer dbglev # current file level for debug output
integer level # level of file inclusion; init = 1
integer linect # line count on input file (level); init = 1
integer infile # file number (level); init infile (1) = STDIN
integer fnamp # next free slot in fnames; init = 2
character fnames # stack of include names; init fnames (1) = EOS
common /cmacro/ cp, ep, evalst (EVALSIZE), deftbl
integer cp # current call stack pointer
integer ep # next free position in evalst
character evalst # evaluation stack
pointer deftbl # symbol table holding macro names
common /coutln/ outp, outbuf (74)
integer outp # last position filled in outbuf; init = 0
character outbuf # output lines collected here
common /csbuf/ sbp, sbuf(SBUFSIZE), smem(SZ_SMEM)
integer sbp # next available character position; init = 1
character sbuf # saved for data statements
character smem # mem declaration
common /cswtch/ swtop, swlast, swstak(MAXSWITCH), swvnum, swvlev,
swvstk(MAXSWNEST), swinrg
integer swtop # current switch entry; init = 0
integer swlast # next available position; init = 1
integer swstak # switch information
integer swvnum # counter for switch variable names; init = 0
integer swvlev # level pointer for nesting of switches; init = 0
integer swvstk # stack for the switch variable names
integer swinrg # assert swinrange - disable range checking in next sw.
common /ckword/ rkwtbl
pointer rkwtbl # symbol table containing Ratfor key words
common /clname/ fkwtbl, namtbl, gentbl, errtbl, xpptbl
pointer fkwtbl # a list of long Fortran keywords
pointer namtbl # map of long-form names to short-form names
pointer gentbl # list of generated names
pointer errtbl # symbol table of names to be error checked
pointer xpptbl # table of xpp directives
common /erchek/ ername, body, esp, errstk(MAXERRSTK)
integer ername # YES if err checked name encountered
integer body # YES when between BEGIN .. END block
integer esp # error stack pointer
integer errstk # error stack (for statement labels)
DS_DECL(mem, MEMSIZE)
#-t- common 2163 local 12/01/80 15:50:08
|