aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibr/patsiz.r
blob: 54265b64b32fe29f0563f983bc3f20f34a4ff0ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
include	defs

# patsiz --- returns size of pattern entry at pat (n)

   integer function patsiz (pat, n)
   character pat (MAXPAT)
   integer n

   if (pat (n) == CHAR | pat (n) == START_TAG | pat (n) == STOP_TAG)
      patsiz = 2
   else if (pat (n) == BOL | pat (n) == EOL | pat (n) == ANY)
      patsiz = 1
   else if (pat (n) == CCL | pat (n) == NCCL)
      patsiz = pat (n + 1) + 2
   else if (pat (n) == CLOSURE)      # optional
      patsiz = CLOSIZE
   else
      call error ("in patsiz: can't happen.")

   return
   end