Annotation of freem_fileman/DIM3.m, revision 1.1.1.1

1.1       snw         1: DIM3   ;SFISC/JFW-MUMPS SYNTAX CHECKER ;7/6/92  2:23 PM
                      2:        ;;21.0;VA FileMan;;Dec 28, 1994
                      3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
                      4: DG     G GC^DIM:%ARG=""!%ERR D PARS G ER:%ERR
                      5:        S %L=":" D PARS1 G ER:%ERR I %C=%L G ER:%A1="" S %=%A1 D ^DIM1
                      6:        I %A["@^" S %=%A D ^DIM1 G DG
                      7:        I %A["(",$E(%A)'="@",$E($P(%A,"^",2))'="@" G:%COM'="D" ER S %=%A G PARAM
                      8:        S %L="^" D PARS1 G ER:%ERR I %C=%L G ER:%A1="" S %=%A1 D VV,^DIM1 G ER:%ERR
                      9:        S %=%A D VV:%A'=+%A,^DIM1 G DG
                     10:        ;
                     11: PARAM  G:%'?.E1"(".E1")" ER
                     12:        S %C=$P(%,"("),%C1=$P(%C,"^",2),%I=$F(%,"(")-1
                     13:        G:%C="" ER G:%C?.E1"^" ER
                     14:        I %C1]"",%C1'?1U.7AN,%C1'?1"%".7AN G ER
                     15:        S %C=$P(%C,"^") I %C]"",%C'?1U.7AN,%C'?1"%".7AN,%C'?1.8N G ER
                     16:        G:$E(%,%I,%I+1)="()" DG
                     17:        S (%(-1,2),%(-1,3))=0,%N=1,%(0,0)="P^",(%(0,1),%(0,2),%(0,3))=0
                     18:        D GG^DIM1 G DG
                     19:        ;
                     20: KL     D PARS G ER:%ERR!(%A=""&(%C=","))!(%A?1"^"1UP.UN) I %A?1"(".E1")" S %A=$E(%A,2,$L(%A)-1) S:%ARG]"" %ARG=%A_","_%ARG S:%ARG="" %ARG=%A G KL
                     21:        S %=$S(%COM="L"&("+-"[$E(%A)):$E(%A,2,999),1:%A) D VV,^DIM1 G GC^DIM:%ARG=""!%ERR,KL
                     22: LK     S %A=%ARG,%L=":" S:"+-"[$E(%A) %A=$E(%A,2,999) D PARS1 I %C=%L G ER:%A1="" S %=%A1 D ^DIM1
                     23:        S %ARG=%A G GC^DIM:%A="",KL
                     24: HN     S %=%ARG D ^DIM1 G GC^DIM
                     25: OP     G GC^DIM:%ARG=""!%ERR D PARS G ER:%ERR!(%C=","&(%A=""))
                     26:        G US:%COM="U" S %L=":" D PARS1 S %A2=%A,%A=%A1 S:%C=%L&(%A="") %ERR=1 D PARS1 G ER:%ERR!(%C=%L&(%A1=""))
                     27:        F %L="%A1","%A2" S %=@%L D ^DIM1 G OP:%ERR
                     28:        G OP
                     29: US     S %L=":" D PARS1 G ER:%C=%L&(%A1="") S %=%A D ^DIM1
                     30:        S %A=%A1 D PARS1 G ER:%C]"",OP
                     31: FR     S %L="=",%A=%ARG D PARS1 G ER:%ERR!(%A1="")!(%A="") S %ARG=%A1
                     32:        S %=%A G ER:%A?1"^".E D VV,^DIM1 G ER:%ERR
                     33: FR1    G GC^DIM:%ARG=""!%ERR D PARS
                     34:        S %L=":" F %A=%A,%A1 D PARS1 G ER:%ERR!(%A=""&(%C=%L)) S %=%A D ^DIM1
                     35:        I %A1]"" S %=%A1 D ^DIM1
                     36:        G FR1
                     37: PARS   S (%A,%C)="" Q:%ERR  S (%ERR,%I)=0
                     38: INC    D %INC D QT:%C="""",PARAN:%C="(" Q:%ERR  G OUT:","[%C,INC
                     39: QT     D %INC Q:%C=""""  G QT:%C]"" S %ERR=1 Q
                     40: PARAN  S %P=1 F %J=0:0 D %INC D QT:%C="""" S %P=%P+$S(%C="(":1,%C=")":-1,1:0) Q:'%P  I %C="" S %ERR=1 Q
                     41:        Q
                     42: OUT    S %A=$E(%ARG,1,%I-1),%ARG=$E(%ARG,%I+1,999) Q
                     43: %INC   S %I=%I+1,%C=$E(%ARG,%I) Q
                     44:        ;
                     45: PARS1  S (%A1,%C)="" Q:%ERR  S (%ERR,%I)=0
                     46: INCR   D %INC1 D QT1:%C="""",PARAN1:%C="(" Q:%ERR=1  G OUT1:%L[%C,INCR
                     47: OUT1   S %A1=$E(%A,%I+1,999),%A=$E(%A,1,%I-1) Q
                     48: QT1    D %INC1 Q:%C=""""  G QT1:%C]"" S %ERR=1 Q
                     49: PARAN1 S %P=1 F %J=0:0 D %INC1 D QT1:%C="""" S %P=%P+$S(%C="(":1,%C=")":-1,1:0) Q:'%P  I %C="" S %ERR=1 Q
                     50:        Q
                     51: %INC1  S %I=%I+1,%C=$E(%A,%I) Q
                     52:        ;
                     53: VV     I '%ERR,%]"",%'["@",%'?1U.UN,%'?1U.UN1"(".E1")",%'?1"%".UN1"(".E1")",%'?1"%".UN,%'?1"^"1U.UN1"(".E1")",%'?1"^%".UN1"(".E1")",%'?1"^(".E1")",%'?1"^"1U.UN S %ERR=1
                     54:        S:%["?@" %ERR=1 Q
                     55: ER     G ER^DIM

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>