MACRO 00001000
&N DMSLNU &T,&V,&LAST 00002000
LCLA &DP,&I,&NRG,&STAT(2),&LLIM(2),&RLIM(2),&LL,&RL,&MAX,&J 00003000
LCLA &K 00004000
LCLB &STRT,&TB 00005000
LCLC &C,&S(10) 00006000
&MAX SETA 5 00007000
AIF ('&V'(1,1) NE '(').ONE 00008000
&I SETA 1 00009000
&DP SETA 1 00010000
&NRG SETA 1 00011000
&STRT SETB 1 00012000
.LOOP ANOP 00013000
&I SETA &I+1 00014000
AIF (&I GT K'&V).PERR 00015000
&C SETC '&V'(&I,1) 00016000
AIF ('&C' EQ '(').LP 00017000
AIF ('&C' EQ ')').RP 00018000
AIF ('&C' EQ ',').CM 00019000
AIF (NOT &STRT).LOOP 00020000
&STRT SETB 0 00021000
&STAT(&NRG) SETA 1 00022000
&LLIM(&NRG) SETA &I 00023000
AGO .LOOP 00024000
.LP ANOP 00025000
&DP SETA &DP+1 00026000
AIF (NOT &STRT).LOOP 00027000
&STRT SETB 0 00028000
&STAT(&NRG) SETA 2 00029000
&LLIM(&NRG) SETA &I+1 00030000
AGO .LOOP 00031000
.CM ANOP 00032000
AIF (&DP NE 1).LOOP 00033000
&RLIM(&NRG) SETA &I-&STAT(&NRG) 00034000
&NRG SETA &NRG+1 00035000
AIF (&NRG GT 2).PERR 00036000
&STRT SETB 1 00037000
AGO .LOOP 00038000
.RP ANOP 00039000
&DP SETA &DP-1 00040000
AIF (&DP GT 0).LOOP 00041000
AIF (&I NE K'&V).PERR 00042000
&RLIM(&NRG) SETA &I-&STAT(&NRG) 00043000
&TB SETB ((&NRG EQ 1) AND (&STAT(1) EQ 1)) 00044000
&STAT(1) SETA &STAT(1)+&TB 00045000
&I SETA 0 00046000
.LUP2 ANOP 00047000
&I SETA &I+1 00048000
AIF (&I GT &NRG).NZ 00049000
&LL SETA &LLIM(&I) 00050000
&RL SETA &RLIM(&I) 00051000
AIF (&RL-&LL+1 LE 8*&MAX).NOMSG 00052000
MNOTE 8,'DMSLNU020E PARENTHESIZED (VALUE,LENGTH) FOLLOWING ''&*00053000
T'' CANNOT HAVE SUB-ARGUMENT > 8*&MAX CHARACTERS' 00054000
&RL SETA &LL+8*&MAX-1 00055000
.NOMSG ANOP 00056000
&J SETA (&I-1)*&MAX 00057000
&K SETA 8 00058000
.LUP3 ANOP 00059000
&J SETA &J+1 00060000
AIF (&LL+8 LE &RL).KOK 00061000
&K SETA &RL-&LL+1 00062000
.KOK ANOP 00063000
&S(&J) SETC '&V'(&LL,&K) 00064000
&LL SETA &LL+8 00065000
AIF (&LL LE &RL).LUP3 00066000
AGO .LUP2 00067000
.NZ ANOP 00068000
&N DMSLNZ &T,&LAST,&STAT(1), *00069000
&S(1).&S(2).&S(3).&S(4).&S(5), *00070000
&STAT(2), *00071000
&S(6).&S(7).&S(8).&S(9).&S(10) 00072000
MEXIT 00073000
.ONE ANOP 00074000
&N DMSLNZ &T,&LAST,1,&V,0, 00075000
MEXIT 00076000
.PERR ANOP 00077000
MNOTE 8,'DMSLNU021E SUB-ARGUMENT OF ''SUB'' FOLLOWING ''&T'' B*00078000
EGINS WITH ILLEGAL PARENTHESIS' 00079000
MEND 00080000