Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50325/cswo.rtn
There are no other files named cswo.rtn in the archive.
! File: CSWO.RTN
!
! This work was supported by the Advanced Research
! Projects Agency of the Office of the Secretary of
! Defense (F44620-73-C-0074) and is monitored by the
! Air Force Office of Scientific Research.
ROUTINE CREATESWO(SYMBOL,OFF)=
BEGIN
LOCAL STVEC X;
REGISTER STVEC T;
BIND STVEC OP1=SYMBOL;
BIND LEXEME O2=OFF;
IF LITVALUE(.O2) EQL 0 THEN RETURN .OP1;
X_BASESYM(.OP1);
T_.X[NXTHREAD];
WHILE .T NEQ 0
DO IF .T[NAMEXPTR] EQL .X
THEN IF LITVALUE(.T[OFFSETF]) EQL
LITVALUE(.OP1[OFFSETF]+.O2[ADDRF])
THEN EXITLOOP
ELSE T_.T[NXTHREAD]
ELSE T_.T[NXTHREAD];
IF .T EQL 0
THEN BEGIN
T_GETSPACE(ST,.STSZ[.OP1[TYPEF]]);
MOVECORE(.OP1,.T,.STSZ[.OP1[TYPEF]]);
IF NOT .T[NAMEXP] THEN
(T[NAMEXP]_1; T[NAMEXPTR]_.OP1);
T[OFFSETF]_(.T[OFFSETF]+LITVALUE(.O2)) AND #177777;
T[NXTHREAD]_.X[NXTHREAD];
X[NXTHREAD]_.T;
END;
LEXOUT(BNDVAR,.T)
END;