Annotation of freem_fileman/DIM1.m, revision 1.1.1.1

1.1       snw         1: DIM1   ;SFISC/JFW,GFT-MUMPS SYNTAX CHECKER ;7/6/92  8:57 AM
                      2:        ;;21.0;VA FileMan;;Dec 28, 1994
                      3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
                      4:        Q:%ERR  S (%I,%N,%ERR,%(-1,2),%(-1,3))=0
                      5: GG     D %INC G:%C="" FINISH^DIM2 I %C="%" F %C=%I+1:1 S %J=$E(%,%C) I %J'?1NU G GG:%J="",E:"""^%"[%J,GG
                      6:        G E:%C=";"!($A(%C)>95)!($A(%C)<33),QUOTE:%C="""",FUNC:%C="$",SUB^DIM2:%C="(",UP^DIM2:%C=")",AR^DIM2:%C=",",SEL^DIM2:%C=":",GLO^DIM2:%C="^"
                      7:        I %C="E",(($E(%,%I-1)?1N)!($E(%,%I-1)=".")) S %L1=$E(%,%I+1) I %L1?1N!("+-"[%L1) F %I=%I+2:1 S %C=$E(%,%I) I %C'?1N S %I=%I-1 G GG
                      8:        I %C?1U D VAR^DIM2
                      9:        G E:%ERR,GG:%C="",PAT^DIM2:%C="?",BINOP^DIM2:"=[]<>&!"[%C,MTHOP^DIM2:"/\*#_"[%C
                     10:        G UNOP^DIM2:"'+-"[%C,IND^DIM2:%C="@"
                     11:        I %C="." G GG:$P($G(%(%N-1,0)),"^")="P" D %INC S %L1=$E(%,%I-2) G E:((%C'?1N)&("':=+-\/<>[],)*&!_#"'[%C))!(("':=+-\/<>[],(_*#!&"'[%L1)&(%L1'?1N))!(%C'?1N&(%L1'?1N))
                     12:        I %C?1N,$E(%,%I+1)]"" G E:$E(%,%I+1)'?1NP
                     13: GG1    I %C]"","$(),:"""[%C S %I=%I-1
                     14:        G GG
                     15: QUOTE  F %J=0:0 D %INC Q:%C=""!(%C="""")
                     16:        G E:%C=""!("[]()><\/+-=&!_#*,;:'"""'[$E(%,%I+1)) D:$D(%(%N-1,"F")) FN:%(%N-1,"F")["FN" G E:%ERR,GG
                     17: FUNC   D %INC G EXT:%C="$",E:%C'?1U,SPV:$E(%,%I,999)'?.U1"(".E,E:"ACDEFGJLNOPQRSTVZ"'[%C!(%C=""),NFUNC:$E(%,%I,%I+1)="FN"!($E(%,%I,%I+1)="TR"),FUNC1:$E(%,%I+1)="("!(%C="Z")
                     18:        S %T=$T(FNC) G E:%T'[(","_$E(%,%I,$F(%,"(",%I)-2)_"^")
                     19: FUNC1  S %F1=$P($T(FNC),",",$F("ACDEFGJLNOPQRSTVZ",%C))
                     20: FUNC2  S %I=$F(%,"(",%I)-1,%(%N,0)="1^"_$P(%F1,"^",2),%(%N,1)=0,%(%N,2)=0,%(%N,3)=0,%(%N,"F")=%F1,%N=%N+1 S:$E(%F1,1)="S" %(%N-1,2)=1 G DATA^DIM2:"DNOQG"[$E(%F1,1),GG
                     21: NFUNC  S %T=",FNUMBER^2;3,TRANSLATE^2;3" G NFUNC1:$E(%,%I+2)="(" G E:%T'[(","_$E(%,%I,$F(%,"(",%I)-2)_"^")
                     22: NFUNC1 S %F1=$P(%T,",",$F("FT",%C)) G FUNC2
                     23: SPV    I $E(%,%I+1)?1U S %I=%I+1,%C=%C_$E(%,%I) G SPV
                     24:        I "HIJSTXYZ"[%C&(%C?1U)!(%C?1"Z".U)!(",HOROLOG,IO,JOB,STORAGE,TEST,"[(","_%C_",")),"[],)><=_&#!'+-*\/?"[$E(%,%I+1) G GG
                     25: E      G ERR^DIM2
                     26: %INC   S %I=%I+1,%C=$E(%,%I) Q
                     27: FN     Q:%(%N-1,1)'=1  F %FZ=%I-1:-1 S %FN=$E(%,%FZ) Q:%FN=""""
                     28:        S %FN=$E(%,%FZ+1,%I-1) F %FZ=1:1 Q:$E(%FN,%FZ)=""  I "+-,TP"'[$E(%FN,%FZ) S %ERR=1 Q
                     29:        Q:%ERR  I %FN["P" F %FZ=1:1 Q:$E(%FN,%FZ)=""  I "+-T"[$E(%FN,%FZ) S %ERR=1 Q
                     30:        Q
                     31: EXT    D %INC
                     32:        F %I=%I+1:1 S %C1=$E(%,%I) Q:%C1?1PC&("^%"'[%C1)!(%C1="")  S %C=%C_%C1
                     33:        G:%C="" E G:%C?.E1"^" E
                     34:        S %C1=$P(%C,"^",2) I %C1]"",%C1'?1U.7AN,%C1'?1"%".7AN G E
                     35:        S %C=$P(%C,"^") I %C]"",%C'?1U.7AN,%C'?1"%".7AN,%C'?1.8N G E
                     36:        I $E(%,%I)="(",$E(%,%I+1)'=")" S %(%N,0)="P^",(%(%N,1),%(%N,2),%(%N,3))=0,%N=%N+1 G GG
                     37:        S %I=%I+$S($E(%,%I,%I+1)="()":1,1:-1)
                     38:        G GG:"[],)><=_&#!'+-*/\?"[$E(%,%I+1),E
                     39:        ;
                     40: FNC    ;;,ASCII^1;2,CHAR^1;999,DATA^1;1,EXTRACT^1;3,FIND^2;3,GET^1;1,JUSTIFY^2;3,LENGTH^1;2,NEXT^1;1,ORDER^1;1,PIECE^2;4,QUERY^1;1,RANDOM^1;1,SELECT^1;999,TEXT^1;1,VIEW^1;999,ZFUNC^1;999

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