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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
integer function lex (lexstr)
integer lexstr (100)
common /cdefio/ bp, buf (4096)
integer bp
integer buf
common /cfname/ fcname (30)
integer fcname
common /cfor/ fordep, forstk (200)
integer fordep
integer forstk
common /cgoto/ xfer
integer xfer
common /clabel/ label, retlab, memflg, col, logic0
integer label
integer retlab
integer memflg
integer col
integer logic0
common /cline/ dbgout, dbglev, level, linect (5), infile (5), fnam
*p, fnames ( 150)
integer dbgout
integer dbglev
integer level
integer linect
integer infile
integer fnamp
integer fnames
common /cmacro/ cp, ep, evalst (500), deftbl
integer cp
integer ep
integer evalst
integer deftbl
common /coutln/ outp, outbuf (74)
integer outp
integer outbuf
common /csbuf/ sbp, sbuf(2048), smem(240)
integer sbp
integer sbuf
integer smem
common /cswtch/ swtop, swlast, swstak(1000), swvnum, swvlev, swvst
*k(10), swinrg
integer swtop
integer swlast
integer swstak
integer swvnum
integer swvlev
integer swvstk
integer swinrg
common /ckword/ rkwtbl
integer rkwtbl
common /clname/ fkwtbl, namtbl, gentbl, errtbl, xpptbl
integer fkwtbl
integer namtbl
integer gentbl
integer errtbl
integer xpptbl
common /erchek/ ername, body, esp, errstk(30)
integer ername
integer body
integer esp
integer errstk
integer mem( 60000)
common/cdsmem/mem
integer gnbtok, t, c
integer lookup, n
integer sdefa0(8)
data sdefa0(1)/100/,sdefa0(2)/101/,sdefa0(3)/102/,sdefa0(4)/97/,sd
*efa0(5)/117/,sdefa0(6)/108/,sdefa0(7)/116/,sdefa0(8)/-2/
lex = gnbtok (lexstr, 100)
23000 if (.not.(lex .eq. 10))goto 23002
23001 lex = gnbtok (lexstr, 100)
goto 23000
23002 continue
if (.not.(lex .eq. -1 .or. lex .eq. 59 .or. lex .eq. 123 .or. lex
*.eq. 125))goto 23003
return
23003 continue
if (.not.(lex .eq. 48))goto 23005
lex = -89
goto 23006
23005 continue
if (.not.(lex .eq. 37))goto 23007
lex = -85
goto 23008
23007 continue
if (.not.(lex .eq. -166))goto 23009
lex = -67
goto 23010
23009 continue
if (.not.(lookup (lexstr, lex, rkwtbl) .eq. 1))goto 23011
if (.not.(lex .eq. -90))goto 23013
n = -1
23015 continue
c = ngetch (c)
n = n + 1
23016 if (.not.(c .ne. 32 .and. c .ne. 9))goto 23015
23017 continue
call putbak (c)
t = gnbtok (lexstr, 100)
call pbstr (lexstr)
if (.not.(n .gt. 0))goto 23018
call putbak (32)
23018 continue
call scopy (sdefa0, 1, lexstr, 1)
if (.not.(t .ne. 58))goto 23020
lex = -80
23020 continue
23013 continue
goto 23012
23011 continue
lex = -80
23012 continue
23010 continue
23008 continue
23006 continue
return
end
c logic0 logical_column
c sdefa0 sdefault
|