COMPILATION LISTING OF SEGMENT cv_pmf Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 06/30/86 1430.0 mst Mon Options: optimize map 1 2 3 /* * * * * * * * * * * * * * * * * * * * * * * */ 4 /* */ 5 /* COMPILED OUTPUT OF SEGMENT cv_pmf.rd */ 6 /* Compiled by: reduction_compiler, Version 2.5 of Oct 21, 1985 */ 7 /* Compiled on: 06/30/86 1430.0 mst Mon */ 8 /* */ 9 /* * * * * * * * * * * * * * * * * * * * * * * */ 10 11 /* ************************************************************** 12* * * 13* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 14* * * 15* * Copyright, (C) Massachusetts Institute of Technology, 1982 * 16* * * 17* * Copyright (c) 1972 by Massachusetts Institute of * 18* * Technology and Honeywell Information Systems, Inc. * 19* * * 20* ************************************************************** */ 21 22 23 24 25 26 /* HISTORY COMMENTS: 27* 1) change(86-05-20,Gilcrease), approve(86-05-22,MCR7369), 28* audit(86-06-23,LJAdams), install(86-06-30,MR12.0-1081): 29* Allow weekly cutoffs. SCP6250. 30* END HISTORY COMMENTS */ 31 32 33 /* CV_PMF - Compile a Project Master File (PMF) into a Project Definition Table (PDT). 34* 35* See AK-51 for an explanation of the contents of the PMF. 36* See AN-66 for an explanation of the format of the PDT. 37* 38* THVV April 74 39* Modified 750717 by PG to fix bug 001 (pathnames with $ were being diagnosed) 40* Modified by THVV and TAC for Priority Scheduler parameters, June 1975 41* Modified by REMullen to merge THVV,TAC,PG changes, July 1975 42* Modified May 1976 by T. Casey to add per_user cutoff warning thresholds. 43* Modified May 1978 by T. Casey to add pdir_quota. 44* Modified November 1978 by T. Casey for MR7.0 to add new absentee control parameters. 45* Modified October 1979 by T. Casey for MR8.0 for process preservation control parameters. 46* Modified December 1981 by E. N. Kittlitz for bugfixes, User_warn controls. 47* Modified January 1982 by BIM for author changes. 48* Modified July 1982 by E. N. Kittlitz for [severity] and pmf suffix. 49* Modified September 1982 by E. N. Kittlitz for default ring. 50* Modified November 1982 by J. I. Schiller to correctly parse dollar values. 51* Modified 1984-07-05 BIM for authorization ranges. 52* Modified 1984-07-25 BIM for checks against live pdt sate. 53* Modified 1984-09-14 BIM to check for current version of live pdt sate 54* and NOT use sate authorization as default user authorization. 55* Modified 1984-11-20 BIM Fix "Authorization:" statement. 56**/ 57 58 /*++ 59* 60*BEGIN 61*1 / Projectid : ; / LEX(2) set_project_name LEX(2) / head \ 62*2 / / ERROR(2) / RETURN \ 63* 64*head / Grace : ; / LEX(2) [default.bump_grace = token.Nvalue] LEX(2) / head \ 65*4 / Attributes : / LEX(2) PUSH(head) PUSH(assign_default_attributes) / attrsub \ 66*5 / Initproc : , direct ; 67* / LEX(2) set_ip_ss (default.initial_procedure,default.uflags.ip_given,default.ip_len) 68* LEX(4) [default.dont_call_init_admin = "1"b] / head \ 69*6 / Initproc : ; / LEX(2) set_ip_ss (default.initial_procedure,default.uflags.ip_given,default.ip_len) 70* LEX(2) [default.dont_call_init_admin = "0"b] / head \ 71*7 / Initproc : ; / LEX(2) ERROR(22) LEX(2) / head \ 72*8 / Subsystem : ; / LEX(2) set_ip_ss (default_subsystem,default.uflags.ss_given, default.ss_len) 73* LEX(2) / head \ 74*9 / Subsystem : ; / LEX(2) ERROR(22) LEX(2) / head \ 75*10 / Homedir : ; / LEX(2) [call set_string ("Homedir", default.home_dir, token_value)] LEX(2) / head \ 76*11 / Homedir : ; / LEX(2) ERROR(22) LEX(2) / head \ 77*12 / Outer_module : ; / LEX(2) [call set_string ("Outer_module", default.outer_module, token_value)] LEX(2) / head \ 78*13 / Outer_module : ; / LEX(2) ERROR(22) LEX(2) / head \ 79*14 / Lot_size : , own ; / LEX(2) [default.lot_size = -token.Nvalue] LEX(4) / head \ 80*15 / Lot_size : , stack ; / LEX(2) [default.lot_size = token.Nvalue] LEX(4) / head \ 81*16 / Lot_size : ; / LEX(2) [default.lot_size = token.Nvalue] LEX(2) / head \ 82*17 / Kst_size : ; / LEX(2) [default.kst_size = token.Nvalue] LEX(2) / head \ 83* / Cls_size : , stack ; / LEX(2) [default.cls_size = -token.Nvalue] LEX(4) / head \ 84*19 / Cls_size : , own ; / LEX(2) [default.cls_size = token.Nvalue] LEX(4) / head \ 85*20 / Cls_size : ; / LEX(2) [default.cls_size = token.Nvalue] LEX(2) / head \ 86*21 / Pdir_quota : ; / LEX(2) [default.pdir_quota = token.Nvalue] LEX(2) / head \ 87*22 / Max_foreground : ; / LEX(2) [default.max_foreground = token.Nvalue] LEX(2) / head \ 88*23 / Max_background : ; / LEX(2) [default.max_background = token.Nvalue] LEX(2) / head \ 89*24 / Abs_foreground_cpu_limit : ; 90* / LEX(2) [default.abs_foreground_cpu_limit = token.Nvalue] LEX(2) / head \ 91*25 / Cutoff : / LEX(2) PUSH(head) PUSH(default_cutoff) / number \ 92*26 / Limit : / LEX(2) PUSH(head) PUSH(default_monthlim) / number \ 93*27 / Shift_limit : / LEX(2) PUSH(head) [x = 1] / default_shiftlims \ 94*28 / User_warn_days : ; / LEX(2) [default.user_warn_days = token.Nvalue] LEX(2) / head \ 95*29 / User_warn_percent : ; / LEX(2) [default.user_warn_pct = token.Nvalue] LEX(2) / head \ 96*30 / User_warn_dollars : / LEX(2) PUSH(head) PUSH(default_user_warn_doll) / number \ 97*31 / Warn_days : ; / LEX(2) [default.warn_days = token.Nvalue] LEX(2) / head \ 98*32 / Warn_percent : ; / LEX(2) [default.warn_pct = token.Nvalue] LEX(2) / head \ 99*33 / Warn_dollars : / LEX(2) PUSH(head) PUSH(default_warn_doll) / number \ 100*34 / Ring : , , ; / LEX (2) [default.low_ring = token.Nvalue] LEX (2) 101* [default.high_ring = token.Nvalue] LEX (2) 102* [default.default_ring = token.Nvalue] LEX (2) / head \ 103*35 / Ring : , ; / LEX(2) [default.low_ring = token.Nvalue] 104* [default.default_ring = token.Nvalue] LEX(2) 105* [default.high_ring = token.Nvalue] LEX (2) / head \ 106*36 / Ring : ; / LEX(2) [default.low_ring = token.Nvalue] 107* [default.default_ring = token.Nvalue] 108* [default.high_ring = token.Nvalue] LEX(2) / head \ 109*37 / Authorization : ; 110* / LEX(2) [default.user_authorization = authorization_value] 111* check_default_authorization 112* LEX(2) 113* / head \ 114*38 / Authorization : ; 115* / LEX(2) ERROR(25) LEX(2) / head \ 116*39 / Group : ; / LEX(2) [call set_string ("Group", Default_Group, token_value)] LEX(2)/ head \ 117*40 / personid : / / user \ 118*41 / Grace / / error_23_in_head \ 119*42 / Attributes / / error_23_in_head \ 120*43 / Initproc / / error_23_in_head \ 121*44 / Homedir / / error_23_in_head \ 122*45 / Outer_module / / error_23_in_head \ 123*46 / Lot_size / / error_23_in_head \ 124*47 / Kst_size / / error_23_in_head \ 125*48 / Cls_size / / error_23_in_head \ 126*49 / Pdir_quota / / error_23_in_head \ 127*50 / Max_foreground / / error_23_in_head \ 128*51 / Max_background / / error_23_in_head \ 129*52 / Abs_foreground_cpu_limit / / error_23_in_head \ 130*53 / Cutoff / / error_23_in_head \ 131*54 / Limit / / error_23_in_head \ 132*55 / Shift_limit / / error_23_in_head \ 133*56 / User_warn_days / / error_23_in_head \ 134*57 / User_warn_percent / / error_23_in_head \ 135*58 / User_warn_dollars / / error_23_in_head \ 136*59 / Warn_days / / error_23_in_head \ 137*60 / Warn_percent / / error_23_in_head \ 138*61 / Warn_dollars / / error_23_in_head \ 139*62 / Ring / / error_23_in_head \ 140*63 / Audit / / error_23_in_head \ 141*64 / Authorization / / error_23_in_head \ 142*65 / Group / / error_23_in_head \ 143*66 / personid / / error_23_in_head \ 144*67 / Accountid / ERROR(29) NEXT_STMT / head \ 145*68 / / ERROR(1) NEXT_STMT / head \ 146*69 / / ERROR(5) / RETURN \ 147* 148*error_23_in_head 149*70 / / ERROR (23) NEXT_STMT / head \ 150* 151*user / end ; / close / RETURN \ 152*72 / end ; / ERROR (35) close / RETURN \ 153*73 / personid : * ; / LEX(3) close open_anon LEX / user \ 154*74 / personid : ; / LEX(2) close open LEX(2) / user \ 155*75 / password : ; / LEX(2) [call set_string ("password", user.password, token_value)] LEX(2)/ user \ 156*76 / ring : , , ; / LEX (2) [user.low_ring = token.Nvalue] LEX (2) 157* [user.high_ring = token.Nvalue] LEX (2) 158* [user.default_ring = token.Nvalue] LEX (2) / user \ 159*77 / ring : , ; / LEX(2) [user.low_ring = token.Nvalue] 160* [user.default_ring = token.Nvalue] LEX(2) 161* [user.high_ring = token.Nvalue] LEX(2) / user \ 162*78 / ring : ; / LEX(2) [user.low_ring = token.Nvalue] 163* [user.default_ring = token.Nvalue] 164* [user.high_ring = token.Nvalue] LEX(2) / user \ 165*79 / initproc : , direct ; 166* / LEX(2) set_ip_ss (user.initial_procedure, user.uflags.ip_given, user.ip_len) 167* LEX(4) [user.dont_call_init_admin = "1"b] / user \ 168*80 / initproc : ; / LEX(2) set_ip_ss (user.initial_procedure, user.uflags.ip_given, user.ip_len) 169* LEX(2) [user.dont_call_init_admin = "0"b] / user \ 170*81 / initproc : ; / LEX(2) ERROR(22) LEX(2) / user \ 171*82 / subsystem : ; / LEX(2) set_ip_ss (user_subsystem, user.uflags.ss_given, user.ss_len) 172* LEX(2) / user \ 173*83 / subsystem: ; / LEX(2) ERROR(22) LEX(2) / user \ 174*84 / homedir : ; / LEX(2) [call set_string ("homedir", user.home_dir, token_value)] LEX(2)/ user \ 175*85 / homedir : ; / LEX(2) ERROR(22) LEX(2) / user \ 176*86 / outer_module : ; / LEX(2) [call set_string ("outer_module", user.outer_module, token_value)] LEX(2)/ user \ 177*87 / outer_module : ; / LEX(2) ERROR(22) LEX(2) / user \ 178*88 / lot_size : , own ; / LEX(2) [user.lot_size = -token.Nvalue] LEX(4) / user \ 179*89 / lot_size : , stack ; / LEX(2) [user.lot_size = token.Nvalue] LEX(4) / user \ 180*90 / lot_size : ; / LEX(2) [user.lot_size = token.Nvalue] LEX(2) / user \ 181*91 / kst_size : ; / LEX(2) [user.kst_size = token.Nvalue] LEX(2) / user \ 182*92 / cls_size : , stack ; / LEX(2) [user.cls_size = -token.Nvalue] LEX(4) / user \ 183*93 / cls_size : , own ; / LEX(2) [user.cls_size = token.Nvalue] LEX(4) / user \ 184*94 / cls_size : ; / LEX(2) [user.cls_size = token.Nvalue] LEX(2) / user \ 185*95 / pdir_quota : ; / LEX(2) [user.pdir_quota = token.Nvalue] LEX(2) / user \ 186*96 / max_foreground : ; / LEX(2) [user.max_foreground = token.Nvalue] LEX(2) / user \ 187*97 / max_background : ; / LEX(2) [user.max_background = token.Nvalue] LEX(2) / user \ 188*98 / abs_foreground_cpu_limit : ; 189* / LEX(2) [user.abs_foreground_cpu_limit = token.Nvalue] LEX(2) / user \ 190*99 / cutoff : / LEX(2) PUSH(user) PUSH(cutoff) / number \ 191*100 / grace : ; / LEX(2) [user.bump_grace = token.Nvalue] LEX(2) / user \ 192*101 / attributes : / LEX(2) PUSH(user) PUSH(assign_user_attributes) / attrsub \ 193*102 / limit : / LEX(2) PUSH(user) PUSH(monthlim) / number \ 194*103 / shift_limit : / LEX(2) PUSH(user) [x = 1] / shiftlims \ 195*104 / user_warn_days : ; / LEX(2) [user.user_warn_days = token.Nvalue] LEX(2)/ user \ 196*105 / user_warn_percent : ; / LEX(2) [user.user_warn_pct = token.Nvalue] LEX(2)/ user \ 197*106 / user_warn_dollars : / LEX(2) PUSH(user) PUSH(user_warn_doll) / number \ 198*107 / warn_days : ; / LEX(2) [user.warn_days = token.Nvalue] LEX(2) / user \ 199*108 / warn_percent : ; / LEX(2) [user.warn_pct = token.Nvalue] LEX(2) / user \ 200*109 / warn_dollars : / LEX(2) PUSH(user) PUSH(warn_doll) / number \ 201*110 / authorization : ; 202* / LEX(2) [user.user_authorization = authorization_value] 203* check_user_authorization 204* LEX(2) 205* / user \ 206*111 / authorization : ; / LEX(2) ERROR(25) LEX(2) / user \ 207*112 / group : ; / LEX(2) [call set_string ("group", user.group, token_value)] LEX(2) / user \ 208*113 / Grace : ; / LEX(2) [default.bump_grace = token.Nvalue] LEX(2) / user \ 209*114 / Attributes : / LEX(2) PUSH(user) PUSH(assign_default_attributes) / attrsub \ 210*115 / Initproc : , direct ; 211* / LEX(2) set_ip_ss (default.initial_procedure,default.uflags.ip_given,default.ip_len) 212* LEX(4) [default.dont_call_init_admin = "1"b] / user \ 213*116 / Initproc : ; / LEX(2) set_ip_ss (default.initial_procedure,default.uflags.ip_given,default.ip_len) 214* LEX(2) [default.dont_call_init_admin = "0"b] / user \ 215*117 / Initproc : ; / LEX(2) ERROR(22) LEX(2) / user \ 216*118 / Subsystem : ; / LEX(2) set_ip_ss (default_subsystem, default.uflags.ss_given, default.ss_len) 217* LEX(2) / user \ 218*119 / Subsystem : ; / LEX(2) ERROR(22) LEX(2) / user \ 219*120 / Homedir : ; / LEX(2) [call set_string ("Homedir", default.home_dir, token_value)] LEX(2) / user \ 220*121 / Homedir : ; / LEX(2) ERROR(22) LEX(2) / user \ 221*122 / Outer_module : ; / LEX(2) [call set_string ("Outer_module", default.outer_module, token_value)] LEX(2) / user \ 222*123 / Outer_module : ; / LEX(2) ERROR(22) LEX(2) / user \ 223*124 / Lot_size : , own ; / LEX(2) [default.lot_size = -token.Nvalue] LEX(4) / user \ 224*125 / Lot_size : , stack ; / LEX(2) [default.lot_size = token.Nvalue] LEX(4) / user \ 225*126 / Lot_size : ; / LEX(2) [default.lot_size = token.Nvalue] LEX(2) / user \ 226*127 / Kst_size : ; / LEX(2) [default.kst_size = token.Nvalue] LEX(2) / user \ 227* / Cls_size : , stack ; / LEX(2) [default.cls_size = -token.Nvalue] LEX(4) / user \ 228*129 / Cls_size : , own ; / LEX(2) [default.cls_size = token.Nvalue] LEX(4) / user \ 229*130 / Cls_size : ; / LEX(2) [default.cls_size = token.Nvalue] LEX(2) / user \ 230*131 / Cutoff : / LEX(2) PUSH(user) PUSH(default_cutoff) / number \ 231*132 / Limit : / LEX(2) PUSH(user) PUSH(default_monthlim) / number \ 232*133 / Shift_limit : / LEX(2) PUSH(user) [x = 1] / default_shiftlims \ 233*134 / User_warn_days : ; / LEX(2) [default.user_warn_days = token.Nvalue] LEX(2)/ user \ 234*135 / User_warn_percent : ; / LEX(2) [default.user_warn_pct = token.Nvalue] LEX(2)/ user \ 235*136 / User_warn_dollars : / LEX(2) PUSH(user) PUSH(default_user_warn_doll) / number \ 236*137 / Warn_days : ; / LEX(2) [default.warn_days = token.Nvalue] LEX(2) / user \ 237*138 / Warn_percent : ; / LEX(2) [default.warn_pct = token.Nvalue] LEX(2) / user \ 238*139 / Warn_dollars : / LEX(2) PUSH(user) PUSH(default_warn_doll) / number \ 239*140 / Ring : , , ; / LEX (2) [default.low_ring = token.Nvalue] LEX (2) 240* [default.high_ring = token.Nvalue] LEX (2) 241* [default.default_ring = token.Nvalue] LEX (2) / user \ 242*141 / Ring : , ; 243* / LEX(2) [default.low_ring = token.Nvalue] 244* [default.default_ring = token.Nvalue] LEX(2) 245* [default.high_ring = token.Nvalue] LEX(2) / user \ 246*142 / Ring : ; / LEX(2) [default.low_ring = token.Nvalue] 247* [default.default_ring = token.Nvalue] 248* [default.high_ring = token.Nvalue] LEX(2) / user \ 249*143 / Authorization : ; 250* / LEX(2) [default.user_authorization = authorization_value] LEX(2) 251* / user \ 252*144 / Authorization : ; 253* / LEX(2) ERROR(25) LEX(2) / user \ 254*145 / Group : ; / LEX(2) [call set_string ("Group", Default_Group, token_value)] LEX(2)/ user \ 255*146 / Grace / / error_23_in_user \ 256*147 / Attributes / / error_23_in_user \ 257*148 / Initproc / / error_23_in_user \ 258*149 / Subsystem / / error_23_in_user \ 259*150 / Homedir / / error_23_in_user \ 260*151 / Outer_module / / error_23_in_user \ 261*152 / Lot_size / / error_23_in_user \ 262*153 / Kst_size / / error_23_in_user \ 263*154 / Cls_size / / error_23_in_user \ 264*155 / Pdir_quota / / error_23_in_user \ 265*156 / Max_foreground / / error_23_in_user \ 266*157 / Max_background / / error_23_in_user \ 267*158 / Abs_foreground_cpu_limit / / error_23_in_user \ 268*159 / Cutoff / / error_23_in_user \ 269*160 / Limit / / error_23_in_user \ 270*161 / Shift_limit / / error_23_in_user \ 271*162 / User_warn_days / / error_23_in_user \ 272*163 / User_warn_percent / / error_23_in_user \ 273*164 / User_warn_dollars / / error_23_in_user \ 274*165 / Warn_days / / error_23_in_user \ 275*166 / Warn_percent / / error_23_in_user \ 276*167 / Warn_dollars / / error_23_in_user \ 277*168 / Ring / / error_23_in_user \ 278*169 / Audit / / error_23_in_user \ 279*170 / Authorization / / error_23_in_user \ 280*171 / Group / / error_23_in_user \ 281*172 / end / / error_23_in_user \ 282*173 / personid / / error_23_in_user \ 283*174 / ring / / error_23_in_user \ 284*175 / initproc / / error_23_in_user \ 285*176 / subsystem / / error_23_in_user \ 286*177 / homedir / / error_23_in_user \ 287*178 / outer_module / / error_23_in_user \ 288*179 / lot_size / / error_23_in_user \ 289*180 / kst_size / / error_23_in_user \ 290*181 / cls_size / / error_23_in_user \ 291*182 / pdir_quota / / error_23_in_user \ 292*183 / max_foreground / / error_23_in_user \ 293*184 / max_background / / error_23_in_user \ 294*185 / abs_foreground_cpu_limit / / error_23_in_user \ 295*186 / cutoff / / error_23_in_user \ 296*187 / grace / / error_23_in_user \ 297*188 / attributes / / error_23_in_user \ 298*189 / limit / / error_23_in_user \ 299*190 / shift_limit / / error_23_in_user \ 300*191 / user_warn_days / / error_23_in_user \ 301*192 / user_warn_percent / / error_23_in_user \ 302*193 / user_warn_dollars / / error_23_in_user \ 303*194 / warn_days / / error_23_in_user \ 304*195 / warn_percent / / error_23_in_user \ 305*196 / warn_dollars / / error_23_in_user \ 306*197 / authorization / / error_23_in_user \ 307*198 / group / / error_23_in_user \ 308*199 / Accountid / ERROR(29) NEXT_STMT / user \ 309*200 / accountid / ERROR(29) NEXT_STMT / user \ 310*201 / / ERROR(3) NEXT_STMT / user \ 311*202 / / ERROR(5) close / RETURN \ 312* 313*error_23_in_user 314*203 / / ERROR (23) NEXT_STMT / user \ 315* 316*attrsub / / [sx = ON; string(ats(ON)) = ""b; string(ats(OFF)) = ""b] / \ 317*attloop / ; / LEX / STACK_POP \ 318*206 / none / LEX / gobble_semi \ 319*207 / null / LEX / gobble_semi \ 320*208 / ^ / LEX [sx = 1 - sx] / \ 321*209 / administrator / LEX [ats (sx).administrator = "1"b] / atts \ 322*210 / admin / LEX [ats (sx).administrator = "1"b] / atts \ 323*211 / primary_line / LEX [ats (sx).primary_line = "1"b] / atts \ 324*212 / nobump / LEX [ats (sx).nobump = "1"b] / atts \ 325*213 / guaranteed_login / LEX [ats (sx).guaranteed_login = "1"b] / atts \ 326*214 / guar / LEX [ats (sx).guaranteed_login = "1"b] / atts \ 327*215 / anonymous / LEX [ats (sx).anonymous = "1"b] / atts \ 328*216 / anon / LEX [ats (sx).anonymous = "1"b] / atts \ 329*217 / nopreempt / LEX [ats (sx).nopreempt = "1"b] / atts \ 330*218 / nolist / LEX [ats (sx).nolist = "1"b] / atts \ 331*219 / dialok / LEX [ats (sx).dialok = "1"b] / atts \ 332*220 / dial / LEX [ats (sx).dialok = "1"b] / atts \ 333*221 / multip / LEX [ats (sx).multip = "1"b] / atts \ 334*222 / multi_login / LEX [ats (sx).multip = "1"b] / atts \ 335*223 / preempting / LEX [ats (sx).bumping = "1"b] / atts \ 336*224 / bumping / LEX [ats (sx).bumping = "1"b] / atts \ 337*225 / brief / LEX [ats (sx).brief = "1"b] / atts \ 338*226 / vinitproc / LEX [ats (sx).vinitproc = "1"b] / atts \ 339*227 / v_process_overseer / LEX [ats (sx).vinitproc = "1"b] / atts \ 340*228 / vhomedir / LEX [ats (sx).vhomedir = "1"b] / atts \ 341*229 / v_home_dir / LEX [ats (sx).vhomedir = "1"b] / atts \ 342*230 / nostartup / LEX [ats (sx).nostartup = "1"b] / atts \ 343*231 / no_start_up / LEX [ats (sx).nostartup = "1"b] / atts \ 344*232 / no_secondary / LEX [ats (sx).sb_ok = "1"b] / atts \ 345*233 / no_sec / LEX [ats (sx).sb_ok = "1"b] / atts \ 346*234 / no_primary / LEX [ats (sx).pm_ok = "1"b] / atts \ 347*235 / no_prime / LEX [ats (sx).pm_ok = "1"b] / atts \ 348*236 / no_edit_only / LEX [ats (sx).eo_ok = "1"b] / atts \ 349*237 / no_eo / LEX [ats (sx).eo_ok = "1"b] / atts \ 350*238 / op_login / LEX [ats (sx).daemon = "1"b] / atts \ 351*239 / daemon / LEX [ats (sx).daemon = "1"b] / atts \ 352*240 / v_outer_module / ERROR(33) LEX / atts \ 353* / vdim / ERROR(33) LEX / atts \ 354*242 / no_warning / LEX [ats (sx).no_warning = "1"b] / atts \ 355*243 / nowarn / LEX [ats (sx).no_warning = "1"b] / atts \ 356*244 / igroup / LEX [ats (sx).igroup = "1"b] / atts \ 357*245 / save_pdir / LEX [ats (sx).save_pdir = "1"b] / atts \ 358*246 / disconnect_ok / LEX [ats (sx).disconnect_ok = "1"b] / atts \ 359*247 / save_on_disconnect / LEX [ats (sx).save_on_disconnect = "1"b] / atts \ 360*248 / save / LEX [ats (sx).save_on_disconnect = "1"b] / atts \ 361*249 / / ERROR(4) NEXT_STMT / STACK_POP \ 362*250 / / ERROR(5) / RETURN \ 363* 364*atts / , / LEX [sx = ON] / attloop \ 365*gobble_semi 366*252 / ; / LEX / STACK_POP \ 367*253 / / ERROR(4) NEXT_STMT / STACK_POP \ 368*254 / / ERROR(5) / RETURN \ 369* 370*assign_default_attributes 371*255 / / [string (default.at) = string (ats (ON)) & ^string (ats (OFF))] 372* / STACK_POP \ 373* 374*assign_user_attributes 375*256 / / [string (user.at) = string (default.at) | string (ats (ON))] 376* [string (user.at) = string (user.at) & ^string (ats (OFF))] 377* / STACK_POP \ 378* 379*number / / [t = 0] / \ 380*258 / / cv_float_ (token_value, (0), t) LEX / STACK_POP \ 381*259 / / [t = 1e0*token.Nvalue] LEX / STACK_POP \ 382*260 / open / [t = BIGFLO] LEX / STACK_POP \ 383*261 / / ERROR(6) NEXT_STMT LEX(-1) / STACK_POP \ 384*262 / / ERROR(5) / RETURN \ 385* 386*default_monthlim / ; / LEX [default.dollar_limit = t] / STACK_POP \ 387*264 / / ERROR(7) NEXT_STMT / STACK_POP \ 388*265 / / ERROR(5) / RETURN \ 389* 390*monthlim / ; / LEX [user.dollar_limit = t] / STACK_POP \ 391*267 / / ERROR(7) NEXT_STMT / STACK_POP \ 392*268 / / ERROR(5) / RETURN \ 393* 394*default_cutoff / ; / LEX [default.absolute_limit = t] / STACK_POP \ 395*270 / , / LEX PUSH(get_default_increment) PUSH(check_date) / concatenate_date \ 396*271 / / ERROR(8) NEXT_STMT / STACK_POP \ 397* 398*cutoff / ; / LEX [user.absolute_limit = t] / STACK_POP \ 399*273 / , / LEX PUSH(get_increment) PUSH(check_date) / concatenate_date \ 400*274 / / ERROR(8) NEXT_STMT / STACK_POP \ 401* 402*get_default_increment 403*275 / ; / [default.absolute_limit = t] 404* [default.absolute_cutoff = time] LEX / STACK_POP \ 405*276 / , ; / [default.absolute_limit = t] 406* [default.absolute_cutoff = time] 407* [default.absolute_increm = x] LEX(3) / STACK_POP \ 408*277 / / ERROR(8) NEXT_STMT / STACK_POP \ 409* 410*get_increment 411*278 / ; / [user.absolute_limit = t] 412* [user.absolute_cutoff = time] LEX / STACK_POP \ 413*279 / , ; / [user.absolute_limit = t] 414* [user.absolute_cutoff = time] 415* [user.absolute_increm = x] LEX(3) / STACK_POP \ 416*280 / / ERROR(8) NEXT_STMT / STACK_POP \ 417* 418*concatenate_date 419*281 / / [date_string = ""] / \ 420*date_loop / ; / / STACK_POP \ 421*283 / , / / STACK_POP \ 422*284 / / [date_string = date_string || token_value || " "] LEX / date_loop \ 423*285 / / ERROR(8) / STACK_POP \ 424* 425*check_date 426*286 / / / STACK_POP \ 427*287 / / ERROR(28) / STACK_POP \ 428* 429*default_shiftlims / ; / LEX [default.shift_limit(x) = t] / STACK_POP \ 430*289 / , / LEX [default.shift_limit(x) = t] bump_x / default_shiftlims \ 431*290 / / PUSH(default_shiftlims) / number \ 432* 433* 434*shiftlims / ; / LEX [user.shift_limit(x) = t] / STACK_POP \ 435*292 / , / LEX [user.shift_limit(x) = t] bump_x / shiftlims \ 436*293 / / PUSH(shiftlims) / number \ 437* 438*default_warn_doll / ; / LEX [default.warn_dollars = t] / STACK_POP \ 439*295 / / ERROR(7) NEXT_STMT / STACK_POP \ 440*296 / / ERROR(5) / RETURN \ 441* 442*warn_doll / ; / LEX [user.warn_dollars = t] / STACK_POP \ 443*298 / / ERROR(7) NEXT_STMT / STACK_POP \ 444*299 / / ERROR(5) / RETURN \ 445* 446*default_user_warn_doll / ; / LEX [default.user_warn_dollars = t] / STACK_POP \ 447*301 / / ERROR(7) NEXT_STMT / STACK_POP \ 448*302 / / ERROR(5) / RETURN \ 449* 450*user_warn_doll/ ; / LEX [user.user_warn_dollars = t] / STACK_POP \ 451*304 / / ERROR(7) NEXT_STMT / STACK_POP \ 452*305 / / ERROR(5) / RETURN \ 453* 454* 455* ++*/ 456 457 /* format: style4 */ 458 cv_pmf: procedure; 459 460 /* automatic */ 461 462 dcl (APstmt, APtoken, areap, pdtep, pdtp, pmfp) ptr; 463 464 dcl 1 default aligned like user; 465 dcl 1 ats (0:1) aligned like user.at; /* ats (0) - ON bits, ats (1) - OFF bits */ 466 467 dcl authorization_value (2) bit (72) aligned; 468 dcl access_ceiling bit (72) aligned; 469 dcl argc fixed bin; 470 dcl argx fixed bin; 471 dcl created_table_segment bit (1) aligned; 472 dcl date_string char (64) varying; 473 dcl dn char (168); 474 dcl (supplied_en, pmf_en, pdt_en) char (32); 475 dcl (i, n) fixed bin; 476 dcl (time, time_now) fixed bin (71); 477 dcl bitc fixed bin (24); 478 dcl ap ptr; 479 dcl al fixed bin (21); 480 dcl ec fixed bin (35); 481 dcl code fixed bin (35); 482 dcl Default_Group char (8) aligned; 483 dcl length_of_project_name fixed bin; 484 dcl t float bin; 485 dcl x fixed bin; 486 dcl sx fixed bin; /* "state index" - whether attribute bit is ON or OFF */ 487 dcl have_anon bit (1) init ("0"b); 488 dcl (default_subsystem, user_subsystem) char (64) aligned; /* put off packing initproc and subsystem together until 489* closing user entry */ 490 dcl fb35 fixed bin (35); 491 dcl (satp, satep) pointer; 492 dcl old_pdtp pointer; 493 dcl can_check_old_pdt bit (1) aligned init ("0"b); 494 dcl project_dir_acc bit (72) aligned; 495 dcl project_dir_acc_name char (200); 496 497 /* based */ 498 499 dcl bchr char (al) unal based (ap); 500 501 /* builtin */ 502 503 declare (addr, addwordno, bool, character, clock, collate, dimension, divide, index, length, max, null, 504 rtrim, string, substr, verify) builtin; 505 506 /* conditions */ 507 508 declare cleanup condition; 509 510 /* entries */ 511 512 dcl aim_check_$greater_or_equal entry (bit (72) aligned, bit (72) aligned) returns (bit (1) aligned); 513 dcl aim_check_$greater entry (bit (72) aligned, bit (72) aligned) returns (bit (1) aligned); 514 dcl convert_access_class_$to_string_short entry (bit (72) aligned, character (*), fixed binary (35)); 515 dcl convert_access_class_$to_string_range_short entry ((2) bit (72) aligned, character (*), 516 fixed binary (35)); 517 dcl convert_access_class_$from_string_range entry ((2) bit (72) aligned, char (*), fixed bin (35)); 518 dcl system_info_$access_ceiling entry (bit (72) aligned); 519 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 520 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 521 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 522 dcl cv_float_ entry (char (*), fixed bin (35), float bin (27)); 523 dcl get_wdir_ entry () returns (char (168) aligned); 524 dcl get_group_id_ entry () returns (char (32) aligned); 525 dcl hcs_$status_minf entry (char (*), char (*), fixed bin (1), fixed bin (2), fixed bin (24), fixed bin (35)); 526 dcl hcs_$get_access_class entry (char (*), char (*), bit (72) aligned, fixed bin (35)); 527 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 528 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)); 529 dcl convert_date_to_binary_ entry (char (*), fixed bin (71), fixed bin (35)); 530 dcl com_err_ entry options (variable); 531 dcl com_err_$suppress_name entry () options (variable); 532 dcl lex_error_ entry options (variable); 533 dcl lex_string_$init_lex_delims entry (char (*), char (*), char (*), char (*), char (*), bit (*), 534 char (*) var, char (*) var, char (*) var, char (*) var); 535 dcl lex_string_$lex entry (ptr, fixed bin, fixed bin, ptr, bit (*), char (*), char (*), char (*), char (*), char (*), 536 char (*) var, char (*) var, char (*) var, char (*) var, ptr, ptr, fixed bin (35)); 537 dcl suffixed_name_$new_suffix entry (char (*), char (*), char (*), char (32), fixed bin (35)); 538 dcl translator_temp_$get_segment entry (char (*), ptr, fixed bin (35)); 539 dcl translator_temp_$release_all_segments entry (ptr, fixed bin (35)); 540 dcl hcs_$delentry_seg entry (ptr, fixed bin (35)); 541 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 542 dcl hcs_$truncate_seg entry (ptr, fixed bin, fixed bin (35)); 543 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 544 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 545 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 546 547 /* internal static */ 548 549 dcl ON fixed bin initial (0) internal static; 550 dcl OFF fixed bin initial (1) internal static; 551 dcl first bit (1) initial ("1"b) internal static; 552 dcl BIGFLO float bin init (1e37) internal static; 553 dcl NEVER fixed bin (71) init /* This date is 12/31/99 2359. */ 554 (1011000110010110011001001110100110111010100100000000b) internal static; /* .. if Multics last this long we will have to fix */ 555 dcl LEGAL char (70) aligned init 556 ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'_-^`~ ") internal static; 557 dcl my_name char (6) initial ("cv_pmf") internal static; 558 dcl (LEXDLM, LEXCTL) char (128) var internal static; 559 dcl BREAKS char (128) var internal static; 560 dcl IGBREAKS char (128) var internal static; 561 dcl LIVE_PDT_DIR char (168) int static options (constant) init (">system_control_1>pdt"); 562 563 /* external static */ 564 565 dcl (error_table_$translation_failed, 566 error_table_$badopt, 567 error_table_$noentry, 568 error_table_$too_many_args, 569 error_table_$zero_length_seg, 570 error_table_$noarg, 571 error_table_$bad_conversion) fixed bin (35) external static; 572 573 dcl cv_pmf_severity_ fixed bin (35) external init (0); 574 575 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 576 577 2 1 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 2 2 /* Requires user_attributes.incl.pl1 */ 2 3 2 4 /* Modified 740723 by PG to add AIM info */ 2 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 2 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 2 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 2 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 2 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 2 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 2 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 2 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 2 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 2 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 2 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 2 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 2 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 2 18 2 19 dcl (PDT_version init (4), /* version of this declaration */ 2 20 PDT_header_lth init (256), /* length in words of PDT head */ 2 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 2 22 2 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 2 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 2 25 ) fixed bin internal static options (constant); 2 26 2 27 dcl 1 pdt based (pdtp) aligned, 2 28 3 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 3 2 3 3 /* the "author" items must always be the first ones in the table. The 3 4* module which moves the converted table to the System Control process 3 5* fills in these data items and assumes them to be at the head of the segment 3 6* regardless of the specific table's actual declaration. The variables 3 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 3 8* respectively. For tables installed in multiple processes, these 3 9* are to be used to lock out multiple installations. */ 3 10 3 11 /* Lock should be used as a modification lock. Since, in general, 3 12* entries may not be moved in system tables, even by installations, 3 13* it is sufficient for only installers and programs that change threads 3 14* to set or respect the lock. Simply updating data in an entry 3 15* requires no such protection. 3 16* 3 17* Last_install_time is used by readers of system tables to detect 3 18* installations or other serious modifications. By checking it before 3 19* and after copying a block of data, they can be protected against 3 20* modifications. 3 21* 3 22* Modules that set the lock should save proc_group_id, and then 3 23* put their group id there for the time they hold the lock. 3 24* if they do not actually install the, they should restore the group id. 3 25**/ 3 26 3 27 2 author aligned, /* validation data about table's author */ 3 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 3 29 3 lock bit (36), /* installation lock */ 3 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 3 31 3 update_authorization bit (1) unal, /* update only authorizations */ 3 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 3 33 3 pad bit (33) unaligned, 3 34 3 last_install_time fixed bin (71), 3 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 3 36 3 w_dir char (64), /* author's working directory */ 3 37 3 38 /* END INCLUDE FILE author.incl.pl1 */ 2 29 2 30 2 max_size fixed bin, /* max number of entries table can grow */ 2 31 2 current_size fixed bin, /* current size of table (in entries) */ 2 32 2 version fixed bin, /* table version */ 2 33 2 freep fixed bin, /* relptr to begin of free chain */ 2 34 2 n_users fixed bin, /* number of entries actually used */ 2 35 2 project_name char (28), /* name of project */ 2 36 2 project_dir char (64), /* treename of project's directory */ 2 37 2 projfile_version fixed bin, 2 38 2 projentry bit (66*36), 2 39 2 pad3 (5) bit (36) aligned, 2 40 2 reqfile_version fixed bin, 2 41 2 reqentry bit (40*36), 2 42 2 pad4 (9) fixed bin, 2 43 2 sat_version fixed bin, 2 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 2 45 2 pad5 (4) bit (36) aligned, 2 46 2 date_reqfile_copied fixed bin (71), 2 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 2 48 2 pad2l bit (27) unaligned, 2 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 2 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 2 51 2 user (1019) aligned, /* the project definition table entries */ 2 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 2 53 2 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 2 55 2 56 2 57 2 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 2 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 2 60 2 lock bit (36), /* update lock */ 2 61 2 person_id char (24) aligned, /* login name of user */ 2 62 2 now_in fixed bin, /* count of users logged in on this entry */ 2 63 2 password char (8) aligned, /* password for anonymous user */ 2 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 2 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 2 66 2 home_dir char (64) aligned, /* user's default working directory */ 2 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 2 68 2 high_ring fixed bin, /* highest ring user may use */ 2 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 2 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 2 71 2 outer_module char (32), /* outer module used if user is interactive */ 2 72 2 lot_size fixed bin, /* size of linkage offset table */ 2 73 2 kst_size fixed bin, /* size of known segment table */ 2 74 2 cls_size fixed bin, /* size of combined linkage */ 2 75 2 uflags, /* various flags */ 2 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 2 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 2 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 2 79 3 flagpad bit (33) unal, 2 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 2 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 2 82 2 dollar_limit float bin, 2 83 2 dollar_charge float bin, /* total dollars spent this month */ 2 84 2 shift_limit (0: 7) float bin, 2 85 2 daton fixed bin (71), /* date user added to system */ 2 86 2 datof fixed bin (71), /* date user deleted */ 2 87 2 last_login_time fixed bin (71), /* time of last login */ 2 88 2 last_login_unit char (4), /* terminal id last used */ 2 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 2 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 2 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 2 92 2 last_update fixed bin (71), /* time of last transaction */ 2 93 2 logins fixed bin, /* number of logins */ 2 94 2 crashes fixed bin, /* sessions abnormally terminated */ 2 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 2 96 3 charge float bin, /* total dollar charge this shift */ 2 97 3 xxx fixed bin, 2 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 2 99 3 core fixed bin (71), /* core demand in page-microseconds */ 2 100 3 connect fixed bin (71), /* total console time in microseconds */ 2 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 2 102 2 absentee (4), /* absentee use, queues 1-4 */ 2 103 3 charge float bin, /* dollar charge this queue */ 2 104 3 jobs fixed bin, /* number of jobs submitted */ 2 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 2 106 3 memory fixed bin (71), /* total memory demand */ 2 107 2 iod (4), /* io daemon use, queues 1-4 */ 2 108 3 charge float bin, /* dollar charge this queue */ 2 109 3 pieces fixed bin, /* pieces of output requested */ 2 110 3 pad fixed bin (35), 2 111 3 pages fixed bin (35), /* number of pages output */ 2 112 3 lines fixed bin (71), /* total record count of output */ 2 113 2 devices (16) float bin, /* device charges */ 2 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 2 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 2 116 2 absolute_spent float bin, /* Spending against this */ 2 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 2 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 2 119 2 pad_was_authorization bit (72) aligned, 2 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 2 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 2 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 2 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 2 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 2 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 2 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 2 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 2 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 2 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 2 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 2 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 2 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 2 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 2 134 2 user_authorization (2) bit (72) aligned, /* range */ 2 135 2 pdtupad (5) fixed bin, 2 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 2 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 2 138 2 chain fixed bin; /* free chain */ 2 139 2 140 /* END INCLUDE FILE ... pdt.incl.pl1 */ 578 579 4 1 /* BEGIN INCLUDE FILE ... sat.incl.pl1 */ 4 2 4 3 /* Modified 740723 by PG to add AIM info */ 4 4 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 4 5 /* Modified May 1976 by T. Casey to add project cutoff limits */ 4 6 /* Modified May 1978 by T. Casey to add pdir_quota */ 4 7 /* Modified November 1978 by T. Casey to add max_(fore back)ground and abs_foreground_cpu_limit */ 4 8 /* Modified July 1979 by J. N. R. Barnecut to support multiple rate structures. (UNCA) */ 4 9 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 4 10 /* Modified 1984-07-05 BIM range of authorizations, version 3 */ 4 11 4 12 dcl (SAT_version init (3), /* version 2 of this declaration */ 4 13 4 14 SAT_header_lth init (466), /* length in words of SAT header */ 4 15 SAT_entry_lth init (80), /* length in words of SAT entry */ 4 16 4 17 SAT_project_name_length init (9) /* proper length of project.project_id */ 4 18 ) fixed bin internal static options (constant); 4 19 4 20 dcl 1 sat based (satp) aligned, 4 21 5 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 5 2 5 3 /* the "author" items must always be the first ones in the table. The 5 4* module which moves the converted table to the System Control process 5 5* fills in these data items and assumes them to be at the head of the segment 5 6* regardless of the specific table's actual declaration. The variables 5 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 5 8* respectively. For tables installed in multiple processes, these 5 9* are to be used to lock out multiple installations. */ 5 10 5 11 /* Lock should be used as a modification lock. Since, in general, 5 12* entries may not be moved in system tables, even by installations, 5 13* it is sufficient for only installers and programs that change threads 5 14* to set or respect the lock. Simply updating data in an entry 5 15* requires no such protection. 5 16* 5 17* Last_install_time is used by readers of system tables to detect 5 18* installations or other serious modifications. By checking it before 5 19* and after copying a block of data, they can be protected against 5 20* modifications. 5 21* 5 22* Modules that set the lock should save proc_group_id, and then 5 23* put their group id there for the time they hold the lock. 5 24* if they do not actually install the, they should restore the group id. 5 25**/ 5 26 5 27 2 author aligned, /* validation data about table's author */ 5 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 5 29 3 lock bit (36), /* installation lock */ 5 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 5 31 3 update_authorization bit (1) unal, /* update only authorizations */ 5 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 5 33 3 pad bit (33) unaligned, 5 34 3 last_install_time fixed bin (71), 5 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 5 36 3 w_dir char (64), /* author's working directory */ 5 37 5 38 /* END INCLUDE FILE author.incl.pl1 */ 4 22 4 23 2 max_size fixed bin, /* max number of entries table can grow */ 4 24 2 current_size fixed bin, /* current size of table (in entries) */ 4 25 2 version fixed bin, /* version number of table (word 32) */ 4 26 2 freep fixed bin, /* free chain ptr. 0 if no free entries */ 4 27 2 n_projects fixed bin, /* number of entries actually used */ 4 28 2 pad_was_max_users bit (36) aligned, 4 29 2 max_units fixed bin, /* maximum number of login-units per session */ 4 30 2 pad_was_max_prim bit (36) aligned, 4 31 2 uwt_size fixed bin, /* size of User Weight Table */ 4 32 2 uwt (24) aligned, /* User Weight Table */ 4 33 3 initproc char (64) unaligned, /* user's initial procedure */ 4 34 3 units fixed bin, /* weight of initial procedure */ 4 35 2 system_admin (2) char (32) unal, /* system administrator ID */ 4 36 2 pad1 (4) fixed bin, /* padding to 466 wds */ 4 37 2 project (3258), /* The SAT entries. 255K segment. */ 4 38 3 pad (80) fixed bin; /* each entry is 80 words long */ 4 39 4 40 4 41 dcl 1 project based (satep) aligned, /* declaration of a single SAT entry */ 4 42 2 state fixed bin, /* state 1 = normal, 0 = free, 2 = deleted */ 4 43 2 project_id char (12) unaligned, /* project's name */ 4 44 2 project_dir char (64) unaligned, /* project's directory */ 4 45 2 pdt_ptr pointer, /* pointer to current PDT */ 4 46 2 max_users fixed bin, /* maximum number of users from project */ 4 47 2 n_users fixed bin, /* current number */ 4 48 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 4 49 2 admin (4) aligned, /* list of project's administrators */ 4 50 3 userid char (30) unal, /* administrator's user-id (personid.projectid) */ 4 51 3 pad char (2) unal, 4 52 2 cutoff char (1), /* if project is cut off, why. */ 4 53 2 min_ring fixed bin, /* lowest ring for project */ 4 54 2 max_ring fixed bin, /* highest ring for project */ 4 55 2 alias char (8) unal, /* project alias */ 4 56 2 group char (8) unal, /* default group for this project */ 4 57 2 grace_max fixed bin, /* maximum bump grace */ 4 58 2 audit bit (36), /* audit flags for project */ 4 59 2 project_authorization (2) bit (72), /* authorization of this project */ 4 60 2 groups (2) char (8) unal, /* authorized groups for this project */ 4 61 2 days_to_cutoff fixed bin (17) unaligned, /* these figures are as of last running of daily_summary */ 4 62 2 pct_balance fixed bin (17) unaligned, /* they are used for warning message printing only */ 4 63 2 dollars_to_cutoff float bin, /* and are not to be taken as up-to-date figures */ 4 64 2 pdir_quota fixed bin (17) unaligned, /* max pdir quota allowed for project */ 4 65 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and background */ 4 66 2 max_background fixed bin (9) unsigned unaligned, /* processes that a user on this project can have */ 4 67 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit on foreground absentee jobs */ 4 68 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0=default rates ) */ 4 69 2 satpad1 fixed bin (9) unsigned unaligned, 4 70 2 satpad (1) bit (36) aligned, /* pad to 80 words */ 4 71 2 chain fixed bin; /* if free entry, chain */ 4 72 4 73 /* END INCLUDE FILE ... sat.incl.pl1 */ 580 581 6 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 6 2 /* format: style2,^inddcls,idind32 */ 6 3 6 4 declare 1 terminate_file_switches based, 6 5 2 truncate bit (1) unaligned, 6 6 2 set_bc bit (1) unaligned, 6 7 2 terminate bit (1) unaligned, 6 8 2 force_write bit (1) unaligned, 6 9 2 delete bit (1) unaligned; 6 10 6 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 6 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 6 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 6 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 6 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 6 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 6 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 6 18 6 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 582 583 7 1 /* BEGIN INCLUDE FILE user_attributes.incl.pl1 TAC 10/79 */ 7 2 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 7 3 7 4 /* format: style4 */ 7 5 dcl 1 user_attributes aligned based, /* the user user_attributes */ 7 6 (2 administrator bit (1), /* 1 system administrator privileges */ 7 7 2 primary_line bit (1), /* 2 user has primary-line privileges */ 7 8 2 nobump bit (1), /* 2 user cannot be bumped */ 7 9 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 7 10 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 7 11 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 7 12* . of same project (distinct from "nobump") */ 7 13 2 nolist bit (1), /* 7 don't list user on "who" */ 7 14 2 dialok bit (1), /* 8 user may have multiple consoles */ 7 15 2 multip bit (1), /* 9 user may have several processes */ 7 16 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 7 17 2 brief bit (1), /* 11 no login or logout message */ 7 18 2 vinitproc bit (1), /* 12 user may change initial procedure */ 7 19 2 vhomedir bit (1), /* 13 user may change homedir */ 7 20 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 7 21 2 sb_ok bit (1), /* 15 user may be standby */ 7 22 2 pm_ok bit (1), /* 16 user may be primary */ 7 23 2 eo_ok bit (1), /* 17 user may be edit_only */ 7 24 2 daemon bit (1), /* 18 user may login as daemon */ 7 25 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 7 26 2 no_warning bit (1), /* 20 no warning message */ 7 27 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 7 28* . in PDT: this user has an individual load control group */ 7 29 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 7 30 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 7 31 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 7 32 2 pad bit (12)) unaligned; 7 33 7 34 /* END INCLUDE FILE user_attributes.incl.pl1 */ 584 585 586 /* program */ 587 588 dn, supplied_en, pmf_en, pdt_en = ""; 589 590 pmfp = null; /* Initialize for cleanup handler */ 591 pdtp = null; /* .. */ 592 areap = null; /* .. */ 593 old_pdtp = null (); 594 created_table_segment = ""b; 595 596 on cleanup begin; 597 call clean_up; 598 cv_pmf_severity_ = 5; 599 end; 600 601 call cu_$arg_count (argc, ec); 602 if ec ^= 0 then do; 603 call com_err_ (ec, my_name); 604 go to severity_5_failure; 605 end; 606 607 if argc = 0 then do; 608 give_usage: call com_err_$suppress_name (ec, my_name, "Usage: cv_pmf PMF (-brief|-bf|-long|-lg)"); 609 go to severity_5_failure; 610 end; 611 612 do argx = 1 to argc; 613 call cu_$arg_ptr (argx, ap, al, ec); 614 if ec ^= 0 then do; 615 argument_error: 616 call com_err_ (ec, my_name, "^a", bchr); 617 go to severity_5_failure; 618 end; 619 if character (bchr, 1) ^= "-" then do; 620 if supplied_en ^= "" 621 then do; 622 call com_err_ (error_table_$too_many_args, my_name, "Only one pathname may be given. ^a was the second.", bchr); 623 go to severity_5_failure; 624 end; 625 626 call expand_pathname_ (bchr, dn, supplied_en, ec); 627 if ec ^= 0 then do; 628 path_error: 629 call com_err_ (ec, my_name, "^a", bchr); 630 go to severity_5_failure; 631 end; 632 call expand_pathname_$add_suffix (bchr, "pmf", dn, pmf_en, ec); 633 if ec ^= 0 then go to path_error; 634 635 call suffixed_name_$new_suffix (supplied_en, "pmf", "pdt", pdt_en, ec); /* if we get this far, how can we fail? */ 636 if ec ^= 0 /* still, let's have a look */ 637 then go to path_error; 638 639 end; /* Pathname case */ 640 else if bchr = "-bf" then SERROR_CONTROL = "01"b; 641 else if bchr = "-brief" then SERROR_CONTROL = "01"b; 642 else if bchr = "-long" | bchr = "-lg" then SERROR_CONTROL = "10"b; 643 else if bchr = "-severity" | bchr = "-sv" then do; 644 if argx >= argc then do; 645 call com_err_ (error_table_$noarg, my_name, "After ""^a"".", bchr); 646 go to severity_5_failure; 647 end; 648 argx = argx + 1; 649 call cu_$arg_ptr (argx, ap, al, ec); 650 fb35 = cv_dec_check_ (bchr, ec); 651 if ec ^= 0 | fb35 < 0 | fb35 > 5 then do; 652 call com_err_ (error_table_$bad_conversion, my_name, 653 "Severity must be an integer in the range 0 - 5, not ""^a"".", bchr); 654 go to severity_5_failure; 655 end; 656 MIN_PRINT_SEVERITY = fb35; 657 end; 658 else do; 659 ec = error_table_$badopt; 660 go to argument_error; 661 end; 662 end; /* argument processing */ 663 664 if supplied_en = "" then go to give_usage; 665 666 call system_info_$access_ceiling (access_ceiling); 667 time_now = clock (); 668 669 call initiate_file_ (dn, pmf_en, R_ACCESS, pmfp, bitc, ec); 670 if ec = error_table_$noentry 671 then if pmf_en ^= supplied_en 672 then do; 673 call initiate_file_ (dn, supplied_en, R_ACCESS, pmfp, bitc, ec); 674 if ec = 0 675 then do; 676 call com_err_ (0, my_name, "converting ^a. Please type ""help cv_pmf.changes"".", 677 pathname_ (dn, supplied_en)); 678 pmf_en = supplied_en; 679 end; 680 end; 681 if ec ^= 0 682 then do; 683 pmf_error: 684 call com_err_ (ec, my_name, "^a.", pathname_ (dn, pmf_en)); 685 go to severity_5_failure; 686 end; 687 688 n = divide (bitc + 8, 9, 24, 0); 689 if n = 0 then do; 690 ec = error_table_$zero_length_seg; 691 go to pmf_error; 692 end; 693 dn = get_wdir_ (); 694 call hcs_$make_seg (dn, pdt_en, "", 1010b, pdtp, ec); 695 created_table_segment = (ec = 0); 696 if pdtp = null then do; 697 pdt_error: 698 call com_err_ (ec, my_name, "^a", pathname_ (dn, pdt_en)); 699 go to severity_5_failure; 700 end; 701 702 call hcs_$truncate_seg (pdtp, 0, ec); 703 if ec ^= 0 then go to pdt_error; 704 705 pdt.author.proc_group_id = get_group_id_ (); /* Initialize the header of the new pdt */ 706 pdt.author.table = "PDT"; 707 pdt.author.w_dir = substr (dn, 1, length (pdt.author.w_dir)); 708 pdt.author.lock = ""b; 709 pdt.author.last_install_time = 0; 710 pdt.version = PDT_version; 711 pdt.max_size = 1019; 712 713 pdtep = addr (pdt.user (1)); /* Zero the defaults.. */ 714 default = user; /* .. the lazy way */ 715 pdtep = addr (default); /* Set up pdtep to point at the defaults. */ 716 default.person_id = ""; /* Initialize defaults. */ 717 default.password = " "; 718 default.initial_procedure = "process_overseer_"; 719 default.ip_len = 17; /* number of chars in initproc name */ 720 default.uflags.ip_given = "1"b; 721 default.outer_module = ""; /* dft outer module will be supplied by ans svc */ 722 default.group = ""; 723 default.dollar_charge = 0e0; 724 default.last_login_unit = " "; 725 726 user.interactive.charge (*) = 0e0b; 727 user.absentee.charge (*) = 0e0b; 728 user.iod.charge (*) = 0e0b; 729 user.devices (*) = 0e0b; 730 731 default.absolute_limit, default.dollar_limit = BIGFLO; 732 default.absolute_spent = 0e0; 733 default.absolute_cutoff = NEVER; 734 default.user_warn_days = 10; 735 default.user_warn_pct = 10; 736 default.user_warn_dollars = 10e0; 737 default.warn_days = 10; 738 default.warn_pct = 10; 739 default.warn_dollars = 10e0; 740 default.bump_grace = 2880; 741 default.low_ring, default.default_ring = 4; 742 default.high_ring = 5; 743 do i = 0 to 7; 744 default.shift_limit (i) = BIGFLO; 745 end; 746 default.home_dir = ""; 747 default.user_authorization = ""b; /* system low by default */ 748 Default_Group = ""; 749 750 call translator_temp_$get_segment (my_name, areap, code); 751 if areap = null then do; 752 call com_err_ (code, my_name, "While making a temporary segment in the process directory."); 753 go to severity_5_failure; 754 end; 755 756 if first then do; 757 BREAKS = substr (collate (), 1, 8) || substr (collate (), 10, 24) || "()*,:;^"; 758 IGBREAKS = substr (collate (), 1, 8) || substr (collate (), 10, 24); 759 call lex_string_$init_lex_delims ("""", """", "/*", "*/", ";", "10"b, BREAKS, IGBREAKS, LEXDLM, LEXCTL); 760 first = "0"b; 761 end; 762 763 call lex_string_$lex (pmfp, n, 0, areap, "100"b, 764 """", """", "/*", "*/", ";", BREAKS, IGBREAKS, 765 LEXDLM, LEXCTL, APstmt, APtoken, ec); 766 767 Pthis_token = APtoken; 768 call SEMANTIC_ANALYSIS (); 769 pdt.project_dir = ">user_dir_dir>" || pdt.project_name; 770 771 abort: if MERROR_SEVERITY > 2 then do; 772 call com_err_ (error_table_$translation_failed, my_name, pmf_en); 773 if created_table_segment then bitc = -1; /* delete it */ 774 else bitc = 0; 775 end; 776 else bitc = (PDT_header_lth + PDT_entry_lth * pdt.current_size) * 36; 777 if bitc >= 0 then do; /* if not deleting it */ 778 call terminate_file_ (pdtp, bitc, TERM_FILE_TRUNC_BC_TERM, ec); 779 if ec ^= 0 then do; 780 call com_err_ (ec, my_name, "Unable to set bitcount on ^a to ^d.", pathname_ (dn, pdt_en), bitc); 781 go to severity_5_failure; 782 end; 783 end; 784 785 cv_pmf_severity_ = MERROR_SEVERITY; 786 call clean_up; 787 return; 788 789 severity_5_failure: 790 call clean_up; 791 cv_pmf_severity_ = 5; 792 return; 793 794 795 clean_up: 796 procedure; 797 798 if pmfp ^= null 799 then call terminate_file_ (pmfp, (0), TERM_FILE_TERM, (0)); 800 801 if old_pdtp ^= null 802 then call terminate_file_ (old_pdtp, (0), TERM_FILE_TERM, (0)); 803 804 if pdtp ^= null /* delete or truncate */ 805 then if created_table_segment 806 then do; 807 call hcs_$delentry_seg (pdtp, (0)); 808 pdtp = null; 809 end; 810 else call terminate_file_ (pdtp, 0, TERM_FILE_TRUNC_BC_TERM, (0)); 811 812 if areap ^= null 813 then call translator_temp_$release_all_segments (areap, (0)); 814 815 end clean_up; 816 817 /* SYNTAX FUNCTIONS */ 818 819 path_name: proc () returns (bit (1) aligned); 820 dcl ec fixed bin (35); 821 dcl dn char (168); 822 dcl en char (32); 823 824 call expand_pathname_ (token_value, dn, en, ec); 825 if ec ^= 0 then return ("0"b); 826 else return ("1"b); 827 828 end path_name; 829 830 onetoseven: proc () returns (bit (1) aligned); 831 dcl i fixed bin; 832 833 if token.Lvalue ^= 1 then return ("0"b); 834 i = index ("1234567", token_value); 835 if i = 0 then return ("0"b); 836 token.Nvalue = i; 837 return ("1"b); 838 839 end onetoseven; 840 841 floating_number: proc () returns (bit (1) aligned); 842 dcl ec fixed bin (35); 843 dcl foo float bin; 844 845 if verify (token_value, "0123456789.-") ^= 0 then 846 return ("0"b); 847 call cv_float_ (token_value, ec, foo); 848 if ec ^= 0 then return ("0"b); 849 else return ("1"b); 850 851 end floating_number; 852 853 okdate: proc () returns (bit (1) aligned); 854 dcl ec fixed bin (35); 855 856 if date_string = "now" then do; 857 time = time_now; 858 return ("1"b); 859 end; 860 if date_string = "open" then go to x1; 861 if date_string = "never" then do; 862 x1: time = NEVER; 863 return ("1"b); 864 end; 865 call convert_date_to_binary_ ((date_string), time, ec); 866 if ec ^= 0 then return ("0"b); 867 return ("1"b); 868 869 end okdate; 870 871 increment: proc () returns (bit (1) aligned); 872 873 if token_value = "never" then x = 0; 874 else if token_value = "yearly" then x = 3; 875 else if token_value = "daily" then x = 1; 876 else if token_value = "monthly" then x = 2; 877 else if token_value = "cyear" then x = 4; 878 else if token_value = "fyear" then x = 5; 879 else if token_value = "weekly" then x = 6; 880 else return ("0"b); 881 return ("1"b); 882 883 end increment; 884 885 authorization_string: 886 procedure () returns (bit (1) aligned); 887 888 call convert_access_class_$from_string_range (authorization_value, token_value, code); 889 return (code = 0); 890 891 end authorization_string; 892 893 check_default_authorization: 894 procedure; 895 896 declare temp_string char (200); 897 898 /*** First check complete disjunction */ 899 900 if ^can_check_old_pdt then return; 901 call convert_access_class_$to_string_range_short (project.project_authorization, temp_string, (0)); 902 if ^aim_check_$greater_or_equal (default.user_authorization (2), project.project_authorization (1)) 903 | ^aim_check_$greater_or_equal (project.project_authorization (2), default.user_authorization (1)) 904 then do; 905 call error_in_general (38, temp_string, ""); /* completely disjoint */ 906 return; 907 end; 908 909 if aim_check_$greater (default.user_authorization (2), project.project_authorization (2)) 910 then call error_in_general (39, temp_string, ""); /* may not be able to log in */ 911 if aim_check_$greater (project.project_authorization (1), default.user_authorization (1)) 912 then call error_in_general (40, temp_string, ""); 913 return; 914 end check_default_authorization; 915 916 check_user_authorization: 917 procedure; 918 919 declare temp_string char (200); 920 921 /*** First check complete disjunction */ 922 923 if ^can_check_old_pdt then return; 924 call convert_access_class_$to_string_range_short (project.project_authorization, temp_string, (0)); 925 926 if ^aim_check_$greater_or_equal (user.user_authorization (2), project.project_authorization (1)) 927 | ^aim_check_$greater_or_equal (project.project_authorization (2), user.user_authorization (1)) 928 then do; 929 call error_in_person (41, temp_string); /* completely disjoint */ 930 return; 931 end; 932 933 if aim_check_$greater (user.user_authorization (2), project.project_authorization (2)) 934 then call error_in_person (42, temp_string); /* may not be able to log in */ 935 if aim_check_$greater (project.project_authorization (1), user.user_authorization (1)) 936 then call error_in_person (43, temp_string); 937 return; 938 939 end check_user_authorization; 940 941 /* SEMANTIC FUNCTIONS */ 942 943 set_project_name: 944 procedure; 945 946 pdt.project_name = token_value; 947 length_of_project_name = length (token_value); 948 949 if verify (token_value, LEGAL) ^= 0 950 then call ERROR (21); 951 else if index (substr (LEGAL, 1, 36), substr (token_value, 1, 1)) = 0 952 then call ERROR (21); 953 954 if length (token_value) > PDT_project_name_length 955 then do; 956 call ERROR (24); /* Project name > 9 characters */ 957 length_of_project_name = PDT_project_name_length; 958 end; 959 960 call find_old_pdt; 961 return; 962 end set_project_name; 963 964 965 set_ip_ss: proc (ip_ss, ip_ss_given, ip_ss_len); 966 dcl ip_ss char (64) aligned; 967 dcl ip_ss_given bit (1) unaligned; 968 dcl ip_ss_len fixed bin (17) unaligned; 969 970 /* check the 64 character limit */ 971 972 if token.Lvalue > 64 then do; 973 call ERROR (31); 974 return; 975 end; 976 977 /* copy the string and its length, and turn on the switch that says it was given */ 978 979 ip_ss = token_value; 980 ip_ss_len = token.Lvalue; 981 ip_ss_given = "1"b; 982 983 return; 984 985 end set_ip_ss; 986 987 988 set_string: proc (keyword, field, value); 989 dcl keyword char (*); 990 dcl field char (*) aligned; 991 dcl value char (*); 992 993 if length (value) <= length (field) then 994 field = value; 995 else if error_control_table (34).severity >= MIN_PRINT_SEVERITY then 996 call lex_error_ (34, SERROR_PRINTED (34), (error_control_table (34).severity), 997 MERROR_SEVERITY, null, Pthis_token, SERROR_CONTROL, (error_control_table (34).message), 998 (error_control_table (34).brief_message), keyword, length (field)); 999 else do; 1000 MERROR_SEVERITY = max (MERROR_SEVERITY, error_control_table (34).severity); 1001 SERROR_PRINTED (34) = "1"b; 1002 end; 1003 end; 1004 1005 bump_x: proc; 1006 1007 if x = 0 then do; 1008 call ERROR (7); /* Error in limit */ 1009 call NEXT_STMT; /* Get to next statement. */ 1010 Ptoken, Pthis_token = Pthis_token -> token.Plast; 1011 /* Back up so will find semicolon */ 1012 return; 1013 end; 1014 x = x + 1; 1015 if x = 8 then x = 0; 1016 1017 end bump_x; 1018 1019 open: proc; 1020 1021 dcl i fixed bin; 1022 dcl p ptr; 1023 1024 if pdt.current_size = pdt.max_size then do; 1025 call ERROR (9); 1026 go to abort; 1027 end; 1028 1029 if token.Lvalue > PDT_person_id_length 1030 then call ERROR (26); 1031 1032 if verify (token_value, LEGAL) ^= 0 1033 then call ERROR (10); 1034 else if index (substr (LEGAL, 11, 26), substr (token_value, 1, 1)) = 0 1035 then call ERROR (11); 1036 1037 /* now check to see whether or not personid is unique in table */ 1038 1039 do i = 1 to pdt.current_size; 1040 p = addr (pdt.user (i)); /* get pointer to next entry */ 1041 if token_value = p -> user.person_id 1042 then call ERROR (13); 1043 end; 1044 1045 pdt.current_size, pdt.n_users = pdt.n_users + 1; 1046 pdtep = addr (pdt.user (pdt.n_users)); 1047 user = default; 1048 user_subsystem = default_subsystem; 1049 user.state = 1; 1050 user.person_id = token_value; 1051 1052 end open; 1053 1054 open_anon: proc; 1055 1056 if pdt.current_size = pdt.max_size then do; 1057 call ERROR (9); 1058 go to abort; 1059 end; 1060 1061 if have_anon 1062 then call ERROR (12); 1063 1064 have_anon = "1"b; 1065 pdt.current_size, pdt.n_users = pdt.n_users + 1; 1066 pdtep = addr (pdt.user (pdt.n_users)); 1067 user = default; 1068 user_subsystem = default_subsystem; 1069 user.state = 1; 1070 user.person_id = "*"; 1071 user.home_dir = ""; /* Default does not apply */ 1072 user.initial_procedure = ""; /* .. without a warning */ 1073 1074 end open_anon; 1075 1076 close: proc; 1077 1078 dcl ec fixed bin (35); 1079 dcl (hdd, hddd) char (168); 1080 dcl (hdde, hde) char (32); 1081 1082 if user.ip_len + user.ss_len > 64 then 1083 call ERROR (32); 1084 else substr (user.initial_procedure, user.ip_len + 1, user.ss_len) = 1085 substr (user_subsystem, 1, user.ss_len); 1086 1087 if pdt.current_size = 0 then return; 1088 1089 if user.person_id = "*" then do; 1090 if user.home_dir = "" then do; 1091 call ERROR (14); 1092 user.home_dir = ">user_dir_dir>" || pdt.project_name; 1093 end; 1094 if user.password = "" then call ERROR (15); 1095 1096 if user.initial_procedure = "" then do; 1097 call ERROR (16); 1098 user.initial_procedure = default.initial_procedure; 1099 user.dont_call_init_admin = default.dont_call_init_admin; 1100 end; 1101 end; 1102 else do; /* Normal user. */ 1103 if user.password ^= "" then do; 1104 call error_in_person (27, ""); 1105 user.password = ""; 1106 end; 1107 1108 if user.home_dir = "" 1109 then user.home_dir = ">user_dir_dir>" || 1110 substr (pdt.project_name, 1, length_of_project_name) || 1111 ">" || user.person_id; 1112 end; 1113 1114 if user.low_ring > user.high_ring | 1115 user.low_ring > user.default_ring | 1116 user.default_ring > user.high_ring | 1117 user.low_ring < 1 | 1118 user.high_ring > 7 1119 then call error_in_person (37, ""); 1120 1121 if substr (user.home_dir, 1, 1) ^= ">" 1122 & substr (user.home_dir, 1, 5) ^= "[pd]>" 1123 then call error_in_person (17, (user.home_dir)); 1124 else do; 1125 call expand_pathname_ ((user.home_dir), (dn), (supplied_en), ec); 1126 if ec ^= 0 then 1127 call error_in_person (18, (user.home_dir)); 1128 end; 1129 1130 user.at.eo_ok = ^(user.at.eo_ok); 1131 user.at.sb_ok = ^(user.at.sb_ok); 1132 user.at.pm_ok = ^(user.at.pm_ok); 1133 1134 /* if both bits off */ 1135 if bool (user.at.pm_ok, user.at.sb_ok, "1000"b) then 1136 call error_in_person (19, ""); 1137 1138 if user.bumping then 1139 if ^user.pm_ok then 1140 call error_in_person (20, ""); 1141 1142 if user.at.igroup then 1143 if user.group = "" then 1144 if Default_Group = "" then do; 1145 call error_in_person (30, ""); 1146 user.at.igroup = "0"b; 1147 end; 1148 else user.group = Default_Group; 1149 1150 if user.group ^= "" then user.at.igroup = "1"b; 1151 1152 if user.at.save_on_disconnect then /* as documented in MAM Project, setting default of -save */ 1153 user.at.disconnect_ok = "1"b; /* implies giving permission for -save */ 1154 1155 /* the following call to adjust_cutoff_ has been commented out. The reason 1156* is that if we allow the installation process to adjust_cutoff_, then 1157* it is possible for a project administrator to change to a finer cutoff gradation, 1158* and cause the users spending against cutoff to be reset at table installation time. 1159* e.g. to put user with absolute cutoff of $400 dollars into $20 daily cutoff, 1160* specify "cutoff: 20,,daily;" 1161* If the adjust_cutoff_ in cv_pmf_ remains, the users absolute spent (spent against cutoff) 1162* will not be reset until the next cutoff date occurs. In above example, if 1163* user had spent more than $20 when the cutoff was 'never', the user would not 1164* be able to log in until the day following pdt installation. 1165* If someone decides it's a bad idea to support this, put the call back in! 1166* MEANWHILE, let's at least give a warning if the date is in the past... */ 1167 1168 /* call adjust_cutoff_ (pdtep, time_now); /* fixup cutoff dates */ 1169 1170 if user.absolute_increm > 0 then /* not absolute cutoff */ 1171 if user.absolute_cutoff < time_now then /* at a time in the past */ 1172 call error_in_person (36, ""); 1173 1174 1175 call expand_pathname_ ((user.home_dir), hdd, hde, code); 1176 if code = 0 then do; 1177 call hcs_$status_minf (hdd, hde, (1), (0), (0), code); 1178 call expand_pathname_ (hdd, hddd, hdde, (0)); 1179 call hcs_$get_access_class (hddd, hdde, project_dir_acc, code); 1180 if code ^= 0 then project_dir_acc = ""b; 1181 if code = error_table_$noentry then do; 1182 if aim_check_$greater (user.user_authorization (1), project_dir_acc) 1183 then do; 1184 project_dir_acc_name = ""; 1185 call convert_access_class_$to_string_short (project_dir_acc, project_dir_acc_name, (0)); 1186 call error_in_person (44, project_dir_acc_name); 1187 end; 1188 end; 1189 end; 1190 1191 return; 1192 end close; 1193 1194 error_in_person: 1195 procedure (bv_errorx, bv_string); 1196 1197 /* parameters */ 1198 1199 dcl (bv_errorx fixed bin, 1200 bv_first_string char (*), 1201 bv_string char (*)) parameter; 1202 1203 /* automatic */ 1204 1205 dcl ex fixed bin; 1206 dcl first_string char (500); 1207 1208 /* program */ 1209 1210 first_string = user.person_id; 1211 go to common; 1212 1213 error_in_general: 1214 entry (bv_errorx, bv_first_string, bv_string); 1215 1216 first_string = bv_first_string; 1217 1218 common: 1219 ex = bv_errorx; 1220 if error_control_table (ex).severity >= MIN_PRINT_SEVERITY then 1221 call lex_error_ (ex, SERROR_PRINTED (ex), (error_control_table (ex).severity), 1222 MERROR_SEVERITY, null, Pthis_token, SERROR_CONTROL, (error_control_table (ex).message), 1223 (error_control_table (ex).brief_message), first_string, bv_string); 1224 else do; 1225 MERROR_SEVERITY = max (MERROR_SEVERITY, error_control_table (ex).severity); 1226 SERROR_PRINTED (ex) = "1"b; 1227 end; 1228 1229 end error_in_person; 1230 1231 find_old_pdt: 1232 procedure; 1233 1234 call initiate_file_ (LIVE_PDT_DIR, rtrim (pdt.project_name) || ".pdt", R_ACCESS, old_pdtp, (0), code); 1235 if code ^= 0 then return; /* can_check_old_pdt still = 0 */ 1236 1237 if old_pdtp -> pdt.sat_version ^= SAT_version 1238 then do; 1239 call terminate_file_ (old_pdtp, (0), TERM_FILE_TERM, (0)); 1240 return; /* can_check_old_pdt still equals 0 */ 1241 end; 1242 can_check_old_pdt = "1"b; 1243 1244 satep = addwordno (addr (old_pdtp -> pdt.satentry), -24); /* magic amount of PDT abstracted from front */ 1245 return; 1246 end find_old_pdt; 1247 1248 1249 1250 dcl 1 error_control_table (44) aligned int static options (constant), 1251 2 severity fixed bin (17) unal init ( 1252 (8) 3, /* 1-8 */ 1253 3, /* 9 */ 1254 3, /* 10 */ 1255 1, /* 11 */ 1256 (2) 3, /* 12-13 */ 1257 (3) 1, /* 14-16 */ 1258 (2) 3, /* 17-18 */ 1259 (2) 1, /* 19-20 */ 1260 (6) 3, /* 21-26 */ 1261 1, /* 27 */ 1262 3, /* 28 */ 1263 (2) 1, /* 29-30 */ 1264 (2) 3, /* 31-32 */ 1265 1, /* 33 */ 1266 (2) 3, /* 34-35 */ 1267 1, /* 36 */ 1268 3, /* 37 */ 1269 (7) 1), /* 38-44 */ 1270 2 Soutput_stmt bit (1) unaligned initial ( 1271 (4) (1)"1"b, /* 1-4 */ 1272 "0"b, /* 5 */ 1273 (8) (1)"1"b, /* 6-13 */ 1274 (3) (1)"0"b, /* 14-16 */ 1275 (10) (1)"1"b, /* 17-26 */ 1276 "0"b, /* 27 */ 1277 (2) (1)"1"b, /* 28-29 */ 1278 "0"b, /* 30 */ 1279 "1"b, /* 31 */ 1280 (2) (1)"1"b, /* 32-33 */ 1281 "1"b, /* 34 */ 1282 "0"b, /* 35 */ 1283 "0"b, /* 36 */ 1284 "0"b, /* 37 */ 1285 (6) (1)"1"b, /* 38-43 */ 1286 "0"b), /* 44 */ 1287 2 message char (100) var init 1288 ("Unrecognizable statement.", /* 1 */ 1289 "PMF does not begin with a valid ""Projectid"" statement.", /* 2 */ 1290 "Unrecognizable statement.", /* 3 */ 1291 "Unknown attribute ""^a"".", /* 4 */ 1292 "Premature end of PMF encountered.", /* 5 */ 1293 "Invalid item encountered where number expected: ""^a"".", /* 6 */ 1294 "Invalid item encountered in limit: ""^a"".", /* 7 */ 1295 "Invalid format for cutoff specification.", /* 8 */ 1296 "Too many users declared in PMF. Maximum is 1019.", /* 9 */ 1297 "Invalid letter in personid ""^a"".", /* 10 */ 1298 "Personid ""^a"" does not begin with a capital letter.", /* 11 */ 1299 "Only one anonymous user may be specifed in a PMF.", /* 12 */ 1300 "Personid ""^a"" is specified more than once in the PMF.", /* 13 */ 1301 "Anonymous user had no ""homedir"" statement; assuming project directory.", /* 14 */ 1302 "Anonymous user has no password specified.", /* 15 */ 1303 "Anonymous user has no initial procedure specified.", /* 16 */ 1304 "Home directory for user ""^a"" does not begin with "">"" or ""[pd]>"": ^a.", /* 17 */ 1305 "Home directory for user ""^a"" has illegal syntax: ^a.", /* 18 */ 1306 "User ""^a"" has both ""no_primary"" and ""no_secondary"" and will be unable to log in.", /* 19 */ 1307 "User ""^a"" has ""preempting"" and ""no_primary"" attributes.", /* 20 */ 1308 "Syntax error in project identifier.", /* 21 */ 1309 "Invalid specification of path name.", /* 22 */ 1310 "Syntax error in ""^a"" statement.", /* 23 */ 1311 "Project name ""^a"" is longer than the limit of 9 characters.", /* 24 */ 1312 "Unable to convert authorization string ""^a"".", /* 25 */ 1313 "User name ""^a"" is longer than the limit of 22 characters.", /* 26 */ 1314 "Personid ""^a"" has a password that will be ignored.", /* 27 */ 1315 "Invalid date/time in cutoff statement.", /* 28 */ 1316 "The ^a statement is obsolete and has been ignored.", /* 29 */ 1317 "Personid ""^a"" has ""igroup"" but no group specified.", /* 30 */ 1318 "Pathname of initial procedure or subsystem > 64 characters:^/^a", /* 31 */ 1319 "Sum of initial procedure and subsystem lengths > 64 characters, in preceding user entry (or header)", /* 32 */ 1320 "The ""^a"" attribute is obsolete and has been ignored.", /* 33 */ 1321 "The maximum length of the ""^a"" field is ^d.",/* 34 */ 1322 "Text follows logical end of PMF.", /* 35 */ 1323 "Incremental cutoff is in the past. Spending against cutoff will be reset at user's next login.", /* 36 */ 1324 "Bad ring order. ""ring: low, high {,default};"" must have values 1 <= low <= default <= high <= 7.", /* 37 */ 1325 "Default authorization range is disjoint from project authorization range ^a.", 1326 "Default max authorization is out of project range ^a.", 1327 "Default min authorization is out of project range ^a.", 1328 "User ^a authorization range is disjoint from project authorization range ^a.", 1329 "User ^a max authorization is out of project range ^a.", 1330 "User ^a min authorization is out of project range ^a.", 1331 "User ^a will need an upgraded home dir, which you must create manually."), 1332 1333 2 brief_message char (20) var init ( 1334 (3) (1)"", /* 1-3 */ 1335 "^a", /* 4 */ 1336 "", /* 5 */ 1337 (2) (1)"^a", /* 6-7 */ 1338 (2) (1)"", /* 8-9 */ 1339 (2) (1)"^a", /* 10-11 */ 1340 "", /* 12 */ 1341 "^a", /* 13 */ 1342 (3) (1)"", /* 14-16 */ 1343 (2) (1)"^a bad homedir ^a", /* 17-18 */ 1344 (2) (1)"^a", /* 19-20 */ 1345 (3) (1)"", /* 21-23 */ 1346 (4) (1)"^a", /* 24-27 */ 1347 "Invalid date/time", /* 28 */ 1348 "", /* 29 */ 1349 "^a", /* 30 */ 1350 "^a", /* 31 */ 1351 "", /* 32 */ 1352 "^a", /* 33 */ 1353 "", /* 34 */ 1354 "", /* 35 */ 1355 "", /* 36 */ 1356 "", /* 37 */ 1357 (3) (0)"", /* 38-43 */ 1358 "^a", 1359 "^a", 1360 "^a", 1361 "^a"); 1362 1363 1364 /* ======================================================== */ 1365 1366 1367 dcl TRACING bit(1) aligned int static init("0"b); 1368 1369 8 1 /* START OF: rdc_start_.incl.pl1 * * * * * * */ 8 2 8 3 /* * * * * * * * * * * * * * * * * * * * * * * */ 8 4 /* */ 8 5 /* N__a_m_e: rdc_start_.incl.pl1 */ 8 6 /* */ 8 7 /* This include segment is used by compilers generated by the */ 8 8 /* reduction_compiler. Such compilers include a SEMANTIC_ANALYSIS */ 8 9 /* subroutine generated by the reduction_compiler. This subroutine */ 8 10 /* compares a chain of input tokens with token requirements */ 8 11 /* specified in reductions. This include segment declares the */ 8 12 /* structure of the input tokens (which are generated by lex_string_),*/ 8 13 /* defines the beginning of the SEMANTIC_ANALYSIS procedure, and */ 8 14 /* declares Pthis_token, a global pointer variable which points to */ 8 15 /* the "current" token being referenced by SEMANTIC_ANALYSIS. */ 8 16 /* */ 8 17 /* S__t_a_t_u_s */ 8 18 /* */ 8 19 /* 0) Created: April, 1974 by G. C. Dixon */ 8 20 /* */ 8 21 /* * * * * * * * * * * * * * * * * * * * * * * */ 8 22 8 23 dcl Pthis_token ptr; /* ptr to the "current" token being acted upon. */ 8 24 9 1 /* START OF: lex_descriptors_.incl.pl1 * * * * * * */ 9 2 9 3 /* * * * * * * * * * * * * * * * * * * * * * * */ 9 4 /* */ 9 5 /* Name: lex_descriptors_.incl.pl1 */ 9 6 /* */ 9 7 /* This include segment defines the structure of the token */ 9 8 /* descriptor, statement descriptor, and comment descriptor created */ 9 9 /* by the lex_string_ program. */ 9 10 /* */ 9 11 /* Status: */ 9 12 /* */ 9 13 /* 0) Created: Dec, 1973 by G. C. Dixon */ 9 14 /* */ 9 15 /* * * * * * * * * * * * * * * * * * * * * * * */ 9 16 9 17 9 18 9 19 9 20 dcl 9 21 1 comment aligned based (Pcomment), 9 22 /* descriptor for a comment. */ 9 23 2 group1 unaligned, 9 24 3 version fixed bin(17), /* comment descriptor version. */ 9 25 3 size fixed bin(17), /* comment descriptor size (in words). */ 9 26 2 Pnext ptr unal, /* ptr to next comment descriptor. */ 9 27 2 Plast ptr unal, /* ptr to last comment descriptor. */ 9 28 2 Pvalue ptr unal, /* ptr to comment. */ 9 29 2 Lvalue fixed bin(18), /* length of comment. */ 9 30 2 group2 unaligned, 9 31 3 line_no fixed bin(17), /* line no of line containing comment. */ 9 32 3 S, /* switches: */ 9 33 4 before_stmt bit(1), /* comment is before 1st token of stmt. */ 9 34 4 contiguous bit(1), /* no tokens between this and last comment. */ 9 35 4 pad bit(16), 9 36 comment_value char(comment.Lvalue) based (comment.Pvalue), 9 37 /* body of comment. */ 9 38 Pcomment ptr; /* ptr to comment descriptor. */ 9 39 9 40 dcl 9 41 1 stmt aligned based (Pstmt), 9 42 /* descriptor for a statement. */ 9 43 2 group1 unaligned, 9 44 3 version fixed bin(17), /* statement descriptor version. */ 9 45 3 size fixed bin(17), /* statement descriptor size (in words). */ 9 46 2 Pnext ptr unal, /* ptr to next statement descriptor. */ 9 47 2 Plast ptr unal, /* ptr to last statement descriptor. */ 9 48 2 Pvalue ptr unal, /* ptr to statement. */ 9 49 2 Lvalue fixed bin(18), /* length of statement. */ 9 50 2 Pfirst_token ptr unal, /* ptr to 1st token of statement. */ 9 51 2 Plast_token ptr unal, /* ptr to last token of statement. */ 9 52 2 Pcomments ptr unal, /* ptr to comments in statement. */ 9 53 2 Puser ptr unal, /* user-defined ptr. */ 9 54 2 group2 unaligned, 9 55 3 Ntokens fixed bin(17), /* number of tokens in statement. */ 9 56 3 line_no fixed bin(17), /* line no of line on which statement begins. */ 9 57 3 Istmt_in_line fixed bin(17), /* number of stmts in line containing this stmt. */ 9 58 /* (the number includes this stmt.) */ 9 59 3 semant_type fixed bin(17), /* semantic type of the statement. */ 9 60 3 S, /* switches: */ 9 61 4 error_in_stmt bit(1), /* stmt contains a syntactic error. */ 9 62 4 output_in_err_msg bit(1), /* stmt has been output in previous error message.*/ 9 63 4 pad bit(34), 9 64 stmt_value char(stmt.Lvalue) based (stmt.Pvalue), 9 65 /* text of the statement. */ 9 66 Pstmt ptr; /* ptr to a stmt descriptor. */ 9 67 9 68 dcl 9 69 1 token aligned based (Ptoken), 9 70 /* descriptor for a token. */ 9 71 2 group1 unaligned, 9 72 3 version fixed bin(17), /* token descriptor version. */ 9 73 3 size fixed bin(17), /* token descriptor size (in words). */ 9 74 2 Pnext ptr unal, /* ptr to next token descriptor. */ 9 75 2 Plast ptr unal, /* ptr to last token descriptor. */ 9 76 2 Pvalue ptr unal, /* ptr to token. */ 9 77 2 Lvalue fixed bin(18), /* length of token. */ 9 78 2 Pstmt ptr unal, /* ptr to descriptor of stmt containing token. */ 9 79 2 Psemant ptr unal, /* ptr to descriptor(s) of token's semantic value.*/ 9 80 2 group2 unaligned, 9 81 3 Itoken_in_stmt fixed bin(17), /* position of token within its statement. */ 9 82 3 line_no fixed bin(17), /* line number of the line containing the token. */ 9 83 3 Nvalue fixed bin(35), /* numeric value of decimal-integer tokens. */ 9 84 3 S, /* switches: */ 9 85 4 end_of_stmt bit(1), /* token is an end-of-stmt token. */ 9 86 4 quoted_string bit(1), /* token is a quoted string. */ 9 87 4 quotes_in_string bit(1), /* on if quote-close delimiters appear in quoted */ 9 88 /* string (as doubled quotes on input.) */ 9 89 4 quotes_doubled bit(1), /* on if quotes in the string are doubled after */ 9 90 /* string has been lexed into a token. */ 9 91 4 pad2 bit(32), 9 92 token_value char(token.Lvalue) based (token.Pvalue), 9 93 /* value of the token. */ 9 94 Ptoken ptr; /* ptr to a token descriptor. */ 9 95 9 96 /* END OF: lex_descriptors_.incl.pl1 * * * * * * */ 8 25 8 26 8 27 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 8 28 8 29 8 30 SEMANTIC_ANALYSIS: procedure; /* procedure which analyzes the syntax and */ 8 31 /* semantics of the tokens in the input list. */ 8 32 8 33 dcl /* automatic variables */ 8 34 LTOKEN_REQD_VALUE fixed bin(18), /* length of a token requirement. */ 8 35 NRED fixed bin, /* number of the reduction tokens are being */ 8 36 /* compared to. */ 8 37 PRED ptr, /* ptr to the reduction tokens are being */ 8 38 /* compared to. */ 8 39 PTOKEN_REQD ptr, /* ptr to token requirement descriptor associated */ 8 40 /* with reduction tokens are being compared to. */ 8 41 PTOKEN_REQD_VALUE ptr, /* ptr to a token requirement. */ 8 42 STOKEN_FCN bit(1) aligned, /* return value from a relative syntax function. */ 8 43 CODE fixed bin(35), /* an error code. */ 8 44 I fixed bin, /* a do-group index. */ 8 45 NUMBER fixed bin(35); /* fixed binary representation of a decimal */ 8 46 /* number character string. */ 8 47 8 48 dcl /* based variables */ 8 49 1 RED aligned based (PRED), 8 50 /* descriptor for reduction tokens are being */ 8 51 /* compared to. */ 8 52 2 TOKEN_REQD unaligned, 8 53 3 IFIRST fixed bin(17) unal, /* index of first token requirement. */ 8 54 3 ILAST fixed bin(17) unal, /* index of last token requirement associated */ 8 55 /* with this reduction. */ 8 56 1 TOKEN_REQD aligned based (PTOKEN_REQD), 8 57 /* a token requirement descriptor. */ 8 58 2 FORM fixed bin(17) unal, /* form of the token requirement: */ 8 59 /* -1 = relative token requirement function; */ 8 60 /* TYPE = index of the particular token */ 8 61 /* function in the token_fcn array. */ 8 62 /* 0 = built-in token requirement function; */ 8 63 /* TYPE = as defined below. */ 8 64 /* >0 = absolute token requirement: */ 8 65 /* FORM = index(TOKEN_STRINGS,TOKEN_REQD); */ 8 66 /* TYPE = length(TOKEN_REQD); */ 8 67 2 TYPE fixed bin(17) unal, /* TYPE of built-in token requirement function: */ 8 68 /* 1 = compile test to see if input token */ 8 69 /* chain is exhausted (). */ 8 70 /* 2 = compile test for any token value */ 8 71 /* (). */ 8 72 /* 3 = compile test for a PL/I identifier */ 8 73 /* () of 32 or fewer characters. */ 8 74 /* 4 = compile test for token which is a */ 8 75 /* . */ 8 76 /* 5 = compile test for token which is a single */ 8 77 /* backspace character (). */ 8 78 /* 6 = compile test for a token which is a */ 8 79 /* . */ 8 80 8 81 1 TOKEN_REQD_STRING aligned based (PTOKEN_REQD), 8 82 /* overlay for an absolute token requirement */ 8 83 /* descriptor. */ 8 84 2 I fixed bin(17) unal, /* index into list of token strings of the */ 8 85 /* absolute token string assoc w/ descriptor. */ 8 86 2 L fixed bin(17) unal, /* length of the absolute token string. */ 8 87 TOKEN_REQD_VALUE char(LTOKEN_REQD_VALUE) based (PTOKEN_REQD_VALUE); 8 88 /* absolute token string which token is reqd */ 8 89 /* to match in order for tokens which are */ 8 90 /* "current" on the list to match the reduction. */ 8 91 8 92 dcl /* builtin functions */ 8 93 (addr, max, null, search, substr, verify) 8 94 builtin; 8 95 8 96 dcl /* entries */ 8 97 cv_dec_check_ entry (char(*), fixed bin(35)) returns (fixed bin(35)); 8 98 8 99 dcl /* static variables */ 8 100 BACKSPACE char(1) aligned int static init (""); 8 101 8 102 /* END OF: rdc_start_.incl.pl1 * * * * * * */ 1370 1371 1372 dcl DIRECTION fixed bin init(+1); /* direction in which tokens compared. */ 1373 dcl STACK (10) fixed bin, /* reduction label stack. */ 1374 STACK_DEPTH fixed bin init (0); /* index into STACK. */ 1375 1376 1377 dcl 1 REDUCTION (305) unaligned based (addr (REDUCTIONS)), 1378 /* object reductions. */ 1379 2 TOKEN_REQD, 1380 3 IFIRST fixed bin(17), /* index of first required token. */ 1381 3 ILAST fixed bin(17), /* index of last required token. */ 1382 1383 REDUCTIONS (610) fixed bin(17) unaligned internal static options(constant) initial ( 1384 1, 4, /* 1/ Projectid : ; */ 1385 5, 4, /* 2/ */ 1386 5, 8, /* 3/ Grace : ; */ 1387 9, 10, /* 4/ Attributes : */ 1388 11, 16, /* 5/ Initproc : , direct ; */ 1389 17, 20, /* 6/ Initproc : ; */ 1390 21, 24, /* 7/ Initproc : ; */ 1391 25, 28, /* 8/ Subsystem : ; */ 1392 29, 32, /* 9/ Subsystem : ; */ 1393 33, 36, /* 10/ Homedir : ; */ 1394 37, 40, /* 11/ Homedir : ; */ 1395 41, 44, /* 12/ Outer_module : ; */ 1396 45, 48, /* 13/ Outer_module : ; */ 1397 49, 54, /* 14/ Lot_size : , own ; */ 1398 55, 60, /* 15/ Lot_size : , stack ; */ 1399 61, 64, /* 16/ Lot_size : ; */ 1400 65, 68, /* 17/ Kst_size : ; */ 1401 69, 74, /* 18/ Cls_size : , stack ; */ 1402 75, 80, /* 19/ Cls_size : , own ; */ 1403 81, 84, /* 20/ Cls_size : ; */ 1404 85, 88, /* 21/ Pdir_quota : ; */ 1405 89, 92, /* 22/ Max_foreground : ; */ 1406 93, 96, /* 23/ Max_background : ; */ 1407 97, 100, /* 24/ Abs_foreground_cpu_limit : ; */ 1408 101, 102, /* 25/ Cutoff : */ 1409 103, 104, /* 26/ Limit : */ 1410 105, 106, /* 27/ Shift_limit : */ 1411 107, 110, /* 28/ User_warn_days : ; */ 1412 111, 114, /* 29/ User_warn_percent : ; */ 1413 115, 116, /* 30/ User_warn_dollars : */ 1414 117, 120, /* 31/ Warn_days : ; */ 1415 121, 124, /* 32/ Warn_percent : ; */ 1416 125, 126, /* 33/ Warn_dollars : */ 1417 127, 134, /* 34/ Ring : , , ; */ 1418 135, 140, /* 35/ Ring : , ; */ 1419 141, 144, /* 36/ Ring : ; */ 1420 145, 148, /* 37/ Authorization : ; */ 1421 149, 152, /* 38/ Authorization : ; */ 1422 153, 156, /* 39/ Group : ; */ 1423 157, 158, /* 40/ personid : */ 1424 5, 5, /* 41/ Grace */ 1425 9, 9, /* 42/ Attributes */ 1426 11, 11, /* 43/ Initproc */ 1427 33, 33, /* 44/ Homedir */ 1428 41, 41, /* 45/ Outer_module */ 1429 49, 49, /* 46/ Lot_size */ 1430 65, 65, /* 47/ Kst_size */ 1431 69, 69, /* 48/ Cls_size */ 1432 85, 85, /* 49/ Pdir_quota */ 1433 89, 89, /* 50/ Max_foreground */ 1434 93, 93, /* 51/ Max_background */ 1435 97, 97, /* 52/ Abs_foreground_cpu_limit */ 1436 101, 101, /* 53/ Cutoff */ 1437 103, 103, /* 54/ Limit */ 1438 105, 105, /* 55/ Shift_limit */ 1439 107, 107, /* 56/ User_warn_days */ 1440 111, 111, /* 57/ User_warn_percent */ 1441 115, 115, /* 58/ User_warn_dollars */ 1442 117, 117, /* 59/ Warn_days */ 1443 121, 121, /* 60/ Warn_percent */ 1444 125, 125, /* 61/ Warn_dollars */ 1445 127, 127, /* 62/ Ring */ 1446 159, 159, /* 63/ Audit */ 1447 145, 145, /* 64/ Authorization */ 1448 153, 153, /* 65/ Group */ 1449 157, 157, /* 66/ personid */ 1450 160, 160, /* 67/ Accountid */ 1451 3, 3, /* 68/ */ 1452 161, 161, /* 69/ */ 1453 162, 161, /* 70/ */ 1454 162, 164, /* 71/ end ; */ 1455 165, 167, /* 72/ end ; */ 1456 168, 171, /* 73/ personid : * ; */ 1457 172, 175, /* 74/ personid : ; */ 1458 176, 179, /* 75/ password : ; */ 1459 180, 187, /* 76/ ring : , , ; */ 1460 188, 193, /* 77/ ring : , ; */ 1461 194, 197, /* 78/ ring : ; */ 1462 198, 203, /* 79/ initproc : , direct ; */ 1463 204, 207, /* 80/ initproc : ; */ 1464 208, 211, /* 81/ initproc : ; */ 1465 212, 215, /* 82/ subsystem : ; */ 1466 216, 218, /* 83/ subsystem: ; */ 1467 219, 222, /* 84/ homedir : ; */ 1468 223, 226, /* 85/ homedir : ; */ 1469 227, 230, /* 86/ outer_module : ; */ 1470 231, 234, /* 87/ outer_module : ; */ 1471 235, 240, /* 88/ lot_size : , own ; */ 1472 241, 246, /* 89/ lot_size : , stack ; */ 1473 247, 250, /* 90/ lot_size : ; */ 1474 251, 254, /* 91/ kst_size : ; */ 1475 255, 260, /* 92/ cls_size : , stack ; */ 1476 261, 266, /* 93/ cls_size : , own ; */ 1477 267, 270, /* 94/ cls_size : ; */ 1478 271, 274, /* 95/ pdir_quota : ; */ 1479 275, 278, /* 96/ max_foreground : ; */ 1480 279, 282, /* 97/ max_background : ; */ 1481 283, 286, /* 98/ abs_foreground_cpu_limit : ; */ 1482 287, 288, /* 99/ cutoff : */ 1483 289, 292, /* 100/ grace : ; */ 1484 293, 294, /* 101/ attributes : */ 1485 295, 296, /* 102/ limit : */ 1486 297, 298, /* 103/ shift_limit : */ 1487 299, 302, /* 104/ user_warn_days : ; */ 1488 303, 306, /* 105/ user_warn_percent : ; */ 1489 307, 308, /* 106/ user_warn_dollars : */ 1490 309, 312, /* 107/ warn_days : ; */ 1491 313, 316, /* 108/ warn_percent : ; */ 1492 317, 318, /* 109/ warn_dollars : */ 1493 319, 322, /* 110/ authorization : ; */ 1494 323, 326, /* 111/ authorization : ; */ 1495 327, 330, /* 112/ group : ; */ 1496 5, 8, /* 113/ Grace : ; */ 1497 9, 10, /* 114/ Attributes : */ 1498 11, 16, /* 115/ Initproc : , direct ; */ 1499 17, 20, /* 116/ Initproc : ; */ 1500 21, 24, /* 117/ Initproc : ; */ 1501 25, 28, /* 118/ Subsystem : ; */ 1502 29, 32, /* 119/ Subsystem : ; */ 1503 33, 36, /* 120/ Homedir : ; */ 1504 37, 40, /* 121/ Homedir : ; */ 1505 41, 44, /* 122/ Outer_module : ; */ 1506 45, 48, /* 123/ Outer_module : ; */ 1507 49, 54, /* 124/ Lot_size : , own ; */ 1508 55, 60, /* 125/ Lot_size : , stack ; */ 1509 61, 64, /* 126/ Lot_size : ; */ 1510 65, 68, /* 127/ Kst_size : ; */ 1511 69, 74, /* 128/ Cls_size : , stack ; */ 1512 75, 80, /* 129/ Cls_size : , own ; */ 1513 81, 84, /* 130/ Cls_size : ; */ 1514 101, 102, /* 131/ Cutoff : */ 1515 103, 104, /* 132/ Limit : */ 1516 105, 106, /* 133/ Shift_limit : */ 1517 107, 110, /* 134/ User_warn_days : ; */ 1518 111, 114, /* 135/ User_warn_percent : ; */ 1519 115, 116, /* 136/ User_warn_dollars : */ 1520 117, 120, /* 137/ Warn_days : ; */ 1521 121, 124, /* 138/ Warn_percent : ; */ 1522 125, 126, /* 139/ Warn_dollars : */ 1523 127, 134, /* 140/ Ring : , , ; */ 1524 135, 140, /* 141/ Ring : , ; */ 1525 141, 144, /* 142/ Ring : ; */ 1526 145, 148, /* 143/ Authorization : ; */ 1527 149, 152, /* 144/ Authorization : ; */ 1528 153, 156, /* 145/ Group : ; */ 1529 5, 5, /* 146/ Grace */ 1530 9, 9, /* 147/ Attributes */ 1531 11, 11, /* 148/ Initproc */ 1532 25, 25, /* 149/ Subsystem */ 1533 33, 33, /* 150/ Homedir */ 1534 41, 41, /* 151/ Outer_module */ 1535 49, 49, /* 152/ Lot_size */ 1536 65, 65, /* 153/ Kst_size */ 1537 69, 69, /* 154/ Cls_size */ 1538 85, 85, /* 155/ Pdir_quota */ 1539 89, 89, /* 156/ Max_foreground */ 1540 93, 93, /* 157/ Max_background */ 1541 97, 97, /* 158/ Abs_foreground_cpu_limit */ 1542 101, 101, /* 159/ Cutoff */ 1543 103, 103, /* 160/ Limit */ 1544 105, 105, /* 161/ Shift_limit */ 1545 107, 107, /* 162/ User_warn_days */ 1546 111, 111, /* 163/ User_warn_percent */ 1547 115, 115, /* 164/ User_warn_dollars */ 1548 117, 117, /* 165/ Warn_days */ 1549 121, 121, /* 166/ Warn_percent */ 1550 125, 125, /* 167/ Warn_dollars */ 1551 127, 127, /* 168/ Ring */ 1552 159, 159, /* 169/ Audit */ 1553 145, 145, /* 170/ Authorization */ 1554 153, 153, /* 171/ Group */ 1555 162, 162, /* 172/ end */ 1556 157, 157, /* 173/ personid */ 1557 180, 180, /* 174/ ring */ 1558 198, 198, /* 175/ initproc */ 1559 212, 212, /* 176/ subsystem */ 1560 219, 219, /* 177/ homedir */ 1561 227, 227, /* 178/ outer_module */ 1562 235, 235, /* 179/ lot_size */ 1563 251, 251, /* 180/ kst_size */ 1564 255, 255, /* 181/ cls_size */ 1565 271, 271, /* 182/ pdir_quota */ 1566 275, 275, /* 183/ max_foreground */ 1567 279, 279, /* 184/ max_background */ 1568 283, 283, /* 185/ abs_foreground_cpu_limit */ 1569 287, 287, /* 186/ cutoff */ 1570 289, 289, /* 187/ grace */ 1571 293, 293, /* 188/ attributes */ 1572 295, 295, /* 189/ limit */ 1573 297, 297, /* 190/ shift_limit */ 1574 299, 299, /* 191/ user_warn_days */ 1575 303, 303, /* 192/ user_warn_percent */ 1576 307, 307, /* 193/ user_warn_dollars */ 1577 309, 309, /* 194/ warn_days */ 1578 313, 313, /* 195/ warn_percent */ 1579 317, 317, /* 196/ warn_dollars */ 1580 319, 319, /* 197/ authorization */ 1581 327, 327, /* 198/ group */ 1582 160, 160, /* 199/ Accountid */ 1583 331, 331, /* 200/ accountid */ 1584 3, 3, /* 201/ */ 1585 161, 161, /* 202/ */ 1586 332, 331, /* 203/ */ 1587 332, 331, /* 204/ */ 1588 4, 4, /* 205/ ; */ 1589 332, 332, /* 206/ none */ 1590 333, 333, /* 207/ null */ 1591 334, 334, /* 208/ ^ */ 1592 335, 335, /* 209/ administrator */ 1593 336, 336, /* 210/ admin */ 1594 337, 337, /* 211/ primary_line */ 1595 338, 338, /* 212/ nobump */ 1596 339, 339, /* 213/ guaranteed_login */ 1597 340, 340, /* 214/ guar */ 1598 341, 341, /* 215/ anonymous */ 1599 342, 342, /* 216/ anon */ 1600 343, 343, /* 217/ nopreempt */ 1601 344, 344, /* 218/ nolist */ 1602 345, 345, /* 219/ dialok */ 1603 346, 346, /* 220/ dial */ 1604 347, 347, /* 221/ multip */ 1605 348, 348, /* 222/ multi_login */ 1606 349, 349, /* 223/ preempting */ 1607 350, 350, /* 224/ bumping */ 1608 351, 351, /* 225/ brief */ 1609 352, 352, /* 226/ vinitproc */ 1610 353, 353, /* 227/ v_process_overseer */ 1611 354, 354, /* 228/ vhomedir */ 1612 355, 355, /* 229/ v_home_dir */ 1613 356, 356, /* 230/ nostartup */ 1614 357, 357, /* 231/ no_start_up */ 1615 358, 358, /* 232/ no_secondary */ 1616 359, 359, /* 233/ no_sec */ 1617 360, 360, /* 234/ no_primary */ 1618 361, 361, /* 235/ no_prime */ 1619 362, 362, /* 236/ no_edit_only */ 1620 363, 363, /* 237/ no_eo */ 1621 364, 364, /* 238/ op_login */ 1622 365, 365, /* 239/ daemon */ 1623 366, 366, /* 240/ v_outer_module */ 1624 367, 367, /* 241/ vdim */ 1625 368, 368, /* 242/ no_warning */ 1626 369, 369, /* 243/ nowarn */ 1627 370, 370, /* 244/ igroup */ 1628 371, 371, /* 245/ save_pdir */ 1629 372, 372, /* 246/ disconnect_ok */ 1630 373, 373, /* 247/ save_on_disconnect */ 1631 374, 374, /* 248/ save */ 1632 3, 3, /* 249/ */ 1633 161, 161, /* 250/ */ 1634 14, 14, /* 251/ , */ 1635 4, 4, /* 252/ ; */ 1636 3, 3, /* 253/ */ 1637 161, 161, /* 254/ */ 1638 375, 374, /* 255/ */ 1639 375, 374, /* 256/ */ 1640 375, 374, /* 257/ */ 1641 375, 375, /* 258/ */ 1642 7, 7, /* 259/ */ 1643 376, 376, /* 260/ open */ 1644 3, 3, /* 261/ */ 1645 161, 161, /* 262/ */ 1646 4, 4, /* 263/ ; */ 1647 3, 3, /* 264/ */ 1648 161, 161, /* 265/ */ 1649 4, 4, /* 266/ ; */ 1650 3, 3, /* 267/ */ 1651 161, 161, /* 268/ */ 1652 4, 4, /* 269/ ; */ 1653 14, 14, /* 270/ , */ 1654 377, 376, /* 271/ */ 1655 4, 4, /* 272/ ; */ 1656 14, 14, /* 273/ , */ 1657 377, 376, /* 274/ */ 1658 4, 4, /* 275/ ; */ 1659 377, 379, /* 276/ , ; */ 1660 380, 379, /* 277/ */ 1661 4, 4, /* 278/ ; */ 1662 377, 379, /* 279/ , ; */ 1663 380, 379, /* 280/ */ 1664 380, 379, /* 281/ */ 1665 4, 4, /* 282/ ; */ 1666 14, 14, /* 283/ , */ 1667 3, 3, /* 284/ */ 1668 161, 161, /* 285/ */ 1669 380, 380, /* 286/ */ 1670 381, 380, /* 287/ */ 1671 4, 4, /* 288/ ; */ 1672 14, 14, /* 289/ , */ 1673 381, 380, /* 290/ */ 1674 4, 4, /* 291/ ; */ 1675 14, 14, /* 292/ , */ 1676 381, 380, /* 293/ */ 1677 4, 4, /* 294/ ; */ 1678 3, 3, /* 295/ */ 1679 161, 161, /* 296/ */ 1680 4, 4, /* 297/ ; */ 1681 3, 3, /* 298/ */ 1682 161, 161, /* 299/ */ 1683 4, 4, /* 300/ ; */ 1684 3, 3, /* 301/ */ 1685 161, 161, /* 302/ */ 1686 4, 4, /* 303/ ; */ 1687 3, 3, /* 304/ */ 1688 161, 161); /* 305/ */ 1689 1690 dcl 1 TOKEN_REQUIREMENT (380) unaligned based (addr (TOKEN_REQUIREMENTS)), 1691 /* object token requirements. */ 1692 2 FORM fixed bin(17), /* form of the token requirement: */ 1693 /* -1 = relative token requirement function; */ 1694 /* TYPE = index of the particular token */ 1695 /* function in the token_fcn array. */ 1696 /* 0 = built-in token requirement function; */ 1697 /* TYPE = as defined below. */ 1698 /* >0 = absolute token requirement: */ 1699 /* FORM = index(TOKEN_STRINGS,TOKEN_REQD); */ 1700 /* TYPE = length(TOKEN_REQD); */ 1701 2 TYPE fixed bin(17) unal, /* type of the built-in token requirement */ 1702 /* function: */ 1703 /* 1 = compile test to see if input token */ 1704 /* chain is exhausted (). */ 1705 /* 2 = compile test for any token value */ 1706 /* (). */ 1707 /* 3 = compile test for a PL/I identifier */ 1708 /* () of 32 or fewer characters. */ 1709 /* 4 = compile test for token which is a */ 1710 /* . */ 1711 /* 5 = compile test for token which is a single */ 1712 /* backspace character (). */ 1713 /* 6 = compile test for a token which is a */ 1714 /* . */ 1715 1716 TOKEN_REQUIREMENTS (760) fixed bin(17) unaligned internal static options(constant) initial ( 1717 1, 9, 10, 1, 0, 2, 11, 1, 12, 5, 10, 1, 0, 4, 1718 11, 1, 17, 10, 10, 1, 27, 8, 10, 1, -1, 1, 35, 1, 1719 36, 6, 11, 1, 27, 8, 10, 1, -1, 1, 11, 1, 27, 8, 1720 10, 1, 0, 2, 11, 1, 42, 9, 10, 1, -1, 1, 11, 1, 1721 42, 9, 10, 1, 0, 2, 11, 1, 51, 7, 10, 1, -1, 1, 1722 11, 1, 51, 7, 10, 1, 0, 2, 11, 1, 58, 12, 10, 1, 1723 -1, 1, 11, 1, 58, 12, 10, 1, 0, 2, 11, 1, 70, 8, 1724 10, 1, 0, 4, 35, 1, 78, 3, 11, 1, 70, 8, 10, 1, 1725 0, 4, 35, 1, 81, 5, 11, 1, 70, 8, 10, 1, 0, 4, 1726 11, 1, 86, 8, 10, 1, 0, 4, 11, 1, 94, 8, 10, 1, 1727 0, 4, 35, 1, 81, 5, 11, 1, 94, 8, 10, 1, 0, 4, 1728 35, 1, 78, 3, 11, 1, 94, 8, 10, 1, 0, 4, 11, 1, 1729 102, 10, 10, 1, 0, 4, 11, 1, 112, 14, 10, 1, 0, 4, 1730 11, 1, 126, 14, 10, 1, 0, 4, 11, 1, 140, 24, 10, 1, 1731 0, 4, 11, 1, 164, 6, 10, 1, 170, 5, 10, 1, 175, 11, 1732 10, 1, 186, 14, 10, 1, 0, 4, 11, 1, 200, 17, 10, 1, 1733 0, 4, 11, 1, 217, 17, 10, 1, 234, 9, 10, 1, 0, 4, 1734 11, 1, 243, 12, 10, 1, 0, 4, 11, 1, 255, 12, 10, 1, 1735 267, 4, 10, 1, -1, 2, 35, 1, -1, 2, 35, 1, -1, 2, 1736 11, 1, 267, 4, 10, 1, -1, 2, 35, 1, -1, 2, 11, 1, 1737 267, 4, 10, 1, -1, 2, 11, 1, 271, 13, 10, 1, -1, 3, 1738 11, 1, 271, 13, 10, 1, 0, 2, 11, 1, 284, 5, 10, 1, 1739 0, 2, 11, 1, 289, 8, 10, 1, 297, 5, 302, 9, 0, 1, 1740 311, 3, 11, 1, 0, 1, 311, 3, 11, 1, 0, 2, 289, 8, 1741 10, 1, 314, 1, 11, 1, 289, 8, 10, 1, 0, 2, 11, 1, 1742 315, 8, 10, 1, 0, 2, 11, 1, 323, 4, 10, 1, -1, 2, 1743 35, 1, -1, 2, 35, 1, -1, 2, 11, 1, 323, 4, 10, 1, 1744 -1, 2, 35, 1, -1, 2, 11, 1, 323, 4, 10, 1, -1, 2, 1745 11, 1, 327, 8, 10, 1, -1, 1, 35, 1, 36, 6, 11, 1, 1746 327, 8, 10, 1, -1, 1, 11, 1, 327, 8, 10, 1, 0, 2, 1747 11, 1, 335, 9, 10, 1, -1, 1, 11, 1, 344, 10, 0, 2, 1748 11, 1, 354, 7, 10, 1, -1, 1, 11, 1, 354, 7, 10, 1, 1749 0, 2, 11, 1, 361, 12, 10, 1, -1, 1, 11, 1, 361, 12, 1750 10, 1, 0, 2, 11, 1, 373, 8, 10, 1, 0, 4, 35, 1, 1751 78, 3, 11, 1, 373, 8, 10, 1, 0, 4, 35, 1, 81, 5, 1752 11, 1, 373, 8, 10, 1, 0, 4, 11, 1, 381, 8, 10, 1, 1753 0, 4, 11, 1, 389, 8, 10, 1, 0, 4, 35, 1, 81, 5, 1754 11, 1, 389, 8, 10, 1, 0, 4, 35, 1, 78, 3, 11, 1, 1755 389, 8, 10, 1, 0, 4, 11, 1, 397, 10, 10, 1, 0, 4, 1756 11, 1, 407, 14, 10, 1, 0, 4, 11, 1, 421, 14, 10, 1, 1757 0, 4, 11, 1, 435, 24, 10, 1, 0, 4, 11, 1, 459, 6, 1758 10, 1, 465, 5, 10, 1, 0, 4, 11, 1, 470, 10, 10, 1, 1759 159, 5, 10, 1, 480, 11, 10, 1, 491, 14, 10, 1, 0, 4, 1760 11, 1, 505, 17, 10, 1, 0, 4, 11, 1, 522, 17, 10, 1, 1761 191, 9, 10, 1, 0, 4, 11, 1, 205, 12, 10, 1, 0, 4, 1762 11, 1, 222, 12, 10, 1, 539, 13, 10, 1, -1, 3, 11, 1, 1763 539, 13, 10, 1, 0, 2, 11, 1, 552, 5, 10, 1, 0, 2, 1764 11, 1, 557, 9, 566, 4, 570, 4, 574, 1, 575, 13, 575, 5, 1765 588, 12, 600, 6, 606, 16, 606, 4, 622, 9, 622, 4, 631, 9, 1766 640, 6, 646, 6, 646, 4, 652, 6, 658, 11, 669, 10, 679, 7, 1767 686, 5, 691, 9, 700, 18, 718, 8, 726, 10, 736, 9, 745, 11, 1768 756, 12, 756, 6, 768, 10, 778, 8, 786, 12, 798, 5, 803, 8, 1769 811, 6, 817, 14, 831, 4, 835, 10, 845, 6, 851, 6, 857, 9, 1770 866, 13, 879, 18, 857, 4, -1, 4, 897, 4, 35, 1, -1, 5, 1771 11, 1, -1, 6); 1772 1773 1774 dcl TOKEN_STRINGS char(900) aligned based (addr (TOKEN_STRING_ARRAYS)), 1775 /* object token values. */ 1776 TOKEN_STRING_ARRAYS (10) char(100) aligned internal static options(constant) initial ( 1777 "Projectid:;GraceAttributesInitproc,directSubsystemHomedirOuter_moduleLot_sizeownstackKst_sizeCls_siz", 1778 "ePdir_quotaMax_foregroundMax_backgroundAbs_foreground_cpu_limitCutoffLimitShift_limitUser_warn_daysU", 1779 "ser_warn_percentUser_warn_dollarsWarn_daysWarn_percentWarn_dollarsRingAuthorizationGrouppersonidAudi", 1780 "tAccountidend*passwordringinitprocsubsystemsubsystem:homedirouter_modulelot_sizekst_sizecls_sizepdir", 1781 "_quotamax_foregroundmax_backgroundabs_foreground_cpu_limitcutoffgraceattributesshift_limituser_warn_", 1782 "daysuser_warn_percentuser_warn_dollarsauthorizationgroupaccountidnonenull^administratorprimary_linen", 1783 "obumpguaranteed_loginanonymousnopreemptnolistdialokmultipmulti_loginpreemptingbumpingbriefvinitprocv", 1784 "_process_overseervhomedirv_home_dirnostartupno_start_upno_secondaryno_primaryno_primeno_edit_onlyno_", 1785 "eoop_logindaemonv_outer_modulevdimno_warningnowarnigroupsave_pdirdisconnect_oksave_on_disconnectopen", 1786 ""); 1787 1788 /* START OF: rdc_end_.incl.pl1 * * * * * * * * * * * * * * * * */ 10 2 10 3 10 4 /****^ HISTORY COMMENTS: 10 5* 1) change(86-02-14,GWMay), approve(), audit(), install(): 10 6* old history comments: 10 7* 0) Created: April, 1974 by G. C. Dixon 10 8* 1) Modified: Feb, 1975 by G. C. Dixon 10 9* a) support for Version 2.0 of reduction_compiler. 10 10* 2) Modified: Feb, 1981 by G. C. Dixon 10 11* a) support for Version 2.2 of reduction_compiler 10 12* 3) Modified: Aug, 1983 by G. C. Dixon - support for Version 2.3 of 10 13* reductions command. 10 14* 2) change(86-03-04,GDixon), approve(86-03-04,MCR7362), audit(86-03-17,GWMay), 10 15* install(86-03-17,MR12.0-1032): 10 16* Changed how the PUSH DOWN LANGUAGE (SPDL) definition of is 10 17* implemented to avoid references through a null pointer. The two 10 18* accepted uses are: 10 19* 10 20* / / ... / ... \ 10 21* A 10 22* | 10 23* Pthis_token (points to top of push down stack) 10 24* 10 25* which checks to see if the push down stack is totally exhausted (ie, 10 26* Ptoken = null); and: 10 27* 10 28* / SPEC1 ... SPECN / ... / ... \ 10 29* A 10 30* | 10 31* Pthis_token (points to top of push down stack) 10 32* 10 33* which checks to see whether SPECN is topmost on the push down stack 10 34* AND is the final token in the input list. 10 35* END HISTORY COMMENTS */ 10 36 10 37 10 38 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 39 /* */ 10 40 /* NAME: rdc_end_.incl.pl1 */ 10 41 /* */ 10 42 /* This include segment is used by compilers generated by the reduction_compiler. */ 10 43 /* Such compilers include a SEMANTIC_ANALYSIS subroutine generated by the */ 10 44 /* reduction_compiler. This subroutine compares a chain of input tokens with token */ 10 45 /* requirements specified in reductions. The code in this include segment performs the */ 10 46 /* actual comparisons. This code is the middle part of the SEMANTIC_ANALYSIS procedure. */ 10 47 /* */ 10 48 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 49 10 50 TRACING = TRACING; /* Kludge to prevent pl1 from making TRACING */ 10 51 /* options(constant) because it is never set. */ 10 52 NRED = 1; 10 53 go to RD_TEST_REDUCTION; 10 54 10 55 RD_NEXT_REDUCTION: 10 56 NRED = NRED + 1; 10 57 10 58 RD_TEST_REDUCTION: 10 59 PRED = addr(REDUCTION(NRED)); 10 60 Ptoken = Pthis_token; 10 61 10 62 do I = RED.TOKEN_REQD.IFIRST to RED.TOKEN_REQD.ILAST by DIRECTION; 10 63 PTOKEN_REQD = addr(TOKEN_REQUIREMENT(I)); 10 64 if Ptoken = null then do; 10 65 if TOKEN_REQD.FORM = 0 then /* No more tokens. Only matches spec. */ 10 66 if TOKEN_REQD.TYPE = 1 then 10 67 go to RD_TEST_TOKEN(1); 10 68 go to RD_NEXT_REDUCTION; 10 69 end; 10 70 if TOKEN_REQD.FORM = 0 then do; /* built-in syntax function. */ 10 71 go to RD_TEST_TOKEN(TOKEN_REQD.TYPE); 10 72 10 73 RD_TEST_TOKEN(1): if SPDL then /* */ 10 74 /* In push-down-language, there are 2 */ 10 75 /* interpretations of . */ 10 76 if RED.TOKEN_REQD.IFIRST = RED.TOKEN_REQD.ILAST & 10 77 Ptoken = null then /* When is only spec, the spec asks */ 10 78 go to RD_MATCH_NO_TOKEN; /* "Is push down stack empty (all input gone)?" */ 10 79 else if RED.TOKEN_REQD.IFIRST^= RED.TOKEN_REQD.ILAST & 10 80 RED.TOKEN_REQD.IFIRST = I & 10 81 token.Pnext = null then /* For SPEC1 ... SPECN , the spec asks */ 10 82 go to RD_MATCH_NO_TOKEN; /* "Are the topmost tokens on stack SPEC1 - SPECN,*/ 10 83 /* and is SPECN the final input token?" */ 10 84 else go to RD_NEXT_REDUCTION; /* Those are the only two defs allowed in push */ 10 85 /* down language mode for . */ 10 86 else if Ptoken = null then 10 87 go to RD_MATCH_NO_TOKEN; 10 88 go to RD_NEXT_REDUCTION; 10 89 10 90 RD_TEST_TOKEN(2): go to RD_MATCH; /* */ 10 91 10 92 RD_TEST_TOKEN(3): if token.Lvalue > 0 & /* */ 10 93 token.Lvalue <= 32 & ^token.S.quoted_string then 10 94 if search(substr(token_value,1,1),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") 10 95 > 0 then 10 96 if verify(token_value,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_$") 10 97 = 0 then 10 98 go to RD_MATCH; 10 99 go to RD_NEXT_REDUCTION; 10 100 10 101 RD_TEST_TOKEN(4): /* */ 10 102 if token.Nvalue ^= 0 then /* token already determined to be a number. */ 10 103 go to RD_MATCH; 10 104 if token.S.quoted_string then 10 105 go to RD_NEXT_REDUCTION; 10 106 NUMBER = cv_dec_check_ (token_value, CODE); 10 107 if CODE = 0 then do; 10 108 token.Nvalue = NUMBER; 10 109 go to RD_MATCH; 10 110 end; 10 111 go to RD_NEXT_REDUCTION; 10 112 10 113 RD_TEST_TOKEN(5): if token.Lvalue = 1 then /* */ 10 114 if token_value = BACKSPACE & ^token.S.quoted_string then 10 115 go to RD_MATCH; 10 116 go to RD_NEXT_REDUCTION; 10 117 10 118 RD_TEST_TOKEN(6): if token.S.quoted_string then /* */ 10 119 go to RD_MATCH; 10 120 go to RD_NEXT_REDUCTION; 10 121 end; 10 122 10 123 else if TOKEN_REQD.FORM > 0 then do; /* absolute syntax specification. */ 10 124 if token.S.quoted_string then 10 125 go to RD_NEXT_REDUCTION; 10 126 PTOKEN_REQD_VALUE = addr(substr(TOKEN_STRINGS,TOKEN_REQD_STRING.I)); 10 127 LTOKEN_REQD_VALUE = TOKEN_REQD_STRING.L; 10 128 if token_value = TOKEN_REQD_VALUE then 10 129 go to RD_MATCH; 10 130 go to RD_NEXT_REDUCTION; 10 131 end; 10 132 10 133 /* END OF: rdc_end_.incl.pl1 * * * * * * * * * * * * * * * * */ 1788 1789 1790 else do; /* relative syntax function. */ 1791 go to RD_TOKEN_FCN(TOKEN_REQD.TYPE); 1792 1793 RD_TOKEN_FCN(1): STOKEN_FCN = path_name(); 1794 go to RD_TEST_RESULT; 1795 RD_TOKEN_FCN(2): STOKEN_FCN = onetoseven(); 1796 go to RD_TEST_RESULT; 1797 RD_TOKEN_FCN(3): STOKEN_FCN = authorization_string(); 1798 go to RD_TEST_RESULT; 1799 RD_TOKEN_FCN(4): STOKEN_FCN = floating_number(); 1800 go to RD_TEST_RESULT; 1801 RD_TOKEN_FCN(5): STOKEN_FCN = increment(); 1802 go to RD_TEST_RESULT; 1803 RD_TOKEN_FCN(6): STOKEN_FCN = okdate(); 1804 go to RD_TEST_RESULT; 1805 1806 RD_TEST_RESULT: if STOKEN_FCN then go to RD_MATCH; 1807 else go to RD_NEXT_REDUCTION; 1808 end; 1809 1810 RD_MATCH: Ptoken = token.Pnext; 1811 RD_MATCH_NO_TOKEN: 1812 end; 1813 Ptoken = Pthis_token; 1814 go to RD_ACTION(NRED); 1815 1816 /* START OF: rdc_stack_fcns_.incl.pl1 * * * * * * */ 11 2 11 3 /* * * * * * * * * * * * * * * * * * * * * * * */ 11 4 /* */ 11 5 /* N__a_m_e: rdc_stack_fcns_.incl.pl1 */ 11 6 /* */ 11 7 /* This include segment is used by compilers generated by the */ 11 8 /* reduction_compiler. It includes code for manipulating the */ 11 9 /* reduction label stack. */ 11 10 /* */ 11 11 /* S__t_a_t_u_s */ 11 12 /* */ 11 13 /* 0) Created: April, 1974 by G. C. Dixon */ 11 14 /* */ 11 15 /* * * * * * * * * * * * * * * * * * * * * * * */ 11 16 11 17 RD_STACK: if STACK_DEPTH > 0 then do; 11 18 NRED = STACK (STACK_DEPTH); 11 19 go to RD_TEST_REDUCTION; 11 20 end; 11 21 else 11 22 go to RD_NEXT_REDUCTION; 11 23 11 24 RD_STACK_POP: 11 25 if STACK_DEPTH > 0 then do; 11 26 NRED = STACK (STACK_DEPTH); 11 27 STACK_DEPTH = max (STACK_DEPTH-1, 0); 11 28 go to RD_TEST_REDUCTION; 11 29 end; 11 30 else 11 31 go to RD_NEXT_REDUCTION; 11 32 11 33 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 11 34 11 35 11 36 PUSH: procedure (N); /* invoked to push reduction number 'N' onto */ 11 37 /* the reduction stack. */ 11 38 dcl N fixed bin; 11 39 11 40 dcl (addr, dimension, length, null) 11 41 builtin; 11 42 11 43 dcl cu_$cl entry, 11 44 iox_$put_chars entry (ptr, ptr, fixed bin, fixed bin(35)), 11 45 iox_$error_output ptr ext static, 11 46 lex_error_ entry options(variable); 11 47 11 48 dcl brief_error char(4) varying initial ("") int static, 11 49 long_error char(234) varying int static init( 11 50 "An internal stack (the reduction stack) has overflowed. 11 51 The translation has failed. Contact translator maintenance 11 52 personnel for assistance. 11 53 Processing reduction: ^d 11 54 Reduction being stacked: ^d 11 55 Maximum stack depth: ^d"), 11 56 non_restart_error char(33) int static init ("Translation cannot be restarted. 11 57 "); 11 58 11 59 if STACK_DEPTH >= dimension (STACK, 1) then do; 11 60 call lex_error_ (0, "0"b, 4, 0, null, null, "11"b, long_error, brief_error, NRED, N, 11 61 dimension(STACK,1)); 11 62 get_to_cl: call cu_$cl(); 11 63 call iox_$put_chars (iox_$error_output, addr(non_restart_error), length(non_restart_error), 0); 11 64 go to get_to_cl; 11 65 end; /* stack overflow is a non-recoverable error. */ 11 66 else 11 67 STACK_DEPTH = STACK_DEPTH + 1; 11 68 STACK (STACK_DEPTH) = N; 11 69 11 70 end PUSH; 11 71 11 72 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 11 73 11 74 /* END OF: rdc_stack_fcns_.incl.pl1 * * * * * * */ 1816 1817 1818 1819 RD_ACTION(1): /* / */ 1820 call LEX ( 2 ); 1821 call set_project_name(); 1822 call LEX ( 2 ); 1823 NRED = 3; 1824 go to RD_TEST_REDUCTION; /* / head \ */ 1825 1826 RD_ACTION(2): /* / */ 1827 call ERROR ( 2 ); 1828 return; /* / RETURN \ */ 1829 1830 RD_ACTION(3): /* / */ 1831 call LEX ( 2 ); 1832 default.bump_grace = token.Nvalue; 1833 call LEX ( 2 ); 1834 NRED = 3; 1835 go to RD_TEST_REDUCTION; /* / head \ */ 1836 1837 RD_ACTION(4): /* / */ 1838 call LEX ( 2 ); 1839 call PUSH(3); /* PUSH(head) */ 1840 call PUSH(255); /* PUSH(assign_default_attributes) */ 1841 NRED = 204; 1842 go to RD_TEST_REDUCTION; /* / attrsub \ */ 1843 1844 RD_ACTION(5): /* / */ 1845 call LEX ( 2 ); 1846 call set_ip_ss ( default.initial_procedure, default.uflags.ip_given, default.ip_len ); 1847 call LEX ( 4 ); 1848 default.dont_call_init_admin = "1"b; 1849 NRED = 3; 1850 go to RD_TEST_REDUCTION; /* / head \ */ 1851 1852 RD_ACTION(6): /* / */ 1853 call LEX ( 2 ); 1854 call set_ip_ss ( default.initial_procedure, default.uflags.ip_given, default.ip_len ); 1855 call LEX ( 2 ); 1856 default.dont_call_init_admin = "0"b; 1857 NRED = 3; 1858 go to RD_TEST_REDUCTION; /* / head \ */ 1859 1860 RD_ACTION(7): /* / */ 1861 call LEX ( 2 ); 1862 call ERROR ( 22 ); 1863 call LEX ( 2 ); 1864 NRED = 3; 1865 go to RD_TEST_REDUCTION; /* / head \ */ 1866 1867 RD_ACTION(8): /* / */ 1868 call LEX ( 2 ); 1869 call set_ip_ss ( default_subsystem, default.uflags.ss_given, default.ss_len ); 1870 call LEX ( 2 ); 1871 NRED = 3; 1872 go to RD_TEST_REDUCTION; /* / head \ */ 1873 1874 RD_ACTION(9): /* / */ 1875 call LEX ( 2 ); 1876 call ERROR ( 22 ); 1877 call LEX ( 2 ); 1878 NRED = 3; 1879 go to RD_TEST_REDUCTION; /* / head \ */ 1880 1881 RD_ACTION(10): /* / */ 1882 call LEX ( 2 ); 1883 call set_string ( "Homedir", default.home_dir, token_value ); 1884 call LEX ( 2 ); 1885 NRED = 3; 1886 go to RD_TEST_REDUCTION; /* / head \ */ 1887 1888 RD_ACTION(11): /* / */ 1889 call LEX ( 2 ); 1890 call ERROR ( 22 ); 1891 call LEX ( 2 ); 1892 NRED = 3; 1893 go to RD_TEST_REDUCTION; /* / head \ */ 1894 1895 RD_ACTION(12): /* / */ 1896 call LEX ( 2 ); 1897 call set_string ( "Outer_module", default.outer_module, token_value ); 1898 call LEX ( 2 ); 1899 NRED = 3; 1900 go to RD_TEST_REDUCTION; /* / head \ */ 1901 1902 RD_ACTION(13): /* / */ 1903 call LEX ( 2 ); 1904 call ERROR ( 22 ); 1905 call LEX ( 2 ); 1906 NRED = 3; 1907 go to RD_TEST_REDUCTION; /* / head \ */ 1908 1909 RD_ACTION(14): /* / */ 1910 call LEX ( 2 ); 1911 default.lot_size = -token.Nvalue; 1912 call LEX ( 4 ); 1913 NRED = 3; 1914 go to RD_TEST_REDUCTION; /* / head \ */ 1915 1916 RD_ACTION(15): /* / */ 1917 call LEX ( 2 ); 1918 default.lot_size = token.Nvalue; 1919 call LEX ( 4 ); 1920 NRED = 3; 1921 go to RD_TEST_REDUCTION; /* / head \ */ 1922 1923 RD_ACTION(16): /* / */ 1924 call LEX ( 2 ); 1925 default.lot_size = token.Nvalue; 1926 call LEX ( 2 ); 1927 NRED = 3; 1928 go to RD_TEST_REDUCTION; /* / head \ */ 1929 1930 RD_ACTION(17): /* / */ 1931 call LEX ( 2 ); 1932 default.kst_size = token.Nvalue; 1933 call LEX ( 2 ); 1934 NRED = 3; 1935 go to RD_TEST_REDUCTION; /* / head \ */ 1936 1937 RD_ACTION(18): /* / */ 1938 call LEX ( 2 ); 1939 default.cls_size = -token.Nvalue; 1940 call LEX ( 4 ); 1941 NRED = 3; 1942 go to RD_TEST_REDUCTION; /* / head \ */ 1943 1944 RD_ACTION(19): /* / */ 1945 call LEX ( 2 ); 1946 default.cls_size = token.Nvalue; 1947 call LEX ( 4 ); 1948 NRED = 3; 1949 go to RD_TEST_REDUCTION; /* / head \ */ 1950 1951 RD_ACTION(20): /* / */ 1952 call LEX ( 2 ); 1953 default.cls_size = token.Nvalue; 1954 call LEX ( 2 ); 1955 NRED = 3; 1956 go to RD_TEST_REDUCTION; /* / head \ */ 1957 1958 RD_ACTION(21): /* / */ 1959 call LEX ( 2 ); 1960 default.pdir_quota = token.Nvalue; 1961 call LEX ( 2 ); 1962 NRED = 3; 1963 go to RD_TEST_REDUCTION; /* / head \ */ 1964 1965 RD_ACTION(22): /* / */ 1966 call LEX ( 2 ); 1967 default.max_foreground = token.Nvalue; 1968 call LEX ( 2 ); 1969 NRED = 3; 1970 go to RD_TEST_REDUCTION; /* / head \ */ 1971 1972 RD_ACTION(23): /* / */ 1973 call LEX ( 2 ); 1974 default.max_background = token.Nvalue; 1975 call LEX ( 2 ); 1976 NRED = 3; 1977 go to RD_TEST_REDUCTION; /* / head \ */ 1978 1979 RD_ACTION(24): /* / */ 1980 call LEX ( 2 ); 1981 default.abs_foreground_cpu_limit = token.Nvalue; 1982 call LEX ( 2 ); 1983 NRED = 3; 1984 go to RD_TEST_REDUCTION; /* / head \ */ 1985 1986 RD_ACTION(25): /* / */ 1987 call LEX ( 2 ); 1988 call PUSH(3); /* PUSH(head) */ 1989 call PUSH(269); /* PUSH(default_cutoff) */ 1990 NRED = 257; 1991 go to RD_TEST_REDUCTION; /* / number \ */ 1992 1993 RD_ACTION(26): /* / */ 1994 call LEX ( 2 ); 1995 call PUSH(3); /* PUSH(head) */ 1996 call PUSH(263); /* PUSH(default_monthlim) */ 1997 NRED = 257; 1998 go to RD_TEST_REDUCTION; /* / number \ */ 1999 2000 RD_ACTION(27): /* / */ 2001 call LEX ( 2 ); 2002 call PUSH(3); /* PUSH(head) */ 2003 x = 1; 2004 NRED = 288; 2005 go to RD_TEST_REDUCTION; /* / default_shiftlims \ */ 2006 2007 RD_ACTION(28): /* / */ 2008 call LEX ( 2 ); 2009 default.user_warn_days = token.Nvalue; 2010 call LEX ( 2 ); 2011 NRED = 3; 2012 go to RD_TEST_REDUCTION; /* / head \ */ 2013 2014 RD_ACTION(29): /* / */ 2015 call LEX ( 2 ); 2016 default.user_warn_pct = token.Nvalue; 2017 call LEX ( 2 ); 2018 NRED = 3; 2019 go to RD_TEST_REDUCTION; /* / head \ */ 2020 2021 RD_ACTION(30): /* / */ 2022 call LEX ( 2 ); 2023 call PUSH(3); /* PUSH(head) */ 2024 call PUSH(300); /* PUSH(default_user_warn_doll) */ 2025 NRED = 257; 2026 go to RD_TEST_REDUCTION; /* / number \ */ 2027 2028 RD_ACTION(31): /* / */ 2029 call LEX ( 2 ); 2030 default.warn_days = token.Nvalue; 2031 call LEX ( 2 ); 2032 NRED = 3; 2033 go to RD_TEST_REDUCTION; /* / head \ */ 2034 2035 RD_ACTION(32): /* / */ 2036 call LEX ( 2 ); 2037 default.warn_pct = token.Nvalue; 2038 call LEX ( 2 ); 2039 NRED = 3; 2040 go to RD_TEST_REDUCTION; /* / head \ */ 2041 2042 RD_ACTION(33): /* / */ 2043 call LEX ( 2 ); 2044 call PUSH(3); /* PUSH(head) */ 2045 call PUSH(294); /* PUSH(default_warn_doll) */ 2046 NRED = 257; 2047 go to RD_TEST_REDUCTION; /* / number \ */ 2048 2049 RD_ACTION(34): /* / */ 2050 call LEX ( 2 ); 2051 default.low_ring = token.Nvalue; 2052 call LEX ( 2 ); 2053 default.high_ring = token.Nvalue; 2054 call LEX ( 2 ); 2055 default.default_ring = token.Nvalue; 2056 call LEX ( 2 ); 2057 NRED = 3; 2058 go to RD_TEST_REDUCTION; /* / head \ */ 2059 2060 RD_ACTION(35): /* / */ 2061 call LEX ( 2 ); 2062 default.low_ring = token.Nvalue; 2063 default.default_ring = token.Nvalue; 2064 call LEX ( 2 ); 2065 default.high_ring = token.Nvalue; 2066 call LEX ( 2 ); 2067 NRED = 3; 2068 go to RD_TEST_REDUCTION; /* / head \ */ 2069 2070 RD_ACTION(36): /* / */ 2071 call LEX ( 2 ); 2072 default.low_ring = token.Nvalue; 2073 default.default_ring = token.Nvalue; 2074 default.high_ring = token.Nvalue; 2075 call LEX ( 2 ); 2076 NRED = 3; 2077 go to RD_TEST_REDUCTION; /* / head \ */ 2078 2079 RD_ACTION(37): /* / */ 2080 call LEX ( 2 ); 2081 default.user_authorization = authorization_value; 2082 call check_default_authorization(); 2083 call LEX ( 2 ); 2084 NRED = 3; 2085 go to RD_TEST_REDUCTION; /* / head \ */ 2086 2087 RD_ACTION(38): /* / */ 2088 call LEX ( 2 ); 2089 call ERROR ( 25 ); 2090 call LEX ( 2 ); 2091 NRED = 3; 2092 go to RD_TEST_REDUCTION; /* / head \ */ 2093 2094 RD_ACTION(39): /* / */ 2095 call LEX ( 2 ); 2096 call set_string ( "Group", Default_Group, token_value ); 2097 call LEX ( 2 ); 2098 NRED = 3; 2099 go to RD_TEST_REDUCTION; /* / head \ */ 2100 2101 RD_ACTION(40): /* / */ 2102 NRED = 71; 2103 go to RD_TEST_REDUCTION; /* / user \ */ 2104 2105 RD_ACTION(41): /* / */ 2106 NRED = 70; 2107 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2108 2109 RD_ACTION(42): /* / */ 2110 NRED = 70; 2111 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2112 2113 RD_ACTION(43): /* / */ 2114 NRED = 70; 2115 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2116 2117 RD_ACTION(44): /* / */ 2118 NRED = 70; 2119 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2120 2121 RD_ACTION(45): /* / */ 2122 NRED = 70; 2123 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2124 2125 RD_ACTION(46): /* / */ 2126 NRED = 70; 2127 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2128 2129 RD_ACTION(47): /* / */ 2130 NRED = 70; 2131 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2132 2133 RD_ACTION(48): /* / */ 2134 NRED = 70; 2135 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2136 2137 RD_ACTION(49): /* / */ 2138 NRED = 70; 2139 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2140 2141 RD_ACTION(50): /* / */ 2142 NRED = 70; 2143 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2144 2145 RD_ACTION(51): /* / */ 2146 NRED = 70; 2147 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2148 2149 RD_ACTION(52): /* / */ 2150 NRED = 70; 2151 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2152 2153 RD_ACTION(53): /* / */ 2154 NRED = 70; 2155 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2156 2157 RD_ACTION(54): /* / */ 2158 NRED = 70; 2159 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2160 2161 RD_ACTION(55): /* / */ 2162 NRED = 70; 2163 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2164 2165 RD_ACTION(56): /* / */ 2166 NRED = 70; 2167 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2168 2169 RD_ACTION(57): /* / */ 2170 NRED = 70; 2171 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2172 2173 RD_ACTION(58): /* / */ 2174 NRED = 70; 2175 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2176 2177 RD_ACTION(59): /* / */ 2178 NRED = 70; 2179 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2180 2181 RD_ACTION(60): /* / */ 2182 NRED = 70; 2183 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2184 2185 RD_ACTION(61): /* / */ 2186 NRED = 70; 2187 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2188 2189 RD_ACTION(62): /* / */ 2190 NRED = 70; 2191 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2192 2193 RD_ACTION(63): /* / */ 2194 NRED = 70; 2195 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2196 2197 RD_ACTION(64): /* / */ 2198 NRED = 70; 2199 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2200 2201 RD_ACTION(65): /* / */ 2202 NRED = 70; 2203 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2204 2205 RD_ACTION(66): /* / */ 2206 NRED = 70; 2207 go to RD_TEST_REDUCTION; /* / error_23_in_head \ */ 2208 2209 RD_ACTION(67): /* / */ 2210 call ERROR ( 29 ); 2211 call NEXT_STMT(); 2212 NRED = 3; 2213 go to RD_TEST_REDUCTION; /* / head \ */ 2214 2215 RD_ACTION(68): /* / */ 2216 call ERROR ( 1 ); 2217 call NEXT_STMT(); 2218 NRED = 3; 2219 go to RD_TEST_REDUCTION; /* / head \ */ 2220 2221 RD_ACTION(69): /* / */ 2222 call ERROR ( 5 ); 2223 return; /* / RETURN \ */ 2224 2225 RD_ACTION(70): /* / */ 2226 call ERROR ( 23 ); 2227 call NEXT_STMT(); 2228 NRED = 3; 2229 go to RD_TEST_REDUCTION; /* / head \ */ 2230 2231 RD_ACTION(71): /* / */ 2232 call close(); 2233 return; /* / RETURN \ */ 2234 2235 RD_ACTION(72): /* / */ 2236 call ERROR ( 35 ); 2237 call close(); 2238 return; /* / RETURN \ */ 2239 2240 RD_ACTION(73): /* / */ 2241 call LEX ( 3 ); 2242 call close(); 2243 call open_anon(); 2244 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 2245 NRED = 71; 2246 go to RD_TEST_REDUCTION; /* / user \ */ 2247 2248 RD_ACTION(74): /* / */ 2249 call LEX ( 2 ); 2250 call close(); 2251 call open(); 2252 call LEX ( 2 ); 2253 NRED = 71; 2254 go to RD_TEST_REDUCTION; /* / user \ */ 2255 2256 RD_ACTION(75): /* / */ 2257 call LEX ( 2 ); 2258 call set_string ( "password", user.password, token_value ); 2259 call LEX ( 2 ); 2260 NRED = 71; 2261 go to RD_TEST_REDUCTION; /* / user \ */ 2262 2263 RD_ACTION(76): /* / */ 2264 call LEX ( 2 ); 2265 user.low_ring = token.Nvalue; 2266 call LEX ( 2 ); 2267 user.high_ring = token.Nvalue; 2268 call LEX ( 2 ); 2269 user.default_ring = token.Nvalue; 2270 call LEX ( 2 ); 2271 NRED = 71; 2272 go to RD_TEST_REDUCTION; /* / user \ */ 2273 2274 RD_ACTION(77): /* / */ 2275 call LEX ( 2 ); 2276 user.low_ring = token.Nvalue; 2277 user.default_ring = token.Nvalue; 2278 call LEX ( 2 ); 2279 user.high_ring = token.Nvalue; 2280 call LEX ( 2 ); 2281 NRED = 71; 2282 go to RD_TEST_REDUCTION; /* / user \ */ 2283 2284 RD_ACTION(78): /* / */ 2285 call LEX ( 2 ); 2286 user.low_ring = token.Nvalue; 2287 user.default_ring = token.Nvalue; 2288 user.high_ring = token.Nvalue; 2289 call LEX ( 2 ); 2290 NRED = 71; 2291 go to RD_TEST_REDUCTION; /* / user \ */ 2292 2293 RD_ACTION(79): /* / */ 2294 call LEX ( 2 ); 2295 call set_ip_ss ( user.initial_procedure, user.uflags.ip_given, user.ip_len ); 2296 call LEX ( 4 ); 2297 user.dont_call_init_admin = "1"b; 2298 NRED = 71; 2299 go to RD_TEST_REDUCTION; /* / user \ */ 2300 2301 RD_ACTION(80): /* / */ 2302 call LEX ( 2 ); 2303 call set_ip_ss ( user.initial_procedure, user.uflags.ip_given, user.ip_len ); 2304 call LEX ( 2 ); 2305 user.dont_call_init_admin = "0"b; 2306 NRED = 71; 2307 go to RD_TEST_REDUCTION; /* / user \ */ 2308 2309 RD_ACTION(81): /* / */ 2310 call LEX ( 2 ); 2311 call ERROR ( 22 ); 2312 call LEX ( 2 ); 2313 NRED = 71; 2314 go to RD_TEST_REDUCTION; /* / user \ */ 2315 2316 RD_ACTION(82): /* / */ 2317 call LEX ( 2 ); 2318 call set_ip_ss ( user_subsystem, user.uflags.ss_given, user.ss_len ); 2319 call LEX ( 2 ); 2320 NRED = 71; 2321 go to RD_TEST_REDUCTION; /* / user \ */ 2322 2323 RD_ACTION(83): /* / */ 2324 call LEX ( 2 ); 2325 call ERROR ( 22 ); 2326 call LEX ( 2 ); 2327 NRED = 71; 2328 go to RD_TEST_REDUCTION; /* / user \ */ 2329 2330 RD_ACTION(84): /* / */ 2331 call LEX ( 2 ); 2332 call set_string ( "homedir", user.home_dir, token_value ); 2333 call LEX ( 2 ); 2334 NRED = 71; 2335 go to RD_TEST_REDUCTION; /* / user \ */ 2336 2337 RD_ACTION(85): /* / */ 2338 call LEX ( 2 ); 2339 call ERROR ( 22 ); 2340 call LEX ( 2 ); 2341 NRED = 71; 2342 go to RD_TEST_REDUCTION; /* / user \ */ 2343 2344 RD_ACTION(86): /* / */ 2345 call LEX ( 2 ); 2346 call set_string ( "outer_module", user.outer_module, token_value ); 2347 call LEX ( 2 ); 2348 NRED = 71; 2349 go to RD_TEST_REDUCTION; /* / user \ */ 2350 2351 RD_ACTION(87): /* / */ 2352 call LEX ( 2 ); 2353 call ERROR ( 22 ); 2354 call LEX ( 2 ); 2355 NRED = 71; 2356 go to RD_TEST_REDUCTION; /* / user \ */ 2357 2358 RD_ACTION(88): /* / */ 2359 call LEX ( 2 ); 2360 user.lot_size = -token.Nvalue; 2361 call LEX ( 4 ); 2362 NRED = 71; 2363 go to RD_TEST_REDUCTION; /* / user \ */ 2364 2365 RD_ACTION(89): /* / */ 2366 call LEX ( 2 ); 2367 user.lot_size = token.Nvalue; 2368 call LEX ( 4 ); 2369 NRED = 71; 2370 go to RD_TEST_REDUCTION; /* / user \ */ 2371 2372 RD_ACTION(90): /* / */ 2373 call LEX ( 2 ); 2374 user.lot_size = token.Nvalue; 2375 call LEX ( 2 ); 2376 NRED = 71; 2377 go to RD_TEST_REDUCTION; /* / user \ */ 2378 2379 RD_ACTION(91): /* / */ 2380 call LEX ( 2 ); 2381 user.kst_size = token.Nvalue; 2382 call LEX ( 2 ); 2383 NRED = 71; 2384 go to RD_TEST_REDUCTION; /* / user \ */ 2385 2386 RD_ACTION(92): /* / */ 2387 call LEX ( 2 ); 2388 user.cls_size = -token.Nvalue; 2389 call LEX ( 4 ); 2390 NRED = 71; 2391 go to RD_TEST_REDUCTION; /* / user \ */ 2392 2393 RD_ACTION(93): /* / */ 2394 call LEX ( 2 ); 2395 user.cls_size = token.Nvalue; 2396 call LEX ( 4 ); 2397 NRED = 71; 2398 go to RD_TEST_REDUCTION; /* / user \ */ 2399 2400 RD_ACTION(94): /* / */ 2401 call LEX ( 2 ); 2402 user.cls_size = token.Nvalue; 2403 call LEX ( 2 ); 2404 NRED = 71; 2405 go to RD_TEST_REDUCTION; /* / user \ */ 2406 2407 RD_ACTION(95): /* / */ 2408 call LEX ( 2 ); 2409 user.pdir_quota = token.Nvalue; 2410 call LEX ( 2 ); 2411 NRED = 71; 2412 go to RD_TEST_REDUCTION; /* / user \ */ 2413 2414 RD_ACTION(96): /* / */ 2415 call LEX ( 2 ); 2416 user.max_foreground = token.Nvalue; 2417 call LEX ( 2 ); 2418 NRED = 71; 2419 go to RD_TEST_REDUCTION; /* / user \ */ 2420 2421 RD_ACTION(97): /* / */ 2422 call LEX ( 2 ); 2423 user.max_background = token.Nvalue; 2424 call LEX ( 2 ); 2425 NRED = 71; 2426 go to RD_TEST_REDUCTION; /* / user \ */ 2427 2428 RD_ACTION(98): /* / */ 2429 call LEX ( 2 ); 2430 user.abs_foreground_cpu_limit = token.Nvalue; 2431 call LEX ( 2 ); 2432 NRED = 71; 2433 go to RD_TEST_REDUCTION; /* / user \ */ 2434 2435 RD_ACTION(99): /* / */ 2436 call LEX ( 2 ); 2437 call PUSH(71); /* PUSH(user) */ 2438 call PUSH(272); /* PUSH(cutoff) */ 2439 NRED = 257; 2440 go to RD_TEST_REDUCTION; /* / number \ */ 2441 2442 RD_ACTION(100): /* / */ 2443 call LEX ( 2 ); 2444 user.bump_grace = token.Nvalue; 2445 call LEX ( 2 ); 2446 NRED = 71; 2447 go to RD_TEST_REDUCTION; /* / user \ */ 2448 2449 RD_ACTION(101): /* / */ 2450 call LEX ( 2 ); 2451 call PUSH(71); /* PUSH(user) */ 2452 call PUSH(256); /* PUSH(assign_user_attributes) */ 2453 NRED = 204; 2454 go to RD_TEST_REDUCTION; /* / attrsub \ */ 2455 2456 RD_ACTION(102): /* / */ 2457 call LEX ( 2 ); 2458 call PUSH(71); /* PUSH(user) */ 2459 call PUSH(266); /* PUSH(monthlim) */ 2460 NRED = 257; 2461 go to RD_TEST_REDUCTION; /* / number \ */ 2462 2463 RD_ACTION(103): /* / */ 2464 call LEX ( 2 ); 2465 call PUSH(71); /* PUSH(user) */ 2466 x = 1; 2467 NRED = 291; 2468 go to RD_TEST_REDUCTION; /* / shiftlims \ */ 2469 2470 RD_ACTION(104): /* / */ 2471 call LEX ( 2 ); 2472 user.user_warn_days = token.Nvalue; 2473 call LEX ( 2 ); 2474 NRED = 71; 2475 go to RD_TEST_REDUCTION; /* / user \ */ 2476 2477 RD_ACTION(105): /* / */ 2478 call LEX ( 2 ); 2479 user.user_warn_pct = token.Nvalue; 2480 call LEX ( 2 ); 2481 NRED = 71; 2482 go to RD_TEST_REDUCTION; /* / user \ */ 2483 2484 RD_ACTION(106): /* / */ 2485 call LEX ( 2 ); 2486 call PUSH(71); /* PUSH(user) */ 2487 call PUSH(303); /* PUSH(user_warn_doll) */ 2488 NRED = 257; 2489 go to RD_TEST_REDUCTION; /* / number \ */ 2490 2491 RD_ACTION(107): /* / */ 2492 call LEX ( 2 ); 2493 user.warn_days = token.Nvalue; 2494 call LEX ( 2 ); 2495 NRED = 71; 2496 go to RD_TEST_REDUCTION; /* / user \ */ 2497 2498 RD_ACTION(108): /* / */ 2499 call LEX ( 2 ); 2500 user.warn_pct = token.Nvalue; 2501 call LEX ( 2 ); 2502 NRED = 71; 2503 go to RD_TEST_REDUCTION; /* / user \ */ 2504 2505 RD_ACTION(109): /* / */ 2506 call LEX ( 2 ); 2507 call PUSH(71); /* PUSH(user) */ 2508 call PUSH(297); /* PUSH(warn_doll) */ 2509 NRED = 257; 2510 go to RD_TEST_REDUCTION; /* / number \ */ 2511 2512 RD_ACTION(110): /* / */ 2513 call LEX ( 2 ); 2514 user.user_authorization = authorization_value; 2515 call check_user_authorization(); 2516 call LEX ( 2 ); 2517 NRED = 71; 2518 go to RD_TEST_REDUCTION; /* / user \ */ 2519 2520 RD_ACTION(111): /* / */ 2521 call LEX ( 2 ); 2522 call ERROR ( 25 ); 2523 call LEX ( 2 ); 2524 NRED = 71; 2525 go to RD_TEST_REDUCTION; /* / user \ */ 2526 2527 RD_ACTION(112): /* / */ 2528 call LEX ( 2 ); 2529 call set_string ( "group", user.group, token_value ); 2530 call LEX ( 2 ); 2531 NRED = 71; 2532 go to RD_TEST_REDUCTION; /* / user \ */ 2533 2534 RD_ACTION(113): /* / */ 2535 call LEX ( 2 ); 2536 default.bump_grace = token.Nvalue; 2537 call LEX ( 2 ); 2538 NRED = 71; 2539 go to RD_TEST_REDUCTION; /* / user \ */ 2540 2541 RD_ACTION(114): /* / */ 2542 call LEX ( 2 ); 2543 call PUSH(71); /* PUSH(user) */ 2544 call PUSH(255); /* PUSH(assign_default_attributes) */ 2545 NRED = 204; 2546 go to RD_TEST_REDUCTION; /* / attrsub \ */ 2547 2548 RD_ACTION(115): /* / */ 2549 call LEX ( 2 ); 2550 call set_ip_ss ( default.initial_procedure, default.uflags.ip_given, default.ip_len ); 2551 call LEX ( 4 ); 2552 default.dont_call_init_admin = "1"b; 2553 NRED = 71; 2554 go to RD_TEST_REDUCTION; /* / user \ */ 2555 2556 RD_ACTION(116): /* / */ 2557 call LEX ( 2 ); 2558 call set_ip_ss ( default.initial_procedure, default.uflags.ip_given, default.ip_len ); 2559 call LEX ( 2 ); 2560 default.dont_call_init_admin = "0"b; 2561 NRED = 71; 2562 go to RD_TEST_REDUCTION; /* / user \ */ 2563 2564 RD_ACTION(117): /* / */ 2565 call LEX ( 2 ); 2566 call ERROR ( 22 ); 2567 call LEX ( 2 ); 2568 NRED = 71; 2569 go to RD_TEST_REDUCTION; /* / user \ */ 2570 2571 RD_ACTION(118): /* / */ 2572 call LEX ( 2 ); 2573 call set_ip_ss ( default_subsystem, default.uflags.ss_given, default.ss_len ); 2574 call LEX ( 2 ); 2575 NRED = 71; 2576 go to RD_TEST_REDUCTION; /* / user \ */ 2577 2578 RD_ACTION(119): /* / */ 2579 call LEX ( 2 ); 2580 call ERROR ( 22 ); 2581 call LEX ( 2 ); 2582 NRED = 71; 2583 go to RD_TEST_REDUCTION; /* / user \ */ 2584 2585 RD_ACTION(120): /* / */ 2586 call LEX ( 2 ); 2587 call set_string ( "Homedir", default.home_dir, token_value ); 2588 call LEX ( 2 ); 2589 NRED = 71; 2590 go to RD_TEST_REDUCTION; /* / user \ */ 2591 2592 RD_ACTION(121): /* / */ 2593 call LEX ( 2 ); 2594 call ERROR ( 22 ); 2595 call LEX ( 2 ); 2596 NRED = 71; 2597 go to RD_TEST_REDUCTION; /* / user \ */ 2598 2599 RD_ACTION(122): /* / */ 2600 call LEX ( 2 ); 2601 call set_string ( "Outer_module", default.outer_module, token_value ); 2602 call LEX ( 2 ); 2603 NRED = 71; 2604 go to RD_TEST_REDUCTION; /* / user \ */ 2605 2606 RD_ACTION(123): /* / */ 2607 call LEX ( 2 ); 2608 call ERROR ( 22 ); 2609 call LEX ( 2 ); 2610 NRED = 71; 2611 go to RD_TEST_REDUCTION; /* / user \ */ 2612 2613 RD_ACTION(124): /* / */ 2614 call LEX ( 2 ); 2615 default.lot_size = -token.Nvalue; 2616 call LEX ( 4 ); 2617 NRED = 71; 2618 go to RD_TEST_REDUCTION; /* / user \ */ 2619 2620 RD_ACTION(125): /* / */ 2621 call LEX ( 2 ); 2622 default.lot_size = token.Nvalue; 2623 call LEX ( 4 ); 2624 NRED = 71; 2625 go to RD_TEST_REDUCTION; /* / user \ */ 2626 2627 RD_ACTION(126): /* / */ 2628 call LEX ( 2 ); 2629 default.lot_size = token.Nvalue; 2630 call LEX ( 2 ); 2631 NRED = 71; 2632 go to RD_TEST_REDUCTION; /* / user \ */ 2633 2634 RD_ACTION(127): /* / */ 2635 call LEX ( 2 ); 2636 default.kst_size = token.Nvalue; 2637 call LEX ( 2 ); 2638 NRED = 71; 2639 go to RD_TEST_REDUCTION; /* / user \ */ 2640 2641 RD_ACTION(128): /* / */ 2642 call LEX ( 2 ); 2643 default.cls_size = -token.Nvalue; 2644 call LEX ( 4 ); 2645 NRED = 71; 2646 go to RD_TEST_REDUCTION; /* / user \ */ 2647 2648 RD_ACTION(129): /* / */ 2649 call LEX ( 2 ); 2650 default.cls_size = token.Nvalue; 2651 call LEX ( 4 ); 2652 NRED = 71; 2653 go to RD_TEST_REDUCTION; /* / user \ */ 2654 2655 RD_ACTION(130): /* / */ 2656 call LEX ( 2 ); 2657 default.cls_size = token.Nvalue; 2658 call LEX ( 2 ); 2659 NRED = 71; 2660 go to RD_TEST_REDUCTION; /* / user \ */ 2661 2662 RD_ACTION(131): /* / */ 2663 call LEX ( 2 ); 2664 call PUSH(71); /* PUSH(user) */ 2665 call PUSH(269); /* PUSH(default_cutoff) */ 2666 NRED = 257; 2667 go to RD_TEST_REDUCTION; /* / number \ */ 2668 2669 RD_ACTION(132): /* / */ 2670 call LEX ( 2 ); 2671 call PUSH(71); /* PUSH(user) */ 2672 call PUSH(263); /* PUSH(default_monthlim) */ 2673 NRED = 257; 2674 go to RD_TEST_REDUCTION; /* / number \ */ 2675 2676 RD_ACTION(133): /* / */ 2677 call LEX ( 2 ); 2678 call PUSH(71); /* PUSH(user) */ 2679 x = 1; 2680 NRED = 288; 2681 go to RD_TEST_REDUCTION; /* / default_shiftlims \ */ 2682 2683 RD_ACTION(134): /* / */ 2684 call LEX ( 2 ); 2685 default.user_warn_days = token.Nvalue; 2686 call LEX ( 2 ); 2687 NRED = 71; 2688 go to RD_TEST_REDUCTION; /* / user \ */ 2689 2690 RD_ACTION(135): /* / */ 2691 call LEX ( 2 ); 2692 default.user_warn_pct = token.Nvalue; 2693 call LEX ( 2 ); 2694 NRED = 71; 2695 go to RD_TEST_REDUCTION; /* / user \ */ 2696 2697 RD_ACTION(136): /* / */ 2698 call LEX ( 2 ); 2699 call PUSH(71); /* PUSH(user) */ 2700 call PUSH(300); /* PUSH(default_user_warn_doll) */ 2701 NRED = 257; 2702 go to RD_TEST_REDUCTION; /* / number \ */ 2703 2704 RD_ACTION(137): /* / */ 2705 call LEX ( 2 ); 2706 default.warn_days = token.Nvalue; 2707 call LEX ( 2 ); 2708 NRED = 71; 2709 go to RD_TEST_REDUCTION; /* / user \ */ 2710 2711 RD_ACTION(138): /* / */ 2712 call LEX ( 2 ); 2713 default.warn_pct = token.Nvalue; 2714 call LEX ( 2 ); 2715 NRED = 71; 2716 go to RD_TEST_REDUCTION; /* / user \ */ 2717 2718 RD_ACTION(139): /* / */ 2719 call LEX ( 2 ); 2720 call PUSH(71); /* PUSH(user) */ 2721 call PUSH(294); /* PUSH(default_warn_doll) */ 2722 NRED = 257; 2723 go to RD_TEST_REDUCTION; /* / number \ */ 2724 2725 RD_ACTION(140): /* / */ 2726 call LEX ( 2 ); 2727 default.low_ring = token.Nvalue; 2728 call LEX ( 2 ); 2729 default.high_ring = token.Nvalue; 2730 call LEX ( 2 ); 2731 default.default_ring = token.Nvalue; 2732 call LEX ( 2 ); 2733 NRED = 71; 2734 go to RD_TEST_REDUCTION; /* / user \ */ 2735 2736 RD_ACTION(141): /* / */ 2737 call LEX ( 2 ); 2738 default.low_ring = token.Nvalue; 2739 default.default_ring = token.Nvalue; 2740 call LEX ( 2 ); 2741 default.high_ring = token.Nvalue; 2742 call LEX ( 2 ); 2743 NRED = 71; 2744 go to RD_TEST_REDUCTION; /* / user \ */ 2745 2746 RD_ACTION(142): /* / */ 2747 call LEX ( 2 ); 2748 default.low_ring = token.Nvalue; 2749 default.default_ring = token.Nvalue; 2750 default.high_ring = token.Nvalue; 2751 call LEX ( 2 ); 2752 NRED = 71; 2753 go to RD_TEST_REDUCTION; /* / user \ */ 2754 2755 RD_ACTION(143): /* / */ 2756 call LEX ( 2 ); 2757 default.user_authorization = authorization_value; 2758 call LEX ( 2 ); 2759 NRED = 71; 2760 go to RD_TEST_REDUCTION; /* / user \ */ 2761 2762 RD_ACTION(144): /* / */ 2763 call LEX ( 2 ); 2764 call ERROR ( 25 ); 2765 call LEX ( 2 ); 2766 NRED = 71; 2767 go to RD_TEST_REDUCTION; /* / user \ */ 2768 2769 RD_ACTION(145): /* / */ 2770 call LEX ( 2 ); 2771 call set_string ( "Group", Default_Group, token_value ); 2772 call LEX ( 2 ); 2773 NRED = 71; 2774 go to RD_TEST_REDUCTION; /* / user \ */ 2775 2776 RD_ACTION(146): /* / */ 2777 NRED = 203; 2778 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2779 2780 RD_ACTION(147): /* / */ 2781 NRED = 203; 2782 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2783 2784 RD_ACTION(148): /* / */ 2785 NRED = 203; 2786 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2787 2788 RD_ACTION(149): /* / */ 2789 NRED = 203; 2790 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2791 2792 RD_ACTION(150): /* / */ 2793 NRED = 203; 2794 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2795 2796 RD_ACTION(151): /* / */ 2797 NRED = 203; 2798 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2799 2800 RD_ACTION(152): /* / */ 2801 NRED = 203; 2802 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2803 2804 RD_ACTION(153): /* / */ 2805 NRED = 203; 2806 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2807 2808 RD_ACTION(154): /* / */ 2809 NRED = 203; 2810 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2811 2812 RD_ACTION(155): /* / */ 2813 NRED = 203; 2814 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2815 2816 RD_ACTION(156): /* / */ 2817 NRED = 203; 2818 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2819 2820 RD_ACTION(157): /* / */ 2821 NRED = 203; 2822 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2823 2824 RD_ACTION(158): /* / */ 2825 NRED = 203; 2826 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2827 2828 RD_ACTION(159): /* / */ 2829 NRED = 203; 2830 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2831 2832 RD_ACTION(160): /* / */ 2833 NRED = 203; 2834 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2835 2836 RD_ACTION(161): /* / */ 2837 NRED = 203; 2838 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2839 2840 RD_ACTION(162): /* / */ 2841 NRED = 203; 2842 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2843 2844 RD_ACTION(163): /* / */ 2845 NRED = 203; 2846 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2847 2848 RD_ACTION(164): /* / */ 2849 NRED = 203; 2850 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2851 2852 RD_ACTION(165): /* / */ 2853 NRED = 203; 2854 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2855 2856 RD_ACTION(166): /* / */ 2857 NRED = 203; 2858 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2859 2860 RD_ACTION(167): /* / */ 2861 NRED = 203; 2862 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2863 2864 RD_ACTION(168): /* / */ 2865 NRED = 203; 2866 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2867 2868 RD_ACTION(169): /* / */ 2869 NRED = 203; 2870 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2871 2872 RD_ACTION(170): /* / */ 2873 NRED = 203; 2874 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2875 2876 RD_ACTION(171): /* / */ 2877 NRED = 203; 2878 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2879 2880 RD_ACTION(172): /* / */ 2881 NRED = 203; 2882 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2883 2884 RD_ACTION(173): /* / */ 2885 NRED = 203; 2886 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2887 2888 RD_ACTION(174): /* / */ 2889 NRED = 203; 2890 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2891 2892 RD_ACTION(175): /* / */ 2893 NRED = 203; 2894 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2895 2896 RD_ACTION(176): /* / */ 2897 NRED = 203; 2898 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2899 2900 RD_ACTION(177): /* / */ 2901 NRED = 203; 2902 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2903 2904 RD_ACTION(178): /* / */ 2905 NRED = 203; 2906 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2907 2908 RD_ACTION(179): /* / */ 2909 NRED = 203; 2910 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2911 2912 RD_ACTION(180): /* / */ 2913 NRED = 203; 2914 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2915 2916 RD_ACTION(181): /* / */ 2917 NRED = 203; 2918 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2919 2920 RD_ACTION(182): /* / */ 2921 NRED = 203; 2922 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2923 2924 RD_ACTION(183): /* / */ 2925 NRED = 203; 2926 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2927 2928 RD_ACTION(184): /* / */ 2929 NRED = 203; 2930 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2931 2932 RD_ACTION(185): /* / */ 2933 NRED = 203; 2934 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2935 2936 RD_ACTION(186): /* / */ 2937 NRED = 203; 2938 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2939 2940 RD_ACTION(187): /* / */ 2941 NRED = 203; 2942 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2943 2944 RD_ACTION(188): /* / */ 2945 NRED = 203; 2946 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2947 2948 RD_ACTION(189): /* / */ 2949 NRED = 203; 2950 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2951 2952 RD_ACTION(190): /* / */ 2953 NRED = 203; 2954 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2955 2956 RD_ACTION(191): /* / */ 2957 NRED = 203; 2958 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2959 2960 RD_ACTION(192): /* / */ 2961 NRED = 203; 2962 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2963 2964 RD_ACTION(193): /* / */ 2965 NRED = 203; 2966 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2967 2968 RD_ACTION(194): /* / */ 2969 NRED = 203; 2970 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2971 2972 RD_ACTION(195): /* / */ 2973 NRED = 203; 2974 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2975 2976 RD_ACTION(196): /* / */ 2977 NRED = 203; 2978 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2979 2980 RD_ACTION(197): /* / */ 2981 NRED = 203; 2982 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2983 2984 RD_ACTION(198): /* / */ 2985 NRED = 203; 2986 go to RD_TEST_REDUCTION; /* / error_23_in_user \ */ 2987 2988 RD_ACTION(199): /* / */ 2989 call ERROR ( 29 ); 2990 call NEXT_STMT(); 2991 NRED = 71; 2992 go to RD_TEST_REDUCTION; /* / user \ */ 2993 2994 RD_ACTION(200): /* / */ 2995 call ERROR ( 29 ); 2996 call NEXT_STMT(); 2997 NRED = 71; 2998 go to RD_TEST_REDUCTION; /* / user \ */ 2999 3000 RD_ACTION(201): /* / */ 3001 call ERROR ( 3 ); 3002 call NEXT_STMT(); 3003 NRED = 71; 3004 go to RD_TEST_REDUCTION; /* / user \ */ 3005 3006 RD_ACTION(202): /* / */ 3007 call ERROR ( 5 ); 3008 call close(); 3009 return; /* / RETURN \ */ 3010 3011 RD_ACTION(203): /* / */ 3012 call ERROR ( 23 ); 3013 call NEXT_STMT(); 3014 NRED = 71; 3015 go to RD_TEST_REDUCTION; /* / user \ */ 3016 3017 RD_ACTION(204): /* / */ 3018 sx = ON; 3019 string ( ats ( ON ) ) = ""b; 3020 string ( ats ( OFF ) ) = ""b; 3021 go to RD_NEXT_REDUCTION; /* / \ */ 3022 3023 RD_ACTION(205): /* / */ 3024 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3025 go to RD_STACK_POP; /* / STACK_POP \ */ 3026 3027 RD_ACTION(206): /* / */ 3028 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3029 NRED = 252; 3030 go to RD_TEST_REDUCTION; /* / gobble_semi \ */ 3031 3032 RD_ACTION(207): /* / */ 3033 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3034 NRED = 252; 3035 go to RD_TEST_REDUCTION; /* / gobble_semi \ */ 3036 3037 RD_ACTION(208): /* / */ 3038 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3039 sx = 1 -sx; 3040 go to RD_NEXT_REDUCTION; /* / \ */ 3041 3042 RD_ACTION(209): /* / */ 3043 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3044 ats ( sx ) .administrator = "1"b; 3045 NRED = 251; 3046 go to RD_TEST_REDUCTION; /* / atts \ */ 3047 3048 RD_ACTION(210): /* / */ 3049 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3050 ats ( sx ) .administrator = "1"b; 3051 NRED = 251; 3052 go to RD_TEST_REDUCTION; /* / atts \ */ 3053 3054 RD_ACTION(211): /* / */ 3055 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3056 ats ( sx ) .primary_line = "1"b; 3057 NRED = 251; 3058 go to RD_TEST_REDUCTION; /* / atts \ */ 3059 3060 RD_ACTION(212): /* / */ 3061 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3062 ats ( sx ) .nobump = "1"b; 3063 NRED = 251; 3064 go to RD_TEST_REDUCTION; /* / atts \ */ 3065 3066 RD_ACTION(213): /* / */ 3067 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3068 ats ( sx ) .guaranteed_login = "1"b; 3069 NRED = 251; 3070 go to RD_TEST_REDUCTION; /* / atts \ */ 3071 3072 RD_ACTION(214): /* / */ 3073 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3074 ats ( sx ) .guaranteed_login = "1"b; 3075 NRED = 251; 3076 go to RD_TEST_REDUCTION; /* / atts \ */ 3077 3078 RD_ACTION(215): /* / */ 3079 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3080 ats ( sx ) .anonymous = "1"b; 3081 NRED = 251; 3082 go to RD_TEST_REDUCTION; /* / atts \ */ 3083 3084 RD_ACTION(216): /* / */ 3085 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3086 ats ( sx ) .anonymous = "1"b; 3087 NRED = 251; 3088 go to RD_TEST_REDUCTION; /* / atts \ */ 3089 3090 RD_ACTION(217): /* / */ 3091 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3092 ats ( sx ) .nopreempt = "1"b; 3093 NRED = 251; 3094 go to RD_TEST_REDUCTION; /* / atts \ */ 3095 3096 RD_ACTION(218): /* / */ 3097 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3098 ats ( sx ) .nolist = "1"b; 3099 NRED = 251; 3100 go to RD_TEST_REDUCTION; /* / atts \ */ 3101 3102 RD_ACTION(219): /* / */ 3103 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3104 ats ( sx ) .dialok = "1"b; 3105 NRED = 251; 3106 go to RD_TEST_REDUCTION; /* / atts \ */ 3107 3108 RD_ACTION(220): /* / */ 3109 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3110 ats ( sx ) .dialok = "1"b; 3111 NRED = 251; 3112 go to RD_TEST_REDUCTION; /* / atts \ */ 3113 3114 RD_ACTION(221): /* / */ 3115 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3116 ats ( sx ) .multip = "1"b; 3117 NRED = 251; 3118 go to RD_TEST_REDUCTION; /* / atts \ */ 3119 3120 RD_ACTION(222): /* / */ 3121 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3122 ats ( sx ) .multip = "1"b; 3123 NRED = 251; 3124 go to RD_TEST_REDUCTION; /* / atts \ */ 3125 3126 RD_ACTION(223): /* / */ 3127 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3128 ats ( sx ) .bumping = "1"b; 3129 NRED = 251; 3130 go to RD_TEST_REDUCTION; /* / atts \ */ 3131 3132 RD_ACTION(224): /* / */ 3133 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3134 ats ( sx ) .bumping = "1"b; 3135 NRED = 251; 3136 go to RD_TEST_REDUCTION; /* / atts \ */ 3137 3138 RD_ACTION(225): /* / */ 3139 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3140 ats ( sx ) .brief = "1"b; 3141 NRED = 251; 3142 go to RD_TEST_REDUCTION; /* / atts \ */ 3143 3144 RD_ACTION(226): /* / */ 3145 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3146 ats ( sx ) .vinitproc = "1"b; 3147 NRED = 251; 3148 go to RD_TEST_REDUCTION; /* / atts \ */ 3149 3150 RD_ACTION(227): /* / */ 3151 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3152 ats ( sx ) .vinitproc = "1"b; 3153 NRED = 251; 3154 go to RD_TEST_REDUCTION; /* / atts \ */ 3155 3156 RD_ACTION(228): /* / */ 3157 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3158 ats ( sx ) .vhomedir = "1"b; 3159 NRED = 251; 3160 go to RD_TEST_REDUCTION; /* / atts \ */ 3161 3162 RD_ACTION(229): /* / */ 3163 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3164 ats ( sx ) .vhomedir = "1"b; 3165 NRED = 251; 3166 go to RD_TEST_REDUCTION; /* / atts \ */ 3167 3168 RD_ACTION(230): /* / */ 3169 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3170 ats ( sx ) .nostartup = "1"b; 3171 NRED = 251; 3172 go to RD_TEST_REDUCTION; /* / atts \ */ 3173 3174 RD_ACTION(231): /* / */ 3175 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3176 ats ( sx ) .nostartup = "1"b; 3177 NRED = 251; 3178 go to RD_TEST_REDUCTION; /* / atts \ */ 3179 3180 RD_ACTION(232): /* / */ 3181 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3182 ats ( sx ) .sb_ok = "1"b; 3183 NRED = 251; 3184 go to RD_TEST_REDUCTION; /* / atts \ */ 3185 3186 RD_ACTION(233): /* / */ 3187 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3188 ats ( sx ) .sb_ok = "1"b; 3189 NRED = 251; 3190 go to RD_TEST_REDUCTION; /* / atts \ */ 3191 3192 RD_ACTION(234): /* / */ 3193 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3194 ats ( sx ) .pm_ok = "1"b; 3195 NRED = 251; 3196 go to RD_TEST_REDUCTION; /* / atts \ */ 3197 3198 RD_ACTION(235): /* / */ 3199 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3200 ats ( sx ) .pm_ok = "1"b; 3201 NRED = 251; 3202 go to RD_TEST_REDUCTION; /* / atts \ */ 3203 3204 RD_ACTION(236): /* / */ 3205 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3206 ats ( sx ) .eo_ok = "1"b; 3207 NRED = 251; 3208 go to RD_TEST_REDUCTION; /* / atts \ */ 3209 3210 RD_ACTION(237): /* / */ 3211 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3212 ats ( sx ) .eo_ok = "1"b; 3213 NRED = 251; 3214 go to RD_TEST_REDUCTION; /* / atts \ */ 3215 3216 RD_ACTION(238): /* / */ 3217 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3218 ats ( sx ) .daemon = "1"b; 3219 NRED = 251; 3220 go to RD_TEST_REDUCTION; /* / atts \ */ 3221 3222 RD_ACTION(239): /* / */ 3223 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3224 ats ( sx ) .daemon = "1"b; 3225 NRED = 251; 3226 go to RD_TEST_REDUCTION; /* / atts \ */ 3227 3228 RD_ACTION(240): /* / */ 3229 call ERROR ( 33 ); 3230 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3231 NRED = 251; 3232 go to RD_TEST_REDUCTION; /* / atts \ */ 3233 3234 RD_ACTION(241): /* / */ 3235 call ERROR ( 33 ); 3236 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3237 NRED = 251; 3238 go to RD_TEST_REDUCTION; /* / atts \ */ 3239 3240 RD_ACTION(242): /* / */ 3241 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3242 ats ( sx ) .no_warning = "1"b; 3243 NRED = 251; 3244 go to RD_TEST_REDUCTION; /* / atts \ */ 3245 3246 RD_ACTION(243): /* / */ 3247 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3248 ats ( sx ) .no_warning = "1"b; 3249 NRED = 251; 3250 go to RD_TEST_REDUCTION; /* / atts \ */ 3251 3252 RD_ACTION(244): /* / */ 3253 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3254 ats ( sx ) .igroup = "1"b; 3255 NRED = 251; 3256 go to RD_TEST_REDUCTION; /* / atts \ */ 3257 3258 RD_ACTION(245): /* / */ 3259 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3260 ats ( sx ) .save_pdir = "1"b; 3261 NRED = 251; 3262 go to RD_TEST_REDUCTION; /* / atts \ */ 3263 3264 RD_ACTION(246): /* / */ 3265 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3266 ats ( sx ) .disconnect_ok = "1"b; 3267 NRED = 251; 3268 go to RD_TEST_REDUCTION; /* / atts \ */ 3269 3270 RD_ACTION(247): /* / */ 3271 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3272 ats ( sx ) .save_on_disconnect = "1"b; 3273 NRED = 251; 3274 go to RD_TEST_REDUCTION; /* / atts \ */ 3275 3276 RD_ACTION(248): /* / */ 3277 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3278 ats ( sx ) .save_on_disconnect = "1"b; 3279 NRED = 251; 3280 go to RD_TEST_REDUCTION; /* / atts \ */ 3281 3282 RD_ACTION(249): /* / */ 3283 call ERROR ( 4 ); 3284 call NEXT_STMT(); 3285 go to RD_STACK_POP; /* / STACK_POP \ */ 3286 3287 RD_ACTION(250): /* / */ 3288 call ERROR ( 5 ); 3289 return; /* / RETURN \ */ 3290 3291 RD_ACTION(251): /* / */ 3292 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3293 sx = ON; 3294 NRED = 205; 3295 go to RD_TEST_REDUCTION; /* / attloop \ */ 3296 3297 RD_ACTION(252): /* / */ 3298 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3299 go to RD_STACK_POP; /* / STACK_POP \ */ 3300 3301 RD_ACTION(253): /* / */ 3302 call ERROR ( 4 ); 3303 call NEXT_STMT(); 3304 go to RD_STACK_POP; /* / STACK_POP \ */ 3305 3306 RD_ACTION(254): /* / */ 3307 call ERROR ( 5 ); 3308 return; /* / RETURN \ */ 3309 3310 RD_ACTION(255): /* / */ 3311 string ( default.at ) = string ( ats ( ON ) ) & ^ string ( ats ( OFF ) ); 3312 go to RD_STACK_POP; /* / STACK_POP \ */ 3313 3314 RD_ACTION(256): /* / */ 3315 string ( user.at ) = string ( default.at ) | string ( ats ( ON ) ); 3316 string ( user.at ) = string ( user.at ) & ^ string ( ats ( OFF ) ); 3317 go to RD_STACK_POP; /* / STACK_POP \ */ 3318 3319 RD_ACTION(257): /* / */ 3320 t = 0; 3321 go to RD_NEXT_REDUCTION; /* / \ */ 3322 3323 RD_ACTION(258): /* / */ 3324 call cv_float_ ( token_value, ( 0 ), t ); 3325 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3326 go to RD_STACK_POP; /* / STACK_POP \ */ 3327 3328 RD_ACTION(259): /* / */ 3329 t = 1e0*token.Nvalue; 3330 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3331 go to RD_STACK_POP; /* / STACK_POP \ */ 3332 3333 RD_ACTION(260): /* / */ 3334 t = BIGFLO; 3335 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3336 go to RD_STACK_POP; /* / STACK_POP \ */ 3337 3338 RD_ACTION(261): /* / */ 3339 call ERROR ( 6 ); 3340 call NEXT_STMT(); 3341 call LEX ( -1 ); 3342 go to RD_STACK_POP; /* / STACK_POP \ */ 3343 3344 RD_ACTION(262): /* / */ 3345 call ERROR ( 5 ); 3346 return; /* / RETURN \ */ 3347 3348 RD_ACTION(263): /* / */ 3349 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3350 default.dollar_limit = t; 3351 go to RD_STACK_POP; /* / STACK_POP \ */ 3352 3353 RD_ACTION(264): /* / */ 3354 call ERROR ( 7 ); 3355 call NEXT_STMT(); 3356 go to RD_STACK_POP; /* / STACK_POP \ */ 3357 3358 RD_ACTION(265): /* / */ 3359 call ERROR ( 5 ); 3360 return; /* / RETURN \ */ 3361 3362 RD_ACTION(266): /* / */ 3363 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3364 user.dollar_limit = t; 3365 go to RD_STACK_POP; /* / STACK_POP \ */ 3366 3367 RD_ACTION(267): /* / */ 3368 call ERROR ( 7 ); 3369 call NEXT_STMT(); 3370 go to RD_STACK_POP; /* / STACK_POP \ */ 3371 3372 RD_ACTION(268): /* / */ 3373 call ERROR ( 5 ); 3374 return; /* / RETURN \ */ 3375 3376 RD_ACTION(269): /* / */ 3377 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3378 default.absolute_limit = t; 3379 go to RD_STACK_POP; /* / STACK_POP \ */ 3380 3381 RD_ACTION(270): /* / */ 3382 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3383 call PUSH(275); /* PUSH(get_default_increment) */ 3384 call PUSH(286); /* PUSH(check_date) */ 3385 NRED = 281; 3386 go to RD_TEST_REDUCTION; /* / concatenate_date \ */ 3387 3388 RD_ACTION(271): /* / */ 3389 call ERROR ( 8 ); 3390 call NEXT_STMT(); 3391 go to RD_STACK_POP; /* / STACK_POP \ */ 3392 3393 RD_ACTION(272): /* / */ 3394 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3395 user.absolute_limit = t; 3396 go to RD_STACK_POP; /* / STACK_POP \ */ 3397 3398 RD_ACTION(273): /* / */ 3399 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3400 call PUSH(278); /* PUSH(get_increment) */ 3401 call PUSH(286); /* PUSH(check_date) */ 3402 NRED = 281; 3403 go to RD_TEST_REDUCTION; /* / concatenate_date \ */ 3404 3405 RD_ACTION(274): /* / */ 3406 call ERROR ( 8 ); 3407 call NEXT_STMT(); 3408 go to RD_STACK_POP; /* / STACK_POP \ */ 3409 3410 RD_ACTION(275): /* / */ 3411 default.absolute_limit = t; 3412 default.absolute_cutoff = time; 3413 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3414 go to RD_STACK_POP; /* / STACK_POP \ */ 3415 3416 RD_ACTION(276): /* / */ 3417 default.absolute_limit = t; 3418 default.absolute_cutoff = time; 3419 default.absolute_increm = x; 3420 call LEX ( 3 ); 3421 go to RD_STACK_POP; /* / STACK_POP \ */ 3422 3423 RD_ACTION(277): /* / */ 3424 call ERROR ( 8 ); 3425 call NEXT_STMT(); 3426 go to RD_STACK_POP; /* / STACK_POP \ */ 3427 3428 RD_ACTION(278): /* / */ 3429 user.absolute_limit = t; 3430 user.absolute_cutoff = time; 3431 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3432 go to RD_STACK_POP; /* / STACK_POP \ */ 3433 3434 RD_ACTION(279): /* / */ 3435 user.absolute_limit = t; 3436 user.absolute_cutoff = time; 3437 user.absolute_increm = x; 3438 call LEX ( 3 ); 3439 go to RD_STACK_POP; /* / STACK_POP \ */ 3440 3441 RD_ACTION(280): /* / */ 3442 call ERROR ( 8 ); 3443 call NEXT_STMT(); 3444 go to RD_STACK_POP; /* / STACK_POP \ */ 3445 3446 RD_ACTION(281): /* / */ 3447 date_string = ""; 3448 go to RD_NEXT_REDUCTION; /* / \ */ 3449 3450 RD_ACTION(282): /* / */ 3451 go to RD_STACK_POP; /* / STACK_POP \ */ 3452 3453 RD_ACTION(283): /* / */ 3454 go to RD_STACK_POP; /* / STACK_POP \ */ 3455 3456 RD_ACTION(284): /* / */ 3457 date_string = date_string || token_value || " "; 3458 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3459 NRED = 282; 3460 go to RD_TEST_REDUCTION; /* / date_loop \ */ 3461 3462 RD_ACTION(285): /* / */ 3463 call ERROR ( 8 ); 3464 go to RD_STACK_POP; /* / STACK_POP \ */ 3465 3466 RD_ACTION(286): /* / */ 3467 go to RD_STACK_POP; /* / STACK_POP \ */ 3468 3469 RD_ACTION(287): /* / */ 3470 call ERROR ( 28 ); 3471 go to RD_STACK_POP; /* / STACK_POP \ */ 3472 3473 RD_ACTION(288): /* / */ 3474 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3475 default.shift_limit ( x ) = t; 3476 go to RD_STACK_POP; /* / STACK_POP \ */ 3477 3478 RD_ACTION(289): /* / */ 3479 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3480 default.shift_limit ( x ) = t; 3481 call bump_x(); 3482 NRED = 288; 3483 go to RD_TEST_REDUCTION; /* / default_shiftlims \ */ 3484 3485 RD_ACTION(290): /* / */ 3486 call PUSH(288); /* PUSH(default_shiftlims) */ 3487 NRED = 257; 3488 go to RD_TEST_REDUCTION; /* / number \ */ 3489 3490 RD_ACTION(291): /* / */ 3491 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3492 user.shift_limit ( x ) = t; 3493 go to RD_STACK_POP; /* / STACK_POP \ */ 3494 3495 RD_ACTION(292): /* / */ 3496 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3497 user.shift_limit ( x ) = t; 3498 call bump_x(); 3499 NRED = 291; 3500 go to RD_TEST_REDUCTION; /* / shiftlims \ */ 3501 3502 RD_ACTION(293): /* / */ 3503 call PUSH(291); /* PUSH(shiftlims) */ 3504 NRED = 257; 3505 go to RD_TEST_REDUCTION; /* / number \ */ 3506 3507 RD_ACTION(294): /* / */ 3508 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3509 default.warn_dollars = t; 3510 go to RD_STACK_POP; /* / STACK_POP \ */ 3511 3512 RD_ACTION(295): /* / */ 3513 call ERROR ( 7 ); 3514 call NEXT_STMT(); 3515 go to RD_STACK_POP; /* / STACK_POP \ */ 3516 3517 RD_ACTION(296): /* / */ 3518 call ERROR ( 5 ); 3519 return; /* / RETURN \ */ 3520 3521 RD_ACTION(297): /* / */ 3522 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3523 user.warn_dollars = t; 3524 go to RD_STACK_POP; /* / STACK_POP \ */ 3525 3526 RD_ACTION(298): /* / */ 3527 call ERROR ( 7 ); 3528 call NEXT_STMT(); 3529 go to RD_STACK_POP; /* / STACK_POP \ */ 3530 3531 RD_ACTION(299): /* / */ 3532 call ERROR ( 5 ); 3533 return; /* / RETURN \ */ 3534 3535 RD_ACTION(300): /* / */ 3536 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3537 default.user_warn_dollars = t; 3538 go to RD_STACK_POP; /* / STACK_POP \ */ 3539 3540 RD_ACTION(301): /* / */ 3541 call ERROR ( 7 ); 3542 call NEXT_STMT(); 3543 go to RD_STACK_POP; /* / STACK_POP \ */ 3544 3545 RD_ACTION(302): /* / */ 3546 call ERROR ( 5 ); 3547 return; /* / RETURN \ */ 3548 3549 RD_ACTION(303): /* / */ 3550 Ptoken, Pthis_token = Pthis_token -> token.Pnext; /* LEX */ 3551 user.user_warn_dollars = t; 3552 go to RD_STACK_POP; /* / STACK_POP \ */ 3553 3554 RD_ACTION(304): /* / */ 3555 call ERROR ( 7 ); 3556 call NEXT_STMT(); 3557 go to RD_STACK_POP; /* / STACK_POP \ */ 3558 3559 RD_ACTION(305): /* / */ 3560 call ERROR ( 5 ); 3561 return; /* / RETURN \ */ 3562 3563 3564 end SEMANTIC_ANALYSIS; 3565 3566 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 3567 3568 dcl SPDL bit(1) aligned init ("0"b); 3569 /* off: This compiler parses a non-PUSH DOWN */ 3570 /* LANGUAGE. */ 3571 /* START OF: rdc_lex_.incl.pl1 * * * * * * * * * * * * * * * * */ 12 2 12 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 4 /* */ 12 5 /* N__a_m_e: rdc_lex_.incl.pl1 */ 12 6 /* */ 12 7 /* This include segment is used by compilers generated by the reduction_compiler. */ 12 8 /* It contains the LEX subroutine which is used to manipulate the pointer to the */ 12 9 /* "current" token, Pthis_token. */ 12 10 /* */ 12 11 /* E__n_t_r_y: LEX */ 12 12 /* */ 12 13 /* This entry makes the |_nth|-next (or -preceding) token the "current" token, where */ 12 14 /* _n is its positive (or negative) input argument. */ 12 15 /* */ 12 16 /* U__s_a_g_e */ 12 17 /* */ 12 18 /* call LEX(n); */ 12 19 /* */ 12 20 /* 1) n is the number of the token to be made the "current" token, relative to the */ 12 21 /* token identified by Pthis_token (the present "current" token). If n is */ 12 22 /* positive, the nth token following the "current" token made "current". If n */ 12 23 /* is negative, the nth token preceding the "current" token is made "current". */ 12 24 /* */ 12 25 /* S__t_a_t_u_s */ 12 26 /* */ 12 27 /* 0) Created by: G. C. Dixon in February, 1975 */ 12 28 /* */ 12 29 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 30 12 31 LEX: procedure (n); 12 32 12 33 dcl n fixed bin, 12 34 i fixed bin; 12 35 12 36 Ptoken = Pthis_token; /* do everything relative to "current" token. */ 12 37 if Ptoken = null then return; /* can't lex if token list exhausted. */ 12 38 if n >= 0 then do; /* new "current" token will follow present one. */ 12 39 do i = 1 to n while (token.Pnext ^= null); /* find new "current" token, taking care not to */ 12 40 Ptoken = token.Pnext; /* run off end of token list. */ 12 41 end; 12 42 if ^SPDL then if i <= n then Ptoken = null; /* if not in 'PUSH DOWN LANGUAGE' mode, allow */ 12 43 /* running off end of token list. */ 12 44 end; 12 45 else /* new "current" token precedes present one. */ 12 46 do i = -1 to n by -1 while (token.Plast ^= null); 12 47 Ptoken = token.Plast; 12 48 end; 12 49 Pthis_token = Ptoken; /* simple wasn't it. */ 12 50 12 51 end LEX; 12 52 12 53 /* END OF: rdc_lex_.incl.pl1 * * * * * * * * * * * * * * * * */ 3571 3572 3573 /* START OF: rdc_error_.incl.pl1 * * * * * * * * * * * * * * * * */ 13 2 13 3 dcl MERROR_SEVERITY fixed bin init (0), /* Severity of highest-severity error. */ 13 4 SERROR_CONTROL bit(2) init ("00"b),/* Global switches control error message format. */ 13 5 SERROR_PRINTED (dimension (error_control_table,1)) 13 6 bit(1) unaligned init ((dimension (error_control_table,1))(1)"0"b), 13 7 /* Array bit is on if corresponding error message */ 13 8 /* in error_control_table has already been printed*/ 13 9 MIN_PRINT_SEVERITY fixed bin init (0), /* Mimimum severity message that will be printed */ 13 10 PRINT_SEVERITY_CONTROL bit(2) init ("11"b);/* Action if severity < MIN_PRINT_SEVERITY */ 13 11 13 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 13 /* */ 13 14 /* N__a_m_e: rdc_error_.incl.pl1 */ 13 15 /* */ 13 16 /* This include segment is used by compilers generated by the reduction_compiler. */ 13 17 /* It defines a procedure which the compilers can use to print error messages. */ 13 18 /* */ 13 19 /* E__n_t_r_y: ERROR */ 13 20 /* */ 13 21 /* Given an error number, this procedure prints a corresponding error message. */ 13 22 /* The message is stored in a compiler-defined error_control_table, along with an integer */ 13 23 /* which specifies the severity level of the error, and a switch which specifies whether */ 13 24 /* the source statement in which the error occurred (if any) should be printed after the */ 13 25 /* error message. The printing of the error message may be supressed for all messages */ 13 26 /* having a severity less than a specified (MIN_PRINT_SEVERITY) value. The ERROR */ 13 27 /* procedure calls the lex_error_ subroutine to perform the formatting and printing of */ 13 28 /* the error message. */ 13 29 /* */ 13 30 /* U__s_a_g_e */ 13 31 /* */ 13 32 /* call ERROR (error_number); */ 13 33 /* */ 13 34 /* 1) error_number is the index of one of the structures in the error_control_table */ 13 35 /* which defines the error message to be printed. */ 13 36 /* */ 13 37 /* N__o_t_e_s */ 13 38 /* */ 13 39 /* The format of the error_control_table is shown below. */ 13 40 /* */ 13 41 /* dcl 1 error_control_table (2) aligned internal static, */ 13 42 /* 2 severity fixed bin(17) unaligned init (2,3), */ 13 43 /* 2 Soutput_stmt bit(1) unaligned initial ("0"b,"1"b), */ 13 44 /* 2 message char(252) varying initial ( */ 13 45 /* "The reduction source segment does not contain any reductions.", */ 13 46 /* "Reduction label '^a' is invalid."), */ 13 47 /* 2 brief_message char(100) varying initial ( */ 13 48 /* "", "'^a'"); */ 13 49 /* */ 13 50 /* error_control_table is an array of structures, with one array element per error. */ 13 51 /* Each structure contains: a severity level for the error; a switch which specifies */ 13 52 /* whether the source statement being processed should be output after the error message; */ 13 53 /* the long form of the error message text; and the brief form of the error message text.*/ 13 54 /* The dimension of the error_control_table array of structures, and the lengths of */ 13 55 /* message (long message) and brief_message (brief message), are compiler-defined. */ 13 56 /* structures and the lengths of the message and brief_message are compiler-defined. */ 13 57 /* The only requirement is that the messages be 256 characters or less in length. */ 13 58 /* (Remember that the longest character string which can be used in an initial attribute */ 13 59 /* is 254 characters in length.) */ 13 60 /* */ 13 61 /* The severity number causes the error message to be preceded by a herald which */ 13 62 /* includes one of the following prefixes: */ 13 63 /* */ 13 64 /* _s_e_v _p_r_e_f_i_x _e_x_p_l_a_n_a_t_i_o_n */ 13 65 /* 0 = COMMENT - this is a comment. */ 13 66 /* 1 = WARNING - a possible error has been detected. The */ 13 67 /* compiler will still generate an object segment. */ 13 68 /* 2 = ERROR - a probable error has been detected. The */ 13 69 /* compiler will still generate an object segment. */ 13 70 /* 3 = FATAL ERROR - an error has been detected which is so severe */ 13 71 /* that no object segment will be generated. */ 13 72 /* 4 = TRANSLATOR ERROR - an error has been detected in the operation of */ 13 73 /* the compiler or translator. No object segment */ 13 74 /* will be generated. */ 13 75 /* */ 13 76 /* Full error messages are of the form: */ 13 77 /* */ 13 78 /* _p_r_e_f_i_x _e_r_r_o_r__n_u_m_b_e_r, SEVERITY _s_e_v_e_r_i_t_y IN STATEMENT _n OF LINE _m */ 13 79 /* _t_e_x_t__o_f__e_r_r_o_r__m_e_s_s_a_g_e */ 13 80 /* SOURCE: */ 13 81 /* _s_o_u_r_c_e__s_t_a_t_e_m_e_n_t */ 13 82 /* */ 13 83 /* If only one statement appears in line _m, then "STATEMENT _n OF" is omitted. */ 13 84 /* If the source statement has been printed in a previous error message, it is omitted. */ 13 85 /* */ 13 86 /* The reduction compiler declares a bit string, SERROR_CONTROL, which controls the */ 13 87 /* text of an error message. The compiler may set this bit string, as shown below. */ 13 88 /* */ 13 89 /* SERROR_CONTROL _m_e_a_n_i_n_g */ 13 90 /* "00"b the first time a particular error occurs, the long message */ 13 91 /* is printed; the brief message is used in subsequent */ 13 92 /* occurrences of that error. */ 13 93 /* "10"b or "11"b the long error message is always used. */ 13 94 /* "01"b the brief error message is always used. */ 13 95 /* The initial value of SERROR_CONTROL is "00"b. */ 13 96 /* */ 13 97 /* The reduction_compiler creates a declaration for SERROR_PRINTED, an array */ 13 98 /* of switches (one per error). The switch corresponding to a particular error is */ 13 99 /* turned on whenever the error message is printed. This allows lex_error_ to detect */ 13 100 /* subsequent occurrences of that same error. */ 13 101 /* */ 13 102 /* The reduction_compiler creates MERROR_SEVERITY, a fixed bin(17) integer */ 13 103 /* in which the severity of the highest-severity error encountered is maintained. */ 13 104 /* The compiler may reference this integer. */ 13 105 /* */ 13 106 /* The reduction_compiler creates MIN_PRINT_SEVERITY, a fixed bin (17) integer */ 13 107 /* which controls the printing of error messages by the ERROR procedure. */ 13 108 /* Errors having a severity less than MIN_PRINT_SEVERITY will not cause lex_error_ to be */ 13 109 /* and no error will be printed. The behaviour of the ERROR procedure for such errors */ 13 110 /* is controlled by the value of PRINT_SEVERITY_CONTROL, described below. */ 13 111 /* The compiler may set the value of MIN_PRINT_SEVERITY; its initial value is 0. */ 13 112 13 113 /* */ 13 114 /* The reduction_compiler declares a bit string, PRINT_SEVERITY_CONTROL, which */ 13 115 /* controls the updating of MERROR_SEVERITY and SERROR_PRINTED when the severity of an */ 13 116 /* error is less than MIN_PRINT_SEVERITY. In such cases, the lex_error_ procedure is not */ 13 117 /* invoked, and the ERROR procedure must update these values as though lex_error_ were */ 13 118 /* called. The compiler may set this bit string, as shown below. */ 13 119 /* */ 13 120 /* PRINT_SEVERITY_CONTROL _m_e_a_n_i_n_g */ 13 121 /* "00"b update neither SERROR_PRINTED nor MERROR_SEVERITY. */ 13 122 /* "01"b update SERROR_PRINTED to reflect the error. */ 13 123 /* "10"b update MERROR_SEVERITY to reflect the error severity. */ 13 124 /* "11"b update SERROR_PRINTED and MERROR_SEVERITY appropriately. */ 13 125 /*The initial value of PRINT_SEVERITY_CONTROL is "11"b. */ 13 126 /* */ 13 127 /* The ERROR procedure is simple to use, but it does limit the flexibility of the */ 13 128 /* error message. A compiler action routine can output more flexible error messages */ 13 129 /* by calling lex_error_ directly. See lex_error_ documentation for more details. */ 13 130 /* */ 13 131 /* S__t_a_t_u_s */ 13 132 /* */ 13 133 /* 0) Created: April, 1974 by G. C. Dixon */ 13 134 /* 1) Modified: April, 1982 by E. N. Kittlitz. Added MIN_PRINT_SEVERITY, */ 13 135 /* PRINT_SEVERITY_CONTROL. */ 13 136 /* */ 13 137 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 138 13 139 ERROR: procedure (Nerror); 13 140 13 141 dcl Nerror fixed bin; /* Number of the error which was detected. (In) */ 13 142 13 143 dcl Pstmt ptr, 13 144 1 erring_token aligned based (Perring_token) like token, 13 145 Perring_token ptr, 13 146 erring_token_value char(erring_token.Lvalue) based (erring_token.Pvalue); 13 147 13 148 dcl (max, null) builtin; 13 149 13 150 dcl lex_error_ entry options (variable); 13 151 13 152 13 153 if error_control_table.severity(Nerror) < MIN_PRINT_SEVERITY then do; /* don't print */ 13 154 if PRINT_SEVERITY_CONTROL & "1"b then /* update MERROR_SEVERITY */ 13 155 MERROR_SEVERITY = max (MERROR_SEVERITY, error_control_table.severity(Nerror)); 13 156 if PRINT_SEVERITY_CONTROL & "01"b then /* update SERROR_PRINTED */ 13 157 SERROR_PRINTED(Nerror) = "1"b; 13 158 return; 13 159 end; 13 160 Perring_token = Pthis_token; /* address the current erring_token. */ 13 161 if error_control_table.Soutput_stmt(Nerror) then 13 162 if Perring_token = null then 13 163 Pstmt = null; 13 164 else 13 165 Pstmt = erring_token.Pstmt; /* address the statement descriptor. */ 13 166 else 13 167 Pstmt = null; 13 168 if Perring_token = null then 13 169 call lex_error_ (Nerror, SERROR_PRINTED(Nerror), (error_control_table.severity(Nerror)), 13 170 MERROR_SEVERITY, Pstmt, Perring_token, SERROR_CONTROL, (error_control_table.message(Nerror)), 13 171 (error_control_table.brief_message(Nerror))); 13 172 else 13 173 call lex_error_ (Nerror, SERROR_PRINTED(Nerror), (error_control_table.severity(Nerror)), 13 174 MERROR_SEVERITY, Pstmt, Perring_token, SERROR_CONTROL, (error_control_table.message(Nerror)), 13 175 (error_control_table.brief_message(Nerror)), erring_token_value, erring_token_value, erring_token_value); 13 176 13 177 end ERROR; 13 178 13 179 /* END OF: rdc_error_.incl.pl1 * * * * * * * * * * * * * * * * */ 3573 3574 3575 /* START OF: rdc_next_stmt_.incl.pl1 * * * * * * */ 14 2 14 3 /* * * * * * * * * * * * * * * * * * * * * * * */ 14 4 /* */ 14 5 /* N__a_m_e: rdc_next_stmt_.incl.pl1 */ 14 6 /* */ 14 7 /* This include segment is used by compilers generated by the */ 14 8 /* reduction_compiler. It includes a procedure which shifts the */ 14 9 /* compilation process to the next source statement. */ 14 10 /* */ 14 11 /* S__t_a_t_u_s */ 14 12 /* */ 14 13 /* 0) Created: April, 1974 by G. C. Dixon */ 14 14 /* */ 14 15 /* * * * * * * * * * * * * * * * * * * * * * * */ 14 16 14 17 14 18 NEXT_STMT: procedure; /* invoked to begin parsing the next statement of */ 14 19 /* the input tokens. */ 14 20 14 21 dcl null builtin, 14 22 Ssearching bit(1) aligned; 14 23 14 24 Ptoken = Pthis_token; /* make sure these pointers are the same. */ 14 25 Pstmt = token.Pstmt; /* address "current" statement's descriptor. */ 14 26 Ssearching = "1"b; /* start scanning forward for next statement. */ 14 27 do while (Ssearching & token.Pnext ^= null); 14 28 Ptoken = token.Pnext; 14 29 if token.Pstmt = Pstmt then; 14 30 else Ssearching = "0"b; 14 31 end; 14 32 if token.Pstmt = Pstmt then /* if there is no next statement, and */ 14 33 if SPDL then /* in PUSH DOWN LANGUAGE mode, can't run off */ 14 34 Ptoken = Ptoken; /* end of input list. */ 14 35 else Ptoken, Pthis_token = null; /* otherwise, input list exhausted. */ 14 36 else Pthis_token = Ptoken; /* normally, next statement exists and Ptoken */ 14 37 /* points to its 1st _n_o_n-__d_e_l_e_t_e_d token. */ 14 38 14 39 end NEXT_STMT; 14 40 14 41 /* END OF: rdc_next_stmt_.incl.pl1 * * * * * * */ 3575 3576 3577 end cv_pmf; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/30/86 1430.0 cv_pmf.pl1 >spec>install>1081>cv_pmf.pl1 576 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 578 2 09/13/84 0921.6 pdt.incl.pl1 >ldd>include>pdt.incl.pl1 2-29 3 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 580 4 09/13/84 0921.6 sat.incl.pl1 >ldd>include>sat.incl.pl1 4-22 5 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 582 6 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.incl.pl1 584 7 04/21/82 1211.8 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 1370 8 04/18/75 1242.4 rdc_start_.incl.pl1 >ldd>include>rdc_start_.incl.pl1 8-25 9 04/18/75 1242.4 lex_descriptors_.incl.pl1 >ldd>include>lex_descriptors_.incl.pl1 1788 10 03/17/86 1534.3 rdc_end_.incl.pl1 >ldd>include>rdc_end_.incl.pl1 1816 11 04/18/75 1242.4 rdc_stack_fcns_.incl.pl1 >ldd>include>rdc_stack_fcns_.incl.pl1 3571 12 04/18/75 1242.4 rdc_lex_.incl.pl1 >ldd>include>rdc_lex_.incl.pl1 3573 13 08/15/83 1511.7 rdc_error_.incl.pl1 >ldd>include>rdc_error_.incl.pl1 3575 14 04/18/75 1242.4 rdc_next_stmt_.incl.pl1 >ldd>include>rdc_next_stmt_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. APstmt 000100 automatic pointer dcl 462 set ref 763* APtoken 000102 automatic pointer dcl 462 set ref 763* 767 BACKSPACE 023646 constant char(1) initial dcl 8-99 ref 10-113 BIGFLO 005320 constant float bin(27) initial dcl 552 ref 731 744 3333 BREAKS 000116 internal static varying char(128) dcl 559 set ref 757* 759* 763* CODE 002067 automatic fixed bin(35,0) dcl 8-33 set ref 10-106* 10-107 DIRECTION 002072 automatic fixed bin(17,0) initial dcl 1372 set ref 10-62 1372* Default_Group 000670 automatic char(8) dcl 482 set ref 748* 1142 1148 2096* 2771* FORM based fixed bin(17,0) level 2 packed unaligned dcl 8-48 ref 10-65 10-70 10-123 I based fixed bin(17,0) level 2 in structure "TOKEN_REQD_STRING" packed unaligned dcl 8-48 in procedure "SEMANTIC_ANALYSIS" ref 10-126 I 002070 automatic fixed bin(17,0) dcl 8-33 in procedure "SEMANTIC_ANALYSIS" set ref 10-62* 10-63 10-79* IFIRST based fixed bin(17,0) level 3 packed unaligned dcl 8-48 ref 10-62 10-73 10-79 10-79 IGBREAKS 000157 internal static varying char(128) dcl 560 set ref 758* 759* 763* ILAST 0(18) based fixed bin(17,0) level 3 packed unaligned dcl 8-48 ref 10-62 10-73 10-79 L 0(18) based fixed bin(17,0) level 2 packed unaligned dcl 8-48 ref 10-127 LEGAL 005274 constant char(70) initial dcl 555 ref 949 951 1032 1034 LEXCTL 000055 internal static varying char(128) dcl 558 set ref 759* 763* LEXDLM 000014 internal static varying char(128) dcl 558 set ref 759* 763* LIVE_PDT_DIR 005222 constant char(168) initial unaligned dcl 561 set ref 1234* LTOKEN_REQD_VALUE 002056 automatic fixed bin(18,0) dcl 8-33 set ref 10-127* 10-128 Lvalue 4 based fixed bin(18,0) level 2 in structure "erring_token" dcl 13-143 in procedure "ERROR" ref 13-172 13-172 13-172 13-172 13-172 13-172 Lvalue 4 based fixed bin(18,0) level 2 in structure "token" dcl 9-68 in procedure "cv_pmf" ref 824 824 833 834 845 847 847 873 874 875 876 877 878 879 888 888 946 947 949 951 954 972 979 980 1029 1032 1034 1041 1050 10-92 10-92 10-92 10-92 10-106 10-106 10-113 10-113 10-128 1883 1883 1897 1897 2096 2096 2258 2258 2332 2332 2346 2346 2529 2529 2587 2587 2601 2601 2771 2771 3323 3323 3456 MERROR_SEVERITY 001047 automatic fixed bin(17,0) initial dcl 13-3 set ref 771 785 13-3* 995* 1000* 1000 1220* 1225* 1225 13-154* 13-154 13-168* 13-172* MIN_PRINT_SEVERITY 001051 automatic fixed bin(17,0) initial dcl 13-3 set ref 656* 13-3* 995 1220 13-153 N parameter fixed bin(17,0) dcl 11-38 set ref 11-36 11-60* 11-68 NEVER 005316 constant fixed bin(71,0) initial dcl 553 ref 733 862 NRED 002057 automatic fixed bin(17,0) dcl 8-33 set ref 10-52* 10-55* 10-55 10-58 1814 11-18* 11-26* 1823* 1834* 1841* 1849* 1857* 1864* 1871* 1878* 1885* 1892* 1899* 1906* 1913* 1920* 1927* 1934* 1941* 1948* 1955* 1962* 1969* 1976* 1983* 1990* 1997* 2004* 2011* 2018* 2025* 2032* 2039* 2046* 2057* 2067* 2076* 2084* 2091* 2098* 2101* 2105* 2109* 2113* 2117* 2121* 2125* 2129* 2133* 2137* 2141* 2145* 2149* 2153* 2157* 2161* 2165* 2169* 2173* 2177* 2181* 2185* 2189* 2193* 2197* 2201* 2205* 2212* 2218* 2228* 2245* 2253* 2260* 2271* 2281* 2290* 2298* 2306* 2313* 2320* 2327* 2334* 2341* 2348* 2355* 2362* 2369* 2376* 2383* 2390* 2397* 2404* 2411* 2418* 2425* 2432* 2439* 2446* 2453* 2460* 2467* 2474* 2481* 2488* 2495* 2502* 2509* 2517* 2524* 2531* 2538* 2545* 2553* 2561* 2568* 2575* 2582* 2589* 2596* 2603* 2610* 2617* 2624* 2631* 2638* 2645* 2652* 2659* 2666* 2673* 2680* 2687* 2694* 2701* 2708* 2715* 2722* 2733* 2743* 2752* 2759* 2766* 2773* 2776* 2780* 2784* 2788* 2792* 2796* 2800* 2804* 2808* 2812* 2816* 2820* 2824* 2828* 2832* 2836* 2840* 2844* 2848* 2852* 2856* 2860* 2864* 2868* 2872* 2876* 2880* 2884* 2888* 2892* 2896* 2900* 2904* 2908* 2912* 2916* 2920* 2924* 2928* 2932* 2936* 2940* 2944* 2948* 2952* 2956* 2960* 2964* 2968* 2972* 2976* 2980* 2984* 2991* 2997* 3003* 3014* 3029* 3034* 3045* 3051* 3057* 3063* 3069* 3075* 3081* 3087* 3093* 3099* 3105* 3111* 3117* 3123* 3129* 3135* 3141* 3147* 3153* 3159* 3165* 3171* 3177* 3183* 3189* 3195* 3201* 3207* 3213* 3219* 3225* 3231* 3237* 3243* 3249* 3255* 3261* 3267* 3273* 3279* 3294* 3385* 3402* 3459* 3482* 3487* 3499* 3504* 11-60* NUMBER 002071 automatic fixed bin(35,0) dcl 8-33 set ref 10-106* 10-108 Nerror parameter fixed bin(17,0) dcl 13-141 set ref 13-139 13-153 13-154 13-156 13-161 13-168* 13-168 13-168 13-168 13-168 13-172* 13-172 13-172 13-172 13-172 Nvalue 10 based fixed bin(35,0) level 3 packed unaligned dcl 9-68 set ref 836* 10-101 10-108* 1832 1911 1918 1925 1932 1939 1946 1953 1960 1967 1974 1981 2009 2016 2030 2037 2051 2053 2055 2062 2063 2065 2072 2073 2074 2265 2267 2269 2276 2277 2279 2286 2287 2288 2360 2367 2374 2381 2388 2395 2402 2409 2416 2423 2430 2444 2472 2479 2493 2500 2536 2615 2622 2629 2636 2643 2650 2657 2685 2692 2706 2713 2727 2729 2731 2738 2739 2741 2748 2749 2750 3328 OFF constant fixed bin(17,0) initial dcl 550 ref 3020 3310 3316 ON constant fixed bin(17,0) initial dcl 549 ref 3017 3019 3293 3310 3314 PDT_entry_lth constant fixed bin(17,0) initial dcl 2-19 ref 776 PDT_header_lth constant fixed bin(17,0) initial dcl 2-19 ref 776 PDT_person_id_length constant fixed bin(17,0) initial dcl 2-19 ref 1029 PDT_project_name_length constant fixed bin(17,0) initial dcl 2-19 ref 954 957 PDT_version constant fixed bin(17,0) initial dcl 2-19 ref 710 PRED 002060 automatic pointer dcl 8-33 set ref 10-58* 10-62 10-62 10-73 10-73 10-79 10-79 10-79 PRINT_SEVERITY_CONTROL 001052 automatic bit(2) initial unaligned dcl 13-3 set ref 13-3* 13-154 13-156 PTOKEN_REQD 002062 automatic pointer dcl 8-33 set ref 10-63* 10-65 10-65 10-70 10-71 10-123 10-126 10-127 1791 PTOKEN_REQD_VALUE 002064 automatic pointer dcl 8-33 set ref 10-126* 10-128 Perring_token 002162 automatic pointer dcl 13-143 set ref 13-160* 13-161 13-164 13-168 13-168* 13-172* 13-172 13-172 13-172 13-172 13-172 13-172 13-172 13-172 13-172 Plast 2 based pointer level 2 packed unaligned dcl 9-68 ref 1010 12-45 12-47 Pnext 1 based pointer level 2 packed unaligned dcl 9-68 ref 10-79 1810 2244 3023 3027 3032 3037 3042 3048 3054 3060 3066 3072 3078 3084 3090 3096 3102 3108 3114 3120 3126 3132 3138 3144 3150 3156 3162 3168 3174 3180 3186 3192 3198 3204 3210 3216 3222 3230 3236 3240 3246 3252 3258 3264 3270 3276 3291 3297 3325 3330 3335 3348 3362 3376 3381 3393 3398 3413 3431 3458 3473 3478 3490 3495 3507 3521 3535 3549 12-39 12-40 14-27 14-28 Pstmt 5 based pointer level 2 in structure "token" packed unaligned dcl 9-68 in procedure "cv_pmf" ref 14-25 14-29 14-32 Pstmt 5 based pointer level 2 in structure "erring_token" packed unaligned dcl 13-143 in procedure "ERROR" ref 13-164 Pstmt 002160 automatic pointer dcl 13-143 in procedure "ERROR" set ref 13-161* 13-164* 13-166* 13-168* 13-172* Pstmt 001042 automatic pointer dcl 9-40 in procedure "cv_pmf" set ref 14-25* 14-29 14-32 Pthis_token 001040 automatic pointer dcl 8-23 set ref 767* 995* 1010 1010* 1220* 10-60 1813 2244 2244* 3023 3023* 3027 3027* 3032 3032* 3037 3037* 3042 3042* 3048 3048* 3054 3054* 3060 3060* 3066 3066* 3072 3072* 3078 3078* 3084 3084* 3090 3090* 3096 3096* 3102 3102* 3108 3108* 3114 3114* 3120 3120* 3126 3126* 3132 3132* 3138 3138* 3144 3144* 3150 3150* 3156 3156* 3162 3162* 3168 3168* 3174 3174* 3180 3180* 3186 3186* 3192 3192* 3198 3198* 3204 3204* 3210 3210* 3216 3216* 3222 3222* 3230 3230* 3236 3236* 3240 3240* 3246 3246* 3252 3252* 3258 3258* 3264 3264* 3270 3270* 3276 3276* 3291 3291* 3297 3297* 3325 3325* 3330 3330* 3335 3335* 3348 3348* 3362 3362* 3376 3376* 3381 3381* 3393 3393* 3398 3398* 3413 3413* 3431 3431* 3458 3458* 3473 3473* 3478 3478* 3490 3490* 3495 3495* 3507 3507* 3521 3521* 3535 3535* 3549 3549* 12-36 12-49* 13-160 14-24 14-35* 14-36* Ptoken 001044 automatic pointer dcl 9-68 set ref 824 824 824 833 834 834 836 845 845 847 847 847 873 873 874 874 875 875 876 876 877 877 878 878 879 879 888 888 888 946 946 947 947 949 949 951 951 954 954 972 979 979 980 1010* 1029 1032 1032 1034 1034 1041 1041 1050 1050 10-60* 10-64 10-73 10-79 10-86 10-92 10-92 10-92 10-92 10-92 10-92 10-92 10-101 10-104 10-106 10-106 10-106 10-108 10-113 10-113 10-113 10-113 10-118 10-124 10-128 10-128 1810* 1810 1813* 1832 1883 1883 1883 1897 1897 1897 1911 1918 1925 1932 1939 1946 1953 1960 1967 1974 1981 2009 2016 2030 2037 2051 2053 2055 2062 2063 2065 2072 2073 2074 2096 2096 2096 2244* 2258 2258 2258 2265 2267 2269 2276 2277 2279 2286 2287 2288 2332 2332 2332 2346 2346 2346 2360 2367 2374 2381 2388 2395 2402 2409 2416 2423 2430 2444 2472 2479 2493 2500 2529 2529 2529 2536 2587 2587 2587 2601 2601 2601 2615 2622 2629 2636 2643 2650 2657 2685 2692 2706 2713 2727 2729 2731 2738 2739 2741 2748 2749 2750 2771 2771 2771 3023* 3027* 3032* 3037* 3042* 3048* 3054* 3060* 3066* 3072* 3078* 3084* 3090* 3096* 3102* 3108* 3114* 3120* 3126* 3132* 3138* 3144* 3150* 3156* 3162* 3168* 3174* 3180* 3186* 3192* 3198* 3204* 3210* 3216* 3222* 3230* 3236* 3240* 3246* 3252* 3258* 3264* 3270* 3276* 3291* 3297* 3323 3323 3323 3325* 3328 3330* 3335* 3348* 3362* 3376* 3381* 3393* 3398* 3413* 3431* 3456 3456 3458* 3473* 3478* 3490* 3495* 3507* 3521* 3535* 3549* 12-36* 12-37 12-39 12-40* 12-40 12-42* 12-45 12-47* 12-47 12-49 14-24* 14-25 14-27 14-28* 14-28 14-29 14-32 14-32* 14-32 14-35* 14-36 Pvalue 3 based pointer level 2 in structure "token" packed unaligned dcl 9-68 in procedure "cv_pmf" ref 824 834 845 847 873 874 875 876 877 878 879 888 946 947 949 951 954 979 1032 1034 1041 1050 10-92 10-92 10-106 10-113 10-128 1883 1897 2096 2258 2332 2346 2529 2587 2601 2771 3323 3456 Pvalue 3 based pointer level 2 in structure "erring_token" packed unaligned dcl 13-143 in procedure "ERROR" ref 13-172 13-172 13-172 RED based structure level 1 dcl 8-48 REDUCTION based structure array level 1 packed unaligned dcl 1377 set ref 10-58 REDUCTIONS 004537 constant fixed bin(17,0) initial array unaligned dcl 1377 set ref 10-58 R_ACCESS 005373 constant bit(3) initial unaligned dcl 1-11 set ref 669* 673* 1234* S 11 based structure level 3 packed unaligned dcl 9-68 SAT_version constant fixed bin(17,0) initial dcl 4-12 ref 1237 SERROR_CONTROL 001050 automatic bit(2) initial unaligned dcl 13-3 set ref 640* 641* 642* 13-3* 995* 1220* 13-168* 13-172* SERROR_PRINTED 001051 automatic bit(1) initial array unaligned dcl 13-3 set ref 13-3* 995* 1001* 1220* 1226* 13-156* 13-168* 13-172* SPDL 001046 automatic bit(1) initial dcl 3568 set ref 3568* 10-73 12-42 14-32 STACK 002073 automatic fixed bin(17,0) array dcl 1373 set ref 11-18 11-26 11-59 11-60 11-60 11-68* STACK_DEPTH 002105 automatic fixed bin(17,0) initial dcl 1373 set ref 11-17 11-18 11-24 11-26 11-27* 11-27 1373* 11-59 11-66* 11-66 11-68 STOKEN_FCN 002066 automatic bit(1) dcl 8-33 set ref 1793* 1795* 1797* 1799* 1801* 1803* 1806 Soutput_stmt 0(18) 000000 constant bit(1) initial array level 2 packed unaligned dcl 1250 ref 13-161 Ssearching 002172 automatic bit(1) dcl 14-21 set ref 14-26* 14-27 14-30* TERM_FILE_TERM 005221 constant bit(3) initial unaligned dcl 6-14 set ref 798* 801* 1239* TERM_FILE_TRUNC_BC_TERM 005220 constant bit(3) initial unaligned dcl 6-15 set ref 778* 810* TOKEN_REQD based structure level 2 in structure "RED" packed unaligned dcl 8-48 in procedure "SEMANTIC_ANALYSIS" TOKEN_REQD based structure level 1 dcl 8-48 in procedure "SEMANTIC_ANALYSIS" TOKEN_REQD_STRING based structure level 1 dcl 8-48 TOKEN_REQD_VALUE based char unaligned dcl 8-48 ref 10-128 TOKEN_REQUIREMENT based structure array level 1 packed unaligned dcl 1690 set ref 10-63 TOKEN_REQUIREMENTS 003743 constant fixed bin(17,0) initial array unaligned dcl 1690 set ref 10-63 TOKEN_STRINGS based char(900) dcl 1774 set ref 10-126 TOKEN_STRING_ARRAYS 003351 constant char(100) initial array dcl 1774 set ref 10-126 TRACING 000220 internal static bit(1) initial dcl 1367 set ref 10-50* 10-50 TYPE 0(18) based fixed bin(17,0) level 2 packed unaligned dcl 8-48 ref 10-65 10-71 1791 abs_foreground_cpu_limit 376 based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2430* abs_foreground_cpu_limit 376 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 1981* absentee 244 based structure array level 2 dcl 2-58 absolute_cutoff 350 000114 automatic fixed bin(71,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 733* 3412* 3418* absolute_cutoff 350 based fixed bin(71,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1170 3430* 3436* absolute_increm 352 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1170 3437* absolute_increm 352 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 3419* absolute_limit 346 based float bin(27) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3395* 3428* 3434* absolute_limit 346 000114 automatic float bin(27) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 731* 3378* 3410* 3416* absolute_spent 347 000114 automatic float bin(27) level 2 dcl 464 set ref 732* access_ceiling 000522 automatic bit(72) dcl 468 set ref 666* addr builtin function dcl 503 in procedure "cv_pmf" ref 713 715 1040 1046 1066 1244 addr builtin function dcl 8-92 in procedure "SEMANTIC_ANALYSIS" ref 10-58 10-58 10-63 10-63 10-126 10-126 addr builtin function dcl 11-40 in procedure "PUSH" ref 11-63 11-63 addwordno builtin function dcl 503 ref 1244 administrator 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3044* 3050* aim_check_$greater 000334 constant entry external dcl 513 ref 909 911 933 935 1182 aim_check_$greater_or_equal 000332 constant entry external dcl 512 ref 902 902 926 926 al 000664 automatic fixed bin(21,0) dcl 479 set ref 613* 615 615 619 622 622 626 626 628 628 632 632 640 641 642 642 643 643 645 645 649* 650 650 652 652 anonymous 0(04) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3080* 3086* ap 000662 automatic pointer dcl 478 set ref 613* 615 619 622 626 628 632 640 641 642 642 643 643 645 649* 650 652 areap 000104 automatic pointer dcl 462 set ref 592* 750* 751 763* 812 812* argc 000524 automatic fixed bin(17,0) dcl 469 set ref 601* 607 612 644 argx 000525 automatic fixed bin(17,0) dcl 470 set ref 612* 613* 644 648* 648 649* at 13 000114 automatic structure level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 3310* 3314 at 13 based structure level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3314* 3316* 3316 ats 000514 automatic structure array level 1 dcl 465 set ref 3019* 3020* 3310 3310 3314 3316 author based structure level 2 dcl 2-27 authorization_value 000516 automatic bit(72) array dcl 467 set ref 888* 2081 2514 2757 bchr based char unaligned dcl 499 set ref 615* 619 622* 626* 628* 632* 640 641 642 642 643 643 645* 650* 652* bitc 000660 automatic fixed bin(24,0) dcl 477 set ref 669* 673* 688 773* 774* 776* 777 778* 780* bool builtin function dcl 503 ref 1135 brief 0(10) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3140* brief_error 000222 internal static varying char(4) initial dcl 11-48 set ref 11-60* brief_message 33 000000 constant varying char(20) initial array level 2 dcl 1250 ref 995 1220 13-168 13-172 bump_grace 54 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 2444* bump_grace 54 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 740* 1832* 2536* bumping 13(09) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1138 bumping 0(09) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3128* 3134* bv_errorx parameter fixed bin(17,0) dcl 1199 ref 1194 1213 1218 bv_first_string parameter char unaligned dcl 1199 ref 1213 1216 bv_string parameter char unaligned dcl 1199 set ref 1194 1213 1220* can_check_old_pdt 000744 automatic bit(1) initial dcl 493 set ref 493* 900 923 1242* character builtin function dcl 503 ref 619 charge 274 based float bin(27) array level 3 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 728* charge 124 based float bin(27) array level 3 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 726* charge 244 based float bin(27) array level 3 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 727* cleanup 001032 stack reference condition dcl 508 ref 596 clock builtin function dcl 503 ref 667 cls_size 71 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 2388* 2395* 2402* cls_size 71 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 1939* 1946* 1953* 2643* 2650* 2657* code 000666 automatic fixed bin(35,0) dcl 481 set ref 750* 752* 888* 889 1175* 1176 1177* 1179* 1180 1181 1234* 1235 collate builtin function dcl 503 ref 757 757 758 758 com_err_ 000374 constant entry external dcl 530 ref 603 615 622 628 645 652 676 683 697 752 772 780 com_err_$suppress_name 000376 constant entry external dcl 531 ref 608 convert_access_class_$from_string_range 000342 constant entry external dcl 517 ref 888 convert_access_class_$to_string_range_short 000340 constant entry external dcl 515 ref 901 924 convert_access_class_$to_string_short 000336 constant entry external dcl 514 ref 1185 convert_date_to_binary_ 000372 constant entry external dcl 529 ref 865 created_table_segment 000526 automatic bit(1) dcl 471 set ref 594* 695* 773 804 cu_$arg_count 000346 constant entry external dcl 519 ref 601 cu_$arg_ptr 000350 constant entry external dcl 520 ref 613 649 cu_$cl 000452 constant entry external dcl 11-43 ref 11-62 current_size 36 based fixed bin(17,0) level 2 dcl 2-27 set ref 776 1024 1039 1045* 1056 1065* 1087 cv_dec_check_ 000352 constant entry external dcl 521 in procedure "cv_pmf" ref 650 cv_dec_check_ 000450 constant entry external dcl 8-96 in procedure "SEMANTIC_ANALYSIS" ref 10-106 cv_float_ 000354 constant entry external dcl 522 ref 847 3323 cv_pmf_severity_ 000446 external static fixed bin(35,0) initial dcl 573 set ref 598* 785* 791* daemon 0(17) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3218* 3224* date_string 000527 automatic varying char(64) dcl 472 set ref 856 860 861 865 3446* 3456* 3456 default 000114 automatic structure level 1 dcl 464 set ref 714* 715 1047 1067 default_ring 56 based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1114 1114 2269* 2277* 2287* default_ring 56 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 741* 2055* 2063* 2073* 2731* 2739* 2749* default_subsystem 000677 automatic char(64) dcl 488 set ref 1048 1068 1869* 2573* devices 324 based float bin(27) array level 2 dcl 2-58 set ref 729* dialok 0(07) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3104* 3110* dimension builtin function dcl 503 in procedure "cv_pmf" ref 13-3 13-3 dimension builtin function dcl 11-40 in procedure "PUSH" ref 11-59 11-60 11-60 disconnect_ok 0(22) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3266* disconnect_ok 13(22) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1152* divide builtin function dcl 503 ref 688 dn 001075 automatic char(168) unaligned dcl 821 in procedure "path_name" set ref 824* dn 000550 automatic char(168) unaligned dcl 473 in procedure "cv_pmf" set ref 588* 626* 632* 669* 673* 676* 676* 683* 683* 693* 694* 697* 697* 707 780* 780* 1125 dollar_charge 75 000114 automatic float bin(27) level 2 dcl 464 set ref 723* dollar_limit 74 000114 automatic float bin(27) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 731* 3350* dollar_limit 74 based float bin(27) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3364* dont_call_init_admin 72 000114 automatic bit(1) level 3 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 1099 1848* 1856* 2552* 2560* dont_call_init_admin 72 based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1099* 2297* 2305* ec 001074 automatic fixed bin(35,0) dcl 820 in procedure "path_name" set ref 824* 825 ec 001464 automatic fixed bin(35,0) dcl 1078 in procedure "close" set ref 1125* 1126 ec 001176 automatic fixed bin(35,0) dcl 842 in procedure "floating_number" set ref 847* 848 ec 001206 automatic fixed bin(35,0) dcl 854 in procedure "okdate" set ref 865* 866 ec 000665 automatic fixed bin(35,0) dcl 480 in procedure "cv_pmf" set ref 601* 602 603* 608* 613* 614 615* 626* 627 628* 632* 633 635* 636 649* 650* 651 659* 669* 670 673* 674 681 683* 690* 694* 695 697* 702* 703 763* 778* 779 780* en 001147 automatic char(32) unaligned dcl 822 set ref 824* eo_ok 13(16) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1130* 1130 eo_ok 0(16) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3206* 3212* erring_token based structure level 1 dcl 13-143 erring_token_value based char unaligned dcl 13-143 set ref 13-172* 13-172* 13-172* error_control_table 000000 constant structure array level 1 dcl 1250 ref 13-3 13-3 error_table_$bad_conversion 000444 external static fixed bin(35,0) dcl 565 set ref 652* error_table_$badopt 000432 external static fixed bin(35,0) dcl 565 ref 659 error_table_$noarg 000442 external static fixed bin(35,0) dcl 565 set ref 645* error_table_$noentry 000434 external static fixed bin(35,0) dcl 565 ref 670 1181 error_table_$too_many_args 000436 external static fixed bin(35,0) dcl 565 set ref 622* error_table_$translation_failed 000430 external static fixed bin(35,0) dcl 565 set ref 772* error_table_$zero_length_seg 000440 external static fixed bin(35,0) dcl 565 ref 690 ex 001640 automatic fixed bin(17,0) dcl 1205 set ref 1218* 1220 1220* 1220 1220 1220 1220 1225 1226 expand_pathname_ 000366 constant entry external dcl 527 ref 626 824 1125 1175 1178 expand_pathname_$add_suffix 000370 constant entry external dcl 528 ref 632 fb35 000737 automatic fixed bin(35,0) dcl 490 set ref 650* 651 651 656 field parameter char dcl 990 set ref 988 993 993* 995 995 first 000010 internal static bit(1) initial unaligned dcl 551 set ref 756 760* first_string 001641 automatic char(500) unaligned dcl 1206 set ref 1210* 1216* 1220* foo 001177 automatic float bin(27) dcl 843 set ref 847* get_group_id_ 000360 constant entry external dcl 524 ref 705 get_wdir_ 000356 constant entry external dcl 523 ref 693 group 355 based char(8) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1142 1148* 1150 2529* group 355 000114 automatic char(8) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 722* group2 7 based structure level 2 packed unaligned dcl 9-68 guaranteed_login 0(03) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3068* 3074* have_anon 000676 automatic bit(1) initial unaligned dcl 487 set ref 487* 1061 1064* hcs_$delentry_seg 000414 constant entry external dcl 540 ref 807 hcs_$get_access_class 000364 constant entry external dcl 526 ref 1179 hcs_$make_seg 000416 constant entry external dcl 541 ref 694 hcs_$status_minf 000362 constant entry external dcl 525 ref 1177 hcs_$truncate_seg 000420 constant entry external dcl 542 ref 702 hdd 001465 automatic char(168) unaligned dcl 1079 set ref 1175* 1177* 1178* hddd 001537 automatic char(168) unaligned dcl 1079 set ref 1178* 1179* hdde 001611 automatic char(32) unaligned dcl 1080 set ref 1178* 1179* hde 001621 automatic char(32) unaligned dcl 1080 set ref 1175* 1177* high_ring 55 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 742* 2053* 2065* 2074* 2729* 2741* 2750* high_ring 55 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1114 1114 1114 2267* 2279* 2288* home_dir 34 based char(64) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1071* 1090 1092* 1108 1108* 1121 1121 1121 1125 1126 1175 2332* home_dir 34 000114 automatic char(64) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 746* 1883* 2587* i 000652 automatic fixed bin(17,0) dcl 475 in procedure "cv_pmf" set ref 743* 744* i 001166 automatic fixed bin(17,0) dcl 831 in procedure "onetoseven" set ref 834* 835 836 i 002146 automatic fixed bin(17,0) dcl 12-33 in procedure "LEX" set ref 12-39* 12-42 12-45* i 001442 automatic fixed bin(17,0) dcl 1021 in procedure "open" set ref 1039* 1040* igroup 13(20) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1142 1146* 1150* igroup 0(20) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3254* index builtin function dcl 503 ref 834 951 1034 initial_procedure 14 based char(64) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1072* 1084* 1096 1098* 2295* 2303* initial_procedure 14 000114 automatic char(64) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 718* 1098 1846* 1854* 2550* 2558* initiate_file_ 000422 constant entry external dcl 543 ref 669 673 1234 interactive 124 based structure array level 2 dcl 2-58 iod 274 based structure array level 2 dcl 2-58 iox_$error_output 000456 external static pointer dcl 11-43 set ref 11-63* iox_$put_chars 000454 constant entry external dcl 11-43 ref 11-63 ip_given 72(01) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2295* 2303* ip_given 72(01) 000114 automatic bit(1) level 3 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 720* 1846* 1854* 2550* 2558* ip_len 73 based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1082 1084 2295* 2303* ip_len 73 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 719* 1846* 1854* 2550* 2558* ip_ss parameter char(64) dcl 966 set ref 965 979* ip_ss_given parameter bit(1) unaligned dcl 967 set ref 965 981* ip_ss_len parameter fixed bin(17,0) unaligned dcl 968 set ref 965 980* keyword parameter char unaligned dcl 989 set ref 988 995* kst_size 70 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 2381* kst_size 70 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 1932* 2636* last_install_time 12 based fixed bin(71,0) level 3 dcl 2-27 set ref 709* last_login_unit 114 000114 automatic char(4) level 2 dcl 464 set ref 724* length builtin function dcl 503 in procedure "cv_pmf" ref 707 947 954 993 993 995 995 length builtin function dcl 11-40 in procedure "PUSH" ref 11-63 11-63 length_of_project_name 000672 automatic fixed bin(17,0) dcl 483 set ref 947* 957* 1108 lex_error_ 000400 constant entry external dcl 532 in procedure "cv_pmf" ref 995 1220 lex_error_ 000460 constant entry external dcl 11-43 in procedure "PUSH" ref 11-60 lex_error_ 000462 constant entry external dcl 13-150 in procedure "ERROR" ref 13-168 13-172 lex_string_$init_lex_delims 000402 constant entry external dcl 533 ref 759 lex_string_$lex 000404 constant entry external dcl 535 ref 763 lock 10 based bit(36) level 3 dcl 2-27 set ref 708* long_error 000224 internal static varying char(234) initial dcl 11-48 set ref 11-60* lot_size 67 000114 automatic fixed bin(17,0) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 1911* 1918* 1925* 2615* 2622* 2629* lot_size 67 based fixed bin(17,0) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 2360* 2367* 2374* low_ring 56(18) based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1114 1114 1114 2265* 2276* 2286* low_ring 56(18) 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 741* 2051* 2062* 2072* 2727* 2738* 2748* max builtin function dcl 503 in procedure "cv_pmf" ref 1000 1225 max builtin function dcl 8-92 in procedure "SEMANTIC_ANALYSIS" ref 11-27 max builtin function dcl 13-148 in procedure "ERROR" ref 13-154 max_background 361(27) 000114 automatic fixed bin(9,0) level 2 in structure "default" packed unsigned unaligned dcl 464 in procedure "cv_pmf" set ref 1974* max_background 361(27) based fixed bin(9,0) level 2 in structure "user" packed unsigned unaligned dcl 2-58 in procedure "cv_pmf" set ref 2423* max_foreground 361(18) based fixed bin(9,0) level 2 in structure "user" packed unsigned unaligned dcl 2-58 in procedure "cv_pmf" set ref 2416* max_foreground 361(18) 000114 automatic fixed bin(9,0) level 2 in structure "default" packed unsigned unaligned dcl 464 in procedure "cv_pmf" set ref 1967* max_size 35 based fixed bin(17,0) level 2 dcl 2-27 set ref 711* 1024 1056 message 1 000000 constant varying char(100) initial array level 2 dcl 1250 ref 995 1220 13-168 13-172 multip 0(08) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3116* 3122* my_name 000012 internal static char(6) initial unaligned dcl 557 set ref 603* 608* 615* 622* 628* 645* 652* 676* 683* 697* 750* 752* 772* 780* n 000653 automatic fixed bin(17,0) dcl 475 in procedure "cv_pmf" set ref 688* 689 763* n parameter fixed bin(17,0) dcl 12-33 in procedure "LEX" ref 12-31 12-38 12-39 12-42 12-45 n_users 41 based fixed bin(17,0) level 2 dcl 2-27 set ref 1045 1045* 1046 1065 1065* 1066 no_warning 0(19) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3242* 3248* nobump 0(02) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3062* nolist 0(06) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3098* non_restart_error 000320 internal static char(33) initial unaligned dcl 11-48 set ref 11-63 11-63 11-63 11-63 nopreempt 0(05) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3092* nostartup 0(13) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3170* 3176* null builtin function dcl 11-40 in procedure "PUSH" ref 11-60 11-60 11-60 11-60 null builtin function dcl 8-92 in procedure "SEMANTIC_ANALYSIS" ref 10-64 10-73 10-79 10-86 null builtin function dcl 13-148 in procedure "ERROR" ref 13-161 13-161 13-166 13-168 null builtin function dcl 503 in procedure "cv_pmf" ref 590 591 592 593 696 751 798 801 804 808 812 995 995 1220 1220 12-37 12-39 12-42 12-45 null builtin function dcl 14-21 in procedure "NEXT_STMT" ref 14-27 14-35 old_pdtp 000742 automatic pointer dcl 492 set ref 593* 801 801* 1234* 1237 1239* 1244 outer_module 57 based char(32) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 2346* outer_module 57 000114 automatic char(32) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 721* 1897* 2601* p 001444 automatic pointer dcl 1022 set ref 1040* 1041 password 11 000114 automatic char(8) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 717* password 11 based char(8) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1094 1103 1105* 2258* pathname_ 000426 constant entry external dcl 545 ref 676 676 683 683 697 697 780 780 pdir_quota 376(18) 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 1960* pdir_quota 376(18) based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2409* pdt based structure level 1 dcl 2-27 pdt_en 000642 automatic char(32) unaligned dcl 474 set ref 588* 635* 694* 697* 697* 780* 780* pdtep 000106 automatic pointer dcl 462 set ref 713* 714 715* 726 727 728 729 926 926 933 935 1046* 1047 1049 1050 1066* 1067 1069 1070 1071 1072 1082 1082 1084 1084 1084 1084 1089 1090 1092 1094 1096 1098 1099 1103 1105 1108 1108 1108 1114 1114 1114 1114 1114 1114 1114 1114 1121 1121 1121 1125 1126 1130 1130 1131 1131 1132 1132 1135 1135 1138 1138 1142 1142 1146 1148 1150 1150 1152 1152 1170 1170 1175 1182 1210 2258 2265 2267 2269 2276 2277 2279 2286 2287 2288 2295 2295 2295 2297 2303 2303 2303 2305 2318 2318 2332 2346 2360 2367 2374 2381 2388 2395 2402 2409 2416 2423 2430 2444 2472 2479 2493 2500 2514 2529 3314 3316 3316 3364 3395 3428 3430 3434 3436 3437 3492 3497 3523 3551 pdtp 000110 automatic pointer dcl 462 set ref 591* 694* 696 702* 705 706 707 707 708 709 710 711 713 769 769 776 778* 804 807* 808* 810* 946 1024 1024 1039 1040 1045 1045 1045 1046 1046 1056 1056 1065 1065 1065 1066 1066 1087 1092 1108 1234 person_id 2 based char(24) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 1041 1050* 1070* 1089 1108 1210 person_id 2 000114 automatic char(24) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 716* pm_ok 0(15) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3194* 3200* pm_ok 13(15) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1132* 1132 1135 1138 pmf_en 000632 automatic char(32) unaligned dcl 474 set ref 588* 632* 669* 670 678* 683* 683* 772* pmfp 000112 automatic pointer dcl 462 set ref 590* 669* 673* 763* 798 798* primary_line 0(01) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3056* proc_group_id based char(32) level 3 dcl 2-27 set ref 705* project based structure level 1 dcl 4-41 project_authorization 102 based bit(72) array level 2 dcl 4-41 set ref 901* 902* 902* 909* 911* 924* 926* 926* 933* 935* project_dir 51 based char(64) level 2 dcl 2-27 set ref 769* project_dir_acc 000746 automatic bit(72) dcl 494 set ref 1179* 1180* 1182* 1185* project_dir_acc_name 000750 automatic char(200) unaligned dcl 495 set ref 1184* 1185* 1186* project_name 42 based char(28) level 2 dcl 2-27 set ref 769 946* 1092 1108 1234 quoted_string 11(01) based bit(1) level 4 packed unaligned dcl 9-68 ref 10-92 10-104 10-113 10-118 10-124 rtrim builtin function dcl 503 ref 1234 sat_version 263 based fixed bin(17,0) level 2 dcl 2-27 ref 1237 satentry 264 based bit(1872) level 2 dcl 2-27 set ref 1244 satep 000740 automatic pointer dcl 491 set ref 901 902 902 909 911 924 926 926 933 935 1244* save_on_disconnect 0(23) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3272* 3278* save_on_disconnect 13(23) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1152 save_pdir 0(21) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3260* sb_ok 13(14) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1131* 1131 1135 sb_ok 0(14) 000514 automatic bit(1) array level 2 in structure "ats" packed unaligned dcl 465 in procedure "cv_pmf" set ref 3182* 3188* search builtin function dcl 8-92 ref 10-92 severity 000000 constant fixed bin(17,0) initial array level 2 packed unaligned dcl 1250 ref 995 995 1000 1220 1220 1225 13-153 13-154 13-168 13-172 shift_limit 76 000114 automatic float bin(27) array level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 744* 3475* 3480* shift_limit 76 based float bin(27) array level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3492* 3497* ss_given 72(02) 000114 automatic bit(1) level 3 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 1869* 2573* ss_given 72(02) based bit(1) level 3 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2318* ss_len 73(18) 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 1869* 2573* ss_len 73(18) based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 1082 1084 1084 2318* state based fixed bin(17,0) level 2 dcl 2-58 set ref 1049* 1069* string builtin function dcl 503 set ref 3019* 3020* 3310* 3310 3310 3314* 3314 3314 3316* 3316 3316 substr builtin function dcl 8-92 in procedure "SEMANTIC_ANALYSIS" ref 10-92 10-126 substr builtin function dcl 503 in procedure "cv_pmf" set ref 707 757 757 758 758 951 951 1034 1034 1084* 1084 1108 1121 1121 suffixed_name_$new_suffix 000406 constant entry external dcl 537 ref 635 supplied_en 000622 automatic char(32) unaligned dcl 474 set ref 588* 620 626* 635* 664 670 673* 676* 676* 678 1125 sx 000675 automatic fixed bin(17,0) dcl 486 set ref 3017* 3039* 3039 3044 3050 3056 3062 3068 3074 3080 3086 3092 3098 3104 3110 3116 3122 3128 3134 3140 3146 3152 3158 3164 3170 3176 3182 3188 3194 3200 3206 3212 3218 3224 3242 3248 3254 3260 3266 3272 3278 3293* system_info_$access_ceiling 000344 constant entry external dcl 518 ref 666 t 000673 automatic float bin(27) dcl 484 set ref 3319* 3323* 3328* 3333* 3350 3364 3378 3395 3410 3416 3428 3434 3475 3480 3492 3497 3509 3523 3537 3551 table 14 based char(4) level 3 dcl 2-27 set ref 706* temp_string 001232 automatic char(200) unaligned dcl 896 in procedure "check_default_authorization" set ref 901* 905* 909* 911* temp_string 001322 automatic char(200) unaligned dcl 919 in procedure "check_user_authorization" set ref 924* 929* 933* 935* terminate_file_ 000424 constant entry external dcl 544 ref 778 798 801 810 1239 time 000654 automatic fixed bin(71,0) dcl 476 set ref 857* 862* 865* 3412 3418 3430 3436 time_now 000656 automatic fixed bin(71,0) dcl 476 set ref 667* 857 1170 token based structure level 1 dcl 9-68 token_value based char unaligned dcl 9-68 set ref 824* 834 845 847* 873 874 875 876 877 878 879 888* 946 947 949 951 954 979 1032 1034 1041 1050 10-92 10-92 10-106* 10-113 10-128 1883* 1897* 2096* 2258* 2332* 2346* 2529* 2587* 2601* 2771* 3323* 3456 translator_temp_$get_segment 000410 constant entry external dcl 538 ref 750 translator_temp_$release_all_segments 000412 constant entry external dcl 539 ref 812 uflags 72 000114 automatic structure level 2 in structure "default" dcl 464 in procedure "cv_pmf" uflags 72 based structure level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" user 400 based structure array level 2 in structure "pdt" dcl 2-27 in procedure "cv_pmf" set ref 713 1040 1046 1066 user based structure level 1 dcl 2-58 in procedure "cv_pmf" set ref 714 1047* 1067* user_attributes based structure level 1 dcl 7-5 user_authorization 365 000114 automatic bit(72) array level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 747* 902* 902* 909* 911* 2081* 2757* user_authorization 365 based bit(72) array level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 926* 926* 933* 935* 1182* 2514* user_subsystem 000717 automatic char(64) dcl 488 set ref 1048* 1068* 1084 2318* user_warn_days 363 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 734* 2009* 2685* user_warn_days 363 based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2472* user_warn_dollars 364 000114 automatic float bin(27) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 736* 3537* user_warn_dollars 364 based float bin(27) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3551* user_warn_pct 363(18) based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2479* user_warn_pct 363(18) 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 735* 2016* 2692* value parameter char unaligned dcl 991 ref 988 993 993 verify builtin function dcl 503 in procedure "cv_pmf" ref 845 949 1032 verify builtin function dcl 8-92 in procedure "SEMANTIC_ANALYSIS" ref 10-92 version 37 based fixed bin(17,0) level 2 dcl 2-27 set ref 710* vhomedir 0(12) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3158* 3164* vinitproc 0(11) 000514 automatic bit(1) array level 2 packed unaligned dcl 465 set ref 3146* 3152* w_dir 15 based char(64) level 3 dcl 2-27 set ref 707* 707 warn_days 357 based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2493* warn_days 357 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 737* 2030* 2706* warn_dollars 360 000114 automatic float bin(27) level 2 in structure "default" dcl 464 in procedure "cv_pmf" set ref 739* 3509* warn_dollars 360 based float bin(27) level 2 in structure "user" dcl 2-58 in procedure "cv_pmf" set ref 3523* warn_pct 357(18) based fixed bin(17,0) level 2 in structure "user" packed unaligned dcl 2-58 in procedure "cv_pmf" set ref 2500* warn_pct 357(18) 000114 automatic fixed bin(17,0) level 2 in structure "default" packed unaligned dcl 464 in procedure "cv_pmf" set ref 738* 2037* 2713* x 000674 automatic fixed bin(17,0) dcl 485 set ref 873* 874* 875* 876* 877* 878* 879* 1007 1014* 1014 1015 1015* 2003* 2466* 2679* 3419 3437 3475 3480 3492 3497 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 Pcomment automatic pointer dcl 9-20 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SAT_entry_lth internal static fixed bin(17,0) initial dcl 4-12 SAT_header_lth internal static fixed bin(17,0) initial dcl 4-12 SAT_project_name_length internal static fixed bin(17,0) initial dcl 4-12 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial unaligned dcl 6-12 TERM_FILE_DELETE internal static bit(5) initial unaligned dcl 6-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial unaligned dcl 6-16 TERM_FILE_TRUNC internal static bit(1) initial unaligned dcl 6-11 TERM_FILE_TRUNC_BC internal static bit(2) initial unaligned dcl 6-13 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 comment based structure level 1 dcl 9-20 comment_value based char unaligned dcl 9-20 sat based structure level 1 dcl 4-20 satp automatic pointer dcl 491 stmt based structure level 1 dcl 9-40 stmt_value based char unaligned dcl 9-40 terminate_file_switches based structure level 1 packed unaligned dcl 6-4 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR 022253 constant entry internal dcl 13-139 ref 949 951 956 973 1008 1025 1029 1032 1034 1041 1057 1061 1082 1091 1094 1097 1826 1862 1876 1890 1904 2089 2209 2215 2221 2225 2235 2311 2325 2339 2353 2522 2566 2580 2594 2608 2764 2988 2994 3000 3006 3011 3228 3234 3282 3287 3301 3306 3338 3344 3353 3358 3367 3372 3388 3405 3423 3441 3462 3469 3512 3517 3526 3531 3540 3545 3554 3559 LEX 022166 constant entry internal dcl 12-31 ref 1819 1822 1830 1833 1837 1844 1847 1852 1855 1860 1863 1867 1870 1874 1877 1881 1884 1888 1891 1895 1898 1902 1905 1909 1912 1916 1919 1923 1926 1930 1933 1937 1940 1944 1947 1951 1954 1958 1961 1965 1968 1972 1975 1979 1982 1986 1993 2000 2007 2010 2014 2017 2021 2028 2031 2035 2038 2042 2049 2052 2054 2056 2060 2064 2066 2070 2075 2079 2083 2087 2090 2094 2097 2240 2248 2252 2256 2259 2263 2266 2268 2270 2274 2278 2280 2284 2289 2293 2296 2301 2304 2309 2312 2316 2319 2323 2326 2330 2333 2337 2340 2344 2347 2351 2354 2358 2361 2365 2368 2372 2375 2379 2382 2386 2389 2393 2396 2400 2403 2407 2410 2414 2417 2421 2424 2428 2431 2435 2442 2445 2449 2456 2463 2470 2473 2477 2480 2484 2491 2494 2498 2501 2505 2512 2516 2520 2523 2527 2530 2534 2537 2541 2548 2551 2556 2559 2564 2567 2571 2574 2578 2581 2585 2588 2592 2595 2599 2602 2606 2609 2613 2616 2620 2623 2627 2630 2634 2637 2641 2644 2648 2651 2655 2658 2662 2669 2676 2683 2686 2690 2693 2697 2704 2707 2711 2714 2718 2725 2728 2730 2732 2736 2740 2742 2746 2751 2755 2758 2762 2765 2769 2772 3341 3420 3438 NEXT_STMT 022564 constant entry internal dcl 14-18 ref 1009 2211 2217 2227 2990 2996 3002 3013 3284 3303 3340 3355 3369 3390 3407 3425 3443 3514 3528 3542 3556 PUSH 022025 constant entry internal dcl 11-36 ref 1839 1840 1988 1989 1995 1996 2002 2023 2024 2044 2045 2437 2438 2451 2452 2458 2459 2465 2486 2487 2507 2508 2543 2544 2664 2665 2671 2672 2678 2699 2700 2720 2721 3383 3384 3400 3401 3485 3502 RD_ACTION 002670 constant label array(305) dcl 1819 ref 1814 RD_MATCH 013746 constant label dcl 1810 ref 10-90 10-92 10-101 10-109 10-113 10-118 10-128 1806 RD_MATCH_NO_TOKEN 013751 constant label dcl 1811 ref 10-73 10-79 10-86 RD_NEXT_REDUCTION 013432 constant label dcl 10-55 ref 10-68 10-84 10-88 10-99 10-104 10-111 10-116 10-120 10-124 10-130 1807 11-17 11-24 3021 3040 3321 3448 RD_STACK 013760 constant label dcl 11-17 RD_STACK_POP 013765 constant label dcl 11-24 ref 3025 3285 3299 3304 3312 3317 3326 3331 3336 3342 3351 3356 3365 3370 3379 3391 3396 3408 3414 3421 3426 3432 3439 3444 3450 3453 3464 3466 3471 3476 3493 3510 3515 3524 3529 3538 3543 3552 3557 RD_TEST_REDUCTION 013433 constant label dcl 10-58 ref 10-53 11-19 11-28 1824 1835 1842 1850 1858 1865 1872 1879 1886 1893 1900 1907 1914 1921 1928 1935 1942 1949 1956 1963 1970 1977 1984 1991 1998 2005 2012 2019 2026 2033 2040 2047 2058 2068 2077 2085 2092 2099 2103 2107 2111 2115 2119 2123 2127 2131 2135 2139 2143 2147 2151 2155 2159 2163 2167 2171 2175 2179 2183 2187 2191 2195 2199 2203 2207 2213 2219 2229 2246 2254 2261 2272 2282 2291 2299 2307 2314 2321 2328 2335 2342 2349 2356 2363 2370 2377 2384 2391 2398 2405 2412 2419 2426 2433 2440 2447 2454 2461 2468 2475 2482 2489 2496 2503 2510 2518 2525 2532 2539 2546 2554 2562 2569 2576 2583 2590 2597 2604 2611 2618 2625 2632 2639 2646 2653 2660 2667 2674 2681 2688 2695 2702 2709 2716 2723 2734 2744 2753 2760 2767 2774 2778 2782 2786 2790 2794 2798 2802 2806 2810 2814 2818 2822 2826 2830 2834 2838 2842 2846 2850 2854 2858 2862 2866 2870 2874 2878 2882 2886 2890 2894 2898 2902 2906 2910 2914 2918 2922 2926 2930 2934 2938 2942 2946 2950 2954 2958 2962 2966 2970 2974 2978 2982 2986 2992 2998 3004 3015 3030 3035 3046 3052 3058 3064 3070 3076 3082 3088 3094 3100 3106 3112 3118 3124 3130 3136 3142 3148 3154 3160 3166 3172 3178 3184 3190 3196 3202 3208 3214 3220 3226 3232 3238 3244 3250 3256 3262 3268 3274 3280 3295 3386 3403 3460 3483 3488 3500 3505 RD_TEST_RESULT 013742 constant label dcl 1806 ref 1794 1796 1798 1800 1802 1804 RD_TEST_TOKEN 002654 constant label array(6) dcl 10-73 ref 10-65 10-71 RD_TOKEN_FCN 002662 constant label array(6) dcl 1793 ref 1791 SEMANTIC_ANALYSIS 013421 constant entry internal dcl 8-30 ref 768 abort 010063 constant label dcl 771 ref 1026 1058 argument_error 006154 constant label dcl 615 ref 660 authorization_string 011021 constant entry internal dcl 885 ref 1797 bump_x 011701 constant entry internal dcl 1005 ref 3481 3498 check_default_authorization 011056 constant entry internal dcl 893 ref 2082 check_user_authorization 011225 constant entry internal dcl 916 ref 2515 clean_up 010261 constant entry internal dcl 795 ref 597 786 789 close 012144 constant entry internal dcl 1076 ref 2231 2237 2242 2250 3008 common 013126 constant label dcl 1218 ref 1211 cv_pmf 005733 constant entry external dcl 458 error_in_general 013102 constant entry internal dcl 1213 ref 905 909 911 error_in_person 013064 constant entry internal dcl 1194 ref 929 933 935 1104 1114 1121 1126 1135 1138 1145 1170 1186 find_old_pdt 013264 constant entry internal dcl 1231 ref 960 floating_number 010547 constant entry internal dcl 841 ref 1799 get_to_cl 022131 constant label dcl 11-62 ref 11-64 give_usage 006101 constant label dcl 608 ref 664 increment 010725 constant entry internal dcl 871 ref 1801 okdate 010627 constant entry internal dcl 853 ref 1803 onetoseven 010516 constant entry internal dcl 830 ref 1795 open 011724 constant entry internal dcl 1019 ref 2251 open_anon 012070 constant entry internal dcl 1054 ref 2243 path_error 006312 constant label dcl 628 ref 633 636 path_name 010451 constant entry internal dcl 819 ref 1793 pdt_error 007226 constant label dcl 697 ref 703 pmf_error 007065 constant label dcl 683 ref 691 set_ip_ss 011464 constant entry internal dcl 965 ref 1846 1854 1869 2295 2303 2318 2550 2558 2573 set_project_name 011400 constant entry internal dcl 943 ref 1821 set_string 011517 constant entry internal dcl 988 ref 1883 1897 2096 2258 2332 2346 2529 2587 2601 2771 severity_5_failure 010250 constant label dcl 789 ref 604 609 617 623 630 646 654 685 699 753 781 x1 010655 constant label dcl 862 ref 860 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 24416 25102 23652 24426 Length 25716 23652 464 577 543 322 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cv_pmf 1968 external procedure is an external procedure. on unit on line 596 64 on unit clean_up 84 internal procedure is called by several nonquick procedures. path_name internal procedure shares stack frame of external procedure cv_pmf. onetoseven internal procedure shares stack frame of external procedure cv_pmf. floating_number internal procedure shares stack frame of external procedure cv_pmf. okdate internal procedure shares stack frame of external procedure cv_pmf. increment internal procedure shares stack frame of external procedure cv_pmf. authorization_string internal procedure shares stack frame of external procedure cv_pmf. check_default_authorization internal procedure shares stack frame of external procedure cv_pmf. check_user_authorization internal procedure shares stack frame of external procedure cv_pmf. set_project_name internal procedure shares stack frame of external procedure cv_pmf. set_ip_ss internal procedure shares stack frame of external procedure cv_pmf. set_string internal procedure shares stack frame of external procedure cv_pmf. bump_x internal procedure shares stack frame of external procedure cv_pmf. open internal procedure shares stack frame of external procedure cv_pmf. open_anon internal procedure shares stack frame of external procedure cv_pmf. close internal procedure shares stack frame of external procedure cv_pmf. error_in_person internal procedure shares stack frame of external procedure cv_pmf. find_old_pdt internal procedure shares stack frame of external procedure cv_pmf. SEMANTIC_ANALYSIS internal procedure shares stack frame of external procedure cv_pmf. PUSH internal procedure shares stack frame of external procedure cv_pmf. LEX internal procedure shares stack frame of external procedure cv_pmf. ERROR internal procedure shares stack frame of external procedure cv_pmf. NEXT_STMT internal procedure shares stack frame of external procedure cv_pmf. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 first cv_pmf 000012 my_name cv_pmf 000014 LEXDLM cv_pmf 000055 LEXCTL cv_pmf 000116 BREAKS cv_pmf 000157 IGBREAKS cv_pmf 000220 TRACING cv_pmf 000222 brief_error PUSH 000224 long_error PUSH 000320 non_restart_error PUSH STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cv_pmf 000100 APstmt cv_pmf 000102 APtoken cv_pmf 000104 areap cv_pmf 000106 pdtep cv_pmf 000110 pdtp cv_pmf 000112 pmfp cv_pmf 000114 default cv_pmf 000514 ats cv_pmf 000516 authorization_value cv_pmf 000522 access_ceiling cv_pmf 000524 argc cv_pmf 000525 argx cv_pmf 000526 created_table_segment cv_pmf 000527 date_string cv_pmf 000550 dn cv_pmf 000622 supplied_en cv_pmf 000632 pmf_en cv_pmf 000642 pdt_en cv_pmf 000652 i cv_pmf 000653 n cv_pmf 000654 time cv_pmf 000656 time_now cv_pmf 000660 bitc cv_pmf 000662 ap cv_pmf 000664 al cv_pmf 000665 ec cv_pmf 000666 code cv_pmf 000670 Default_Group cv_pmf 000672 length_of_project_name cv_pmf 000673 t cv_pmf 000674 x cv_pmf 000675 sx cv_pmf 000676 have_anon cv_pmf 000677 default_subsystem cv_pmf 000717 user_subsystem cv_pmf 000737 fb35 cv_pmf 000740 satep cv_pmf 000742 old_pdtp cv_pmf 000744 can_check_old_pdt cv_pmf 000746 project_dir_acc cv_pmf 000750 project_dir_acc_name cv_pmf 001040 Pthis_token cv_pmf 001042 Pstmt cv_pmf 001044 Ptoken cv_pmf 001046 SPDL cv_pmf 001047 MERROR_SEVERITY cv_pmf 001050 SERROR_CONTROL cv_pmf 001051 SERROR_PRINTED cv_pmf 001051 MIN_PRINT_SEVERITY cv_pmf 001052 PRINT_SEVERITY_CONTROL cv_pmf 001074 ec path_name 001075 dn path_name 001147 en path_name 001166 i onetoseven 001176 ec floating_number 001177 foo floating_number 001206 ec okdate 001232 temp_string check_default_authorization 001322 temp_string check_user_authorization 001442 i open 001444 p open 001464 ec close 001465 hdd close 001537 hddd close 001611 hdde close 001621 hde close 001640 ex error_in_person 001641 first_string error_in_person 002056 LTOKEN_REQD_VALUE SEMANTIC_ANALYSIS 002057 NRED SEMANTIC_ANALYSIS 002060 PRED SEMANTIC_ANALYSIS 002062 PTOKEN_REQD SEMANTIC_ANALYSIS 002064 PTOKEN_REQD_VALUE SEMANTIC_ANALYSIS 002066 STOKEN_FCN SEMANTIC_ANALYSIS 002067 CODE SEMANTIC_ANALYSIS 002070 I SEMANTIC_ANALYSIS 002071 NUMBER SEMANTIC_ANALYSIS 002072 DIRECTION SEMANTIC_ANALYSIS 002073 STACK SEMANTIC_ANALYSIS 002105 STACK_DEPTH SEMANTIC_ANALYSIS 002146 i LEX 002160 Pstmt ERROR 002162 Perring_token ERROR 002172 Ssearching NEXT_STMT THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_e_as alloc_cs unpk_to_pk cat_realloc_cs call_ext_out_desc call_ext_out call_int_this call_int_other return alloc_auto_adj mpfx2 enable shorten_stack ext_entry int_entry set_cs_eis index_cs_eis clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. aim_check_$greater aim_check_$greater_or_equal com_err_ com_err_$suppress_name convert_access_class_$from_string_range convert_access_class_$to_string_range_short convert_access_class_$to_string_short convert_date_to_binary_ cu_$arg_count cu_$arg_ptr cu_$cl cv_dec_check_ cv_dec_check_ cv_float_ expand_pathname_ expand_pathname_$add_suffix get_group_id_ get_wdir_ hcs_$delentry_seg hcs_$get_access_class hcs_$make_seg hcs_$status_minf hcs_$truncate_seg initiate_file_ iox_$put_chars lex_error_ lex_error_ lex_error_ lex_string_$init_lex_delims lex_string_$lex pathname_ suffixed_name_$new_suffix system_info_$access_ceiling terminate_file_ translator_temp_$get_segment translator_temp_$release_all_segments THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cv_pmf_severity_ error_table_$bad_conversion error_table_$badopt error_table_$noarg error_table_$noentry error_table_$too_many_args error_table_$translation_failed error_table_$zero_length_seg iox_$error_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 458 005732 487 005740 493 005741 3568 005742 13 3 005743 995 005775 588 005777 590 006013 591 006015 592 006016 593 006017 594 006020 596 006021 597 006035 598 006042 599 006045 601 006046 602 006057 603 006061 604 006076 607 006077 608 006101 609 006125 612 006126 613 006135 614 006152 615 006154 617 006206 619 006207 620 006220 622 006224 623 006257 626 006260 627 006310 628 006312 630 006344 632 006345 633 006403 635 006405 636 006440 639 006442 640 006443 641 006455 642 006466 643 006503 644 006513 645 006516 646 006553 648 006554 649 006555 650 006572 651 006615 652 006623 654 006656 656 006657 657 006660 659 006661 660 006664 662 006665 664 006667 666 006673 667 006702 669 006704 670 006741 673 006751 674 007005 676 007007 678 007060 681 007063 683 007065 685 007134 688 007135 689 007141 690 007142 691 007145 693 007146 694 007160 695 007217 696 007222 697 007226 699 007275 702 007276 703 007312 705 007314 706 007323 707 007326 708 007331 709 007332 710 007334 711 007336 713 007340 714 007342 715 007345 716 007347 717 007352 718 007355 719 007360 720 007362 721 007364 722 007367 723 007372 724 007374 726 007376 727 007412 728 007426 729 007442 731 007454 732 007457 733 007461 734 007463 735 007465 736 007467 737 007471 738 007473 739 007475 740 007477 741 007501 742 007505 743 007507 744 007513 745 007516 746 007520 747 007523 748 007540 750 007542 751 007563 752 007567 753 007613 756 007614 757 007617 758 007641 759 007647 760 007730 763 007732 767 010044 768 010046 769 010047 771 010063 772 010067 773 010110 774 010115 775 010116 776 010117 777 010132 778 010134 779 010161 780 010163 781 010237 785 010240 786 010243 787 010247 789 010250 791 010254 792 010257 795 010260 798 010266 801 010321 804 010355 807 010364 808 010376 809 010401 810 010402 812 010431 815 010450 819 010451 824 010453 825 010505 826 010512 830 010516 833 010520 834 010526 835 010536 836 010542 837 010543 841 010547 845 010551 847 010572 848 010616 849 010623 853 010627 856 010631 857 010636 858 010640 860 010643 861 010650 862 010655 863 010657 865 010662 866 010713 867 010721 871 010725 873 010727 874 010742 875 010751 876 010760 877 010767 878 010776 879 011005 880 011014 881 011016 885 011021 888 011023 889 011051 893 011056 900 011057 901 011062 902 011105 905 011146 906 011153 909 011154 911 011200 913 011224 916 011225 923 011226 924 011231 926 011254 929 011317 930 011324 933 011325 935 011352 937 011377 943 011400 946 011401 947 011411 949 011413 951 011433 954 011450 956 011454 957 011460 960 011462 961 011463 965 011464 972 011466 973 011472 974 011476 979 011477 980 011504 981 011512 983 011516 988 011517 993 011542 995 011554 999 011671 1000 011672 1001 011676 1003 011700 1005 011701 1007 011702 1008 011704 1009 011710 1010 011711 1012 011715 1014 011716 1015 011717 1017 011723 1019 011724 1024 011725 1025 011731 1026 011735 1029 011736 1032 011746 1034 011772 1039 012007 1040 012017 1041 012022 1043 012036 1045 012040 1046 012045 1047 012050 1048 012053 1049 012056 1050 012060 1052 012067 1054 012070 1056 012071 1057 012075 1058 012101 1061 012102 1064 012110 1065 012112 1066 012117 1067 012122 1068 012125 1069 012130 1070 012132 1071 012135 1072 012140 1074 012143 1076 012144 1082 012145 1084 012165 1087 012172 1089 012176 1090 012203 1091 012207 1092 012213 1093 012230 1094 012231 1096 012243 1097 012250 1098 012254 1099 012260 1101 012264 1103 012265 1104 012273 1105 012300 1108 012304 1112 012350 1114 012351 1121 012403 1125 012426 1126 012464 1130 012477 1131 012510 1132 012520 1135 012530 1138 012540 1142 012554 1145 012572 1146 012577 1147 012602 1148 012603 1150 012606 1152 012616 1170 012623 1175 012635 1176 012666 1177 012670 1178 012731 1179 012756 1180 013003 1181 013007 1182 013013 1184 013031 1185 013034 1186 013056 1191 013063 1194 013064 1210 013075 1211 013101 1213 013102 1216 013120 1218 013126 1220 013130 1224 013251 1225 013252 1226 013256 1229 013263 1231 013264 1234 013265 1235 013352 1237 013356 1239 013362 1240 013411 1242 013412 1244 013414 1245 013420 8 30 013421 1372 013422 1373 013424 10 50 013425 10 52 013430 10 53 013431 10 55 013432 10 58 013433 10 60 013436 10 62 013440 10 63 013464 10 64 013467 10 65 013473 10 68 013503 10 70 013504 10 71 013510 10 73 013512 10 79 013531 10 84 013542 10 86 013543 10 88 013547 10 90 013550 10 92 013551 10 99 013605 10 101 013606 10 104 013611 10 106 013614 10 107 013640 10 108 013642 10 109 013645 10 111 013646 10 113 013647 10 116 013663 10 118 013664 10 120 013670 10 123 013671 10 124 013672 10 126 013676 10 127 013703 10 128 013707 10 130 013715 1791 013716 1793 013720 1794 013722 1795 013723 1796 013725 1797 013726 1798 013730 1799 013731 1800 013733 1801 013734 1802 013736 1803 013737 1804 013741 1806 013742 1807 013745 1810 013746 1811 013751 1813 013754 1814 013756 11 17 013760 11 18 013762 11 19 013764 11 24 013765 11 26 013767 11 27 013771 11 28 013777 1819 014000 1821 014004 1822 014005 1823 014011 1824 014013 1826 014014 1828 014020 1830 014021 1832 014025 1833 014030 1834 014034 1835 014036 1837 014037 1839 014043 1840 014047 1841 014053 1842 014055 1844 014056 1846 014062 1847 014064 1848 014070 1849 014072 1850 014074 1852 014075 1854 014101 1855 014103 1856 014107 1857 014111 1858 014113 1860 014114 1862 014120 1863 014124 1864 014130 1865 014132 1867 014133 1869 014137 1870 014141 1871 014145 1872 014147 1874 014150 1876 014154 1877 014160 1878 014164 1879 014166 1881 014167 1883 014173 1884 014222 1885 014226 1886 014230 1888 014231 1890 014235 1891 014241 1892 014245 1893 014247 1895 014250 1897 014254 1898 014306 1899 014312 1900 014314 1902 014315 1904 014321 1905 014325 1906 014331 1907 014333 1909 014334 1911 014340 1912 014343 1913 014347 1914 014351 1916 014352 1918 014356 1919 014361 1920 014365 1921 014367 1923 014370 1925 014374 1926 014377 1927 014403 1928 014405 1930 014406 1932 014412 1933 014415 1934 014421 1935 014423 1937 014424 1939 014430 1940 014433 1941 014437 1942 014441 1944 014442 1946 014446 1947 014451 1948 014455 1949 014457 1951 014460 1953 014464 1954 014467 1955 014473 1956 014475 1958 014476 1960 014502 1961 014505 1962 014511 1963 014513 1965 014514 1967 014520 1968 014524 1969 014530 1970 014532 1972 014533 1974 014537 1975 014542 1976 014546 1977 014550 1979 014551 1981 014555 1982 014561 1983 014565 1984 014567 1986 014570 1988 014574 1989 014600 1990 014604 1991 014606 1993 014607 1995 014613 1996 014617 1997 014623 1998 014625 2000 014626 2002 014632 2003 014636 2004 014640 2005 014642 2007 014643 2009 014647 2010 014653 2011 014657 2012 014661 2014 014662 2016 014666 2017 014671 2018 014675 2019 014677 2021 014700 2023 014704 2024 014710 2025 014714 2026 014716 2028 014717 2030 014723 2031 014727 2032 014733 2033 014735 2035 014736 2037 014742 2038 014745 2039 014751 2040 014753 2042 014754 2044 014760 2045 014764 2046 014770 2047 014772 2049 014773 2051 014777 2052 015002 2053 015006 2054 015011 2055 015015 2056 015021 2057 015025 2058 015027 2060 015030 2062 015034 2063 015037 2064 015041 2065 015045 2066 015050 2067 015054 2068 015056 2070 015057 2072 015063 2073 015066 2074 015070 2075 015072 2076 015076 2077 015100 2079 015101 2081 015105 2082 015113 2083 015114 2084 015120 2085 015122 2087 015123 2089 015127 2090 015133 2091 015137 2092 015141 2094 015142 2096 015146 2097 015175 2098 015201 2099 015203 2101 015204 2103 015206 2105 015207 2107 015211 2109 015212 2111 015214 2113 015215 2115 015217 2117 015220 2119 015222 2121 015223 2123 015225 2125 015226 2127 015230 2129 015231 2131 015233 2133 015234 2135 015236 2137 015237 2139 015241 2141 015242 2143 015244 2145 015245 2147 015247 2149 015250 2151 015252 2153 015253 2155 015255 2157 015256 2159 015260 2161 015261 2163 015263 2165 015264 2167 015266 2169 015267 2171 015271 2173 015272 2175 015274 2177 015275 2179 015277 2181 015300 2183 015302 2185 015303 2187 015305 2189 015306 2191 015310 2193 015311 2195 015313 2197 015314 2199 015316 2201 015317 2203 015321 2205 015322 2207 015324 2209 015325 2211 015331 2212 015332 2213 015334 2215 015335 2217 015341 2218 015342 2219 015344 2221 015345 2223 015351 2225 015352 2227 015356 2228 015357 2229 015361 2231 015362 2233 015363 2235 015364 2237 015370 2238 015371 2240 015372 2242 015376 2243 015377 2244 015400 2245 015404 2246 015406 2248 015407 2250 015413 2251 015414 2252 015415 2253 015421 2254 015423 2256 015424 2258 015430 2259 015457 2260 015463 2261 015465 2263 015466 2265 015472 2266 015476 2267 015502 2268 015506 2269 015512 2270 015517 2271 015523 2272 015525 2274 015526 2276 015532 2277 015536 2278 015540 2279 015544 2280 015550 2281 015554 2282 015556 2284 015557 2286 015563 2287 015567 2288 015571 2289 015573 2290 015577 2291 015601 2293 015602 2295 015606 2296 015623 2297 015627 2298 015632 2299 015634 2301 015635 2303 015641 2304 015656 2305 015662 2306 015665 2307 015667 2309 015670 2311 015674 2312 015700 2313 015704 2314 015706 2316 015707 2318 015713 2319 015732 2320 015736 2321 015740 2323 015741 2325 015745 2326 015751 2327 015755 2328 015757 2330 015760 2332 015764 2333 016014 2334 016020 2335 016022 2337 016023 2339 016027 2340 016033 2341 016037 2342 016041 2344 016042 2346 016046 2347 016100 2348 016104 2349 016106 2351 016107 2353 016113 2354 016117 2355 016123 2356 016125 2358 016126 2360 016132 2361 016136 2362 016142 2363 016144 2365 016145 2367 016151 2368 016155 2369 016161 2370 016163 2372 016164 2374 016170 2375 016174 2376 016200 2377 016202 2379 016203 2381 016207 2382 016213 2383 016217 2384 016221 2386 016222 2388 016226 2389 016232 2390 016236 2391 016240 2393 016241 2395 016245 2396 016251 2397 016255 2398 016257 2400 016260 2402 016264 2403 016270 2404 016274 2405 016276 2407 016277 2409 016303 2410 016307 2411 016313 2412 016315 2414 016316 2416 016322 2417 016327 2418 016333 2419 016335 2421 016336 2423 016342 2424 016346 2425 016352 2426 016354 2428 016355 2430 016361 2431 016366 2432 016372 2433 016374 2435 016375 2437 016401 2438 016405 2439 016411 2440 016413 2442 016414 2444 016420 2445 016424 2446 016430 2447 016432 2449 016433 2451 016437 2452 016443 2453 016447 2454 016451 2456 016452 2458 016456 2459 016462 2460 016466 2461 016470 2463 016471 2465 016475 2466 016501 2467 016503 2468 016505 2470 016506 2472 016512 2473 016517 2474 016523 2475 016525 2477 016526 2479 016532 2480 016536 2481 016542 2482 016544 2484 016545 2486 016551 2487 016555 2488 016561 2489 016563 2491 016564 2493 016570 2494 016575 2495 016601 2496 016603 2498 016604 2500 016610 2501 016614 2502 016620 2503 016622 2505 016623 2507 016627 2508 016633 2509 016637 2510 016641 2512 016642 2514 016646 2515 016655 2516 016656 2517 016662 2518 016664 2520 016665 2522 016671 2523 016675 2524 016701 2525 016703 2527 016704 2529 016710 2530 016740 2531 016744 2532 016746 2534 016747 2536 016753 2537 016756 2538 016762 2539 016764 2541 016765 2543 016771 2544 016775 2545 017001 2546 017003 2548 017004 2550 017010 2551 017012 2552 017016 2553 017020 2554 017022 2556 017023 2558 017027 2559 017031 2560 017035 2561 017037 2562 017041 2564 017042 2566 017046 2567 017052 2568 017056 2569 017060 2571 017061 2573 017065 2574 017067 2575 017073 2576 017075 2578 017076 2580 017102 2581 017106 2582 017112 2583 017114 2585 017115 2587 017121 2588 017150 2589 017154 2590 017156 2592 017157 2594 017163 2595 017167 2596 017173 2597 017175 2599 017176 2601 017202 2602 017234 2603 017240 2604 017242 2606 017243 2608 017247 2609 017253 2610 017257 2611 017261 2613 017262 2615 017266 2616 017271 2617 017275 2618 017277 2620 017300 2622 017304 2623 017307 2624 017313 2625 017315 2627 017316 2629 017322 2630 017325 2631 017331 2632 017333 2634 017334 2636 017340 2637 017343 2638 017347 2639 017351 2641 017352 2643 017356 2644 017361 2645 017365 2646 017367 2648 017370 2650 017374 2651 017377 2652 017403 2653 017405 2655 017406 2657 017412 2658 017415 2659 017421 2660 017423 2662 017424 2664 017430 2665 017434 2666 017440 2667 017442 2669 017443 2671 017447 2672 017453 2673 017457 2674 017461 2676 017462 2678 017466 2679 017472 2680 017474 2681 017476 2683 017477 2685 017503 2686 017507 2687 017513 2688 017515 2690 017516 2692 017522 2693 017525 2694 017531 2695 017533 2697 017534 2699 017540 2700 017544 2701 017550 2702 017552 2704 017553 2706 017557 2707 017563 2708 017567 2709 017571 2711 017572 2713 017576 2714 017601 2715 017605 2716 017607 2718 017610 2720 017614 2721 017620 2722 017624 2723 017626 2725 017627 2727 017633 2728 017636 2729 017642 2730 017645 2731 017651 2732 017655 2733 017661 2734 017663 2736 017664 2738 017670 2739 017673 2740 017675 2741 017701 2742 017704 2743 017710 2744 017712 2746 017713 2748 017717 2749 017722 2750 017724 2751 017726 2752 017732 2753 017734 2755 017735 2757 017741 2758 017747 2759 017753 2760 017755 2762 017756 2764 017762 2765 017766 2766 017772 2767 017774 2769 017775 2771 020001 2772 020030 2773 020034 2774 020036 2776 020037 2778 020041 2780 020042 2782 020044 2784 020045 2786 020047 2788 020050 2790 020052 2792 020053 2794 020055 2796 020056 2798 020060 2800 020061 2802 020063 2804 020064 2806 020066 2808 020067 2810 020071 2812 020072 2814 020074 2816 020075 2818 020077 2820 020100 2822 020102 2824 020103 2826 020105 2828 020106 2830 020110 2832 020111 2834 020113 2836 020114 2838 020116 2840 020117 2842 020121 2844 020122 2846 020124 2848 020125 2850 020127 2852 020130 2854 020132 2856 020133 2858 020135 2860 020136 2862 020140 2864 020141 2866 020143 2868 020144 2870 020146 2872 020147 2874 020151 2876 020152 2878 020154 2880 020155 2882 020157 2884 020160 2886 020162 2888 020163 2890 020165 2892 020166 2894 020170 2896 020171 2898 020173 2900 020174 2902 020176 2904 020177 2906 020201 2908 020202 2910 020204 2912 020205 2914 020207 2916 020210 2918 020212 2920 020213 2922 020215 2924 020216 2926 020220 2928 020221 2930 020223 2932 020224 2934 020226 2936 020227 2938 020231 2940 020232 2942 020234 2944 020235 2946 020237 2948 020240 2950 020242 2952 020243 2954 020245 2956 020246 2958 020250 2960 020251 2962 020253 2964 020254 2966 020256 2968 020257 2970 020261 2972 020262 2974 020264 2976 020265 2978 020267 2980 020270 2982 020272 2984 020273 2986 020275 2988 020276 2990 020302 2991 020303 2992 020305 2994 020306 2996 020312 2997 020313 2998 020315 3000 020316 3002 020322 3003 020323 3004 020325 3006 020326 3008 020332 3009 020333 3011 020334 3013 020340 3014 020341 3015 020343 3017 020344 3019 020346 3020 020347 3021 020351 3023 020352 3025 020355 3027 020356 3029 020361 3030 020363 3032 020364 3034 020367 3035 020371 3037 020372 3039 020375 3040 020377 3042 020400 3044 020403 3045 020406 3046 020410 3048 020411 3050 020414 3051 020417 3052 020421 3054 020422 3056 020425 3057 020430 3058 020432 3060 020433 3062 020436 3063 020441 3064 020443 3066 020444 3068 020447 3069 020452 3070 020454 3072 020455 3074 020460 3075 020463 3076 020465 3078 020466 3080 020471 3081 020474 3082 020476 3084 020477 3086 020502 3087 020505 3088 020507 3090 020510 3092 020513 3093 020516 3094 020520 3096 020521 3098 020524 3099 020527 3100 020531 3102 020532 3104 020535 3105 020540 3106 020542 3108 020543 3110 020546 3111 020551 3112 020553 3114 020554 3116 020557 3117 020562 3118 020564 3120 020565 3122 020570 3123 020573 3124 020575 3126 020576 3128 020601 3129 020604 3130 020606 3132 020607 3134 020612 3135 020615 3136 020617 3138 020620 3140 020623 3141 020626 3142 020630 3144 020631 3146 020634 3147 020637 3148 020641 3150 020642 3152 020645 3153 020650 3154 020652 3156 020653 3158 020656 3159 020661 3160 020663 3162 020664 3164 020667 3165 020672 3166 020674 3168 020675 3170 020700 3171 020703 3172 020705 3174 020706 3176 020711 3177 020714 3178 020716 3180 020717 3182 020722 3183 020725 3184 020727 3186 020730 3188 020733 3189 020736 3190 020740 3192 020741 3194 020744 3195 020747 3196 020751 3198 020752 3200 020755 3201 020760 3202 020762 3204 020763 3206 020766 3207 020771 3208 020773 3210 020774 3212 020777 3213 021002 3214 021004 3216 021005 3218 021010 3219 021013 3220 021015 3222 021016 3224 021021 3225 021024 3226 021026 3228 021027 3230 021033 3231 021037 3232 021041 3234 021042 3236 021046 3237 021052 3238 021054 3240 021055 3242 021060 3243 021063 3244 021065 3246 021066 3248 021071 3249 021074 3250 021076 3252 021077 3254 021102 3255 021105 3256 021107 3258 021110 3260 021113 3261 021116 3262 021120 3264 021121 3266 021124 3267 021127 3268 021131 3270 021132 3272 021135 3273 021140 3274 021142 3276 021143 3278 021146 3279 021151 3280 021153 3282 021154 3284 021160 3285 021161 3287 021162 3289 021166 3291 021167 3293 021172 3294 021174 3295 021176 3297 021177 3299 021202 3301 021203 3303 021207 3304 021210 3306 021211 3308 021215 3310 021216 3312 021224 3314 021225 3316 021232 3317 021236 3319 021237 3321 021241 3323 021242 3325 021271 3326 021275 3328 021276 3330 021303 3331 021306 3333 021307 3335 021311 3336 021314 3338 021315 3340 021321 3341 021322 3342 021326 3344 021327 3346 021333 3348 021334 3350 021337 3351 021341 3353 021342 3355 021346 3356 021347 3358 021350 3360 021354 3362 021355 3364 021360 3365 021363 3367 021364 3369 021370 3370 021371 3372 021372 3374 021376 3376 021377 3378 021402 3379 021404 3381 021405 3383 021410 3384 021414 3385 021420 3386 021422 3388 021423 3390 021427 3391 021430 3393 021431 3395 021434 3396 021437 3398 021440 3400 021443 3401 021447 3402 021453 3403 021455 3405 021456 3407 021462 3408 021463 3410 021464 3412 021466 3413 021470 3414 021473 3416 021474 3418 021476 3419 021500 3420 021502 3421 021506 3423 021507 3425 021513 3426 021514 3428 021515 3430 021520 3431 021522 3432 021525 3434 021526 3436 021531 3437 021533 3438 021535 3439 021541 3441 021542 3443 021546 3444 021547 3446 021550 3448 021551 3450 021552 3453 021553 3456 021554 3458 021613 3459 021617 3460 021621 3462 021622 3464 021626 3466 021627 3469 021630 3471 021634 3473 021635 3475 021640 3476 021643 3478 021644 3480 021647 3481 021652 3482 021653 3483 021655 3485 021656 3487 021662 3488 021664 3490 021665 3492 021670 3493 021674 3495 021675 3497 021700 3498 021704 3499 021705 3500 021707 3502 021710 3504 021714 3505 021716 3507 021717 3509 021722 3510 021724 3512 021725 3514 021731 3515 021732 3517 021733 3519 021737 3521 021740 3523 021743 3524 021746 3526 021747 3528 021753 3529 021754 3531 021755 3533 021761 3535 021762 3537 021765 3538 021767 3540 021770 3542 021774 3543 021775 3545 021776 3547 022002 3549 022003 3551 022006 3552 022011 3554 022012 3556 022016 3557 022017 3559 022020 3561 022024 11 36 022025 11 59 022027 11 60 022032 11 62 022131 11 63 022136 11 64 022160 11 66 022161 11 68 022162 11 70 022165 12 31 022166 12 36 022170 12 37 022172 12 38 022177 12 39 022201 12 40 022213 12 41 022215 12 42 022217 12 44 022227 12 45 022230 12 47 022243 12 48 022245 12 49 022250 12 51 022252 13 139 022253 13 153 022255 13 154 022265 13 156 022274 13 158 022303 13 160 022304 13 161 022306 13 164 022321 13 166 022325 13 168 022327 13 172 022433 13 177 022562 14 18 022564 14 24 022565 14 25 022567 14 26 022572 14 27 022574 14 28 022602 14 29 022604 14 30 022611 14 31 022612 14 32 022613 14 35 022624 14 36 022630 14 39 022631 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved