head     56.3;
access   paws bayes jws quist brad dew jwh;
symbols  ;
locks    ; strict;
comment  @# @;


56.3
date     93.01.27.13.33.06;  author jwh;  state Exp;
branches ;
next     56.2;

56.2
date     93.01.27.12.09.39;  author jwh;  state Exp;
branches ;
next     56.1;

56.1
date     91.11.05.09.30.57;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.08.59;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.16.52;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.17.28;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.02.40;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.01.49;  author jwh;  state Exp;
branches ;
next     50.1;

50.1
date     90.10.29.16.15.24;  author jwh;  state Exp;
branches ;
next     49.1;

49.1
date     90.08.14.14.03.44;  author jwh;  state Exp;
branches ;
next     48.1;

48.1
date     90.07.26.11.09.30;  author jwh;  state Exp;
branches ;
next     47.1;

47.1
date     90.05.14.10.47.12;  author dew;  state Exp;
branches ;
next     46.1;

46.1
date     90.05.07.08.35.22;  author jwh;  state Exp;
branches ;
next     45.1;

45.1
date     90.04.19.15.42.15;  author jwh;  state Exp;
branches ;
next     44.1;

44.1
date     90.04.01.22.00.09;  author jwh;  state Exp;
branches ;
next     43.1;

43.1
date     90.03.20.13.50.00;  author jwh;  state Exp;
branches ;
next     42.1;

42.1
date     90.01.23.17.35.25;  author jwh;  state Exp;
branches ;
next     41.1;

41.1
date     89.12.22.11.17.44;  author jwh;  state Exp;
branches ;
next     40.1;

40.1
date     89.09.29.11.40.40;  author jwh;  state Exp;
branches ;
next     39.1;

39.1
date     89.09.26.16.26.00;  author dew;  state Exp;
branches ;
next     38.1;

38.1
date     89.08.29.11.16.27;  author jwh;  state Exp;
branches ;
next     37.1;

37.1
date     89.05.12.11.29.39;  author dew;  state Exp;
branches ;
next     36.1;

36.1
date     89.02.06.10.08.41;  author dew;  state Exp;
branches ;
next     35.1;

35.1
date     89.02.02.13.20.11;  author dew;  state Exp;
branches ;
next     34.1;

34.1
date     89.01.23.15.55.28;  author jwh;  state Exp;
branches ;
next     33.1;

33.1
date     89.01.16.11.30.42;  author dew;  state Exp;
branches ;
next     32.1;

32.1
date     89.01.10.11.36.49;  author bayes;  state Exp;
branches ;
next     31.1;

31.1
date     88.12.14.17.57.43;  author bayes;  state Exp;
branches ;
next     30.1;

30.1
date     88.12.09.13.35.58;  author dew;  state Exp;
branches ;
next     29.1;

29.1
date     88.10.31.15.20.04;  author bayes;  state Exp;
branches ;
next     28.1;

28.1
date     88.10.06.10.49.29;  author dew;  state Exp;
branches ;
next     27.1;

27.1
date     88.09.29.11.15.09;  author bayes;  state Exp;
branches ;
next     26.1;

26.1
date     88.09.28.12.31.09;  author bayes;  state Exp;
branches ;
next     25.1;

25.1
date     88.03.02.09.09.29;  author bayes;  state Exp;
branches ;
next     24.1;

24.1
date     87.08.31.09.19.00;  author jws;  state Exp;
branches ;
next     23.1;

23.1
date     87.08.26.09.55.43;  author bayes;  state Exp;
branches ;
next     22.1;

22.1
date     87.08.17.10.35.58;  author bayes;  state Exp;
branches ;
next     21.1;

21.1
date     87.08.12.13.23.48;  author bayes;  state Exp;
branches ;
next     20.1;

20.1
date     87.07.30.10.34.03;  author bayes;  state Exp;
branches ;
next     19.1;

19.1
date     87.06.01.07.52.29;  author jws;  state Exp;
branches ;
next     18.1;

18.1
date     87.05.20.14.47.05;  author bayes;  state Exp;
branches ;
next     17.1;

17.1
date     87.04.30.10.04.46;  author jws;  state Exp;
branches ;
next     16.1;

16.1
date     87.04.26.15.19.12;  author jws;  state Exp;
branches ;
next     15.1;

15.1
date     87.04.13.08.44.34;  author jws;  state Exp;
branches ;
next     14.1;

14.1
date     87.04.01.14.40.26;  author jws;  state Exp;
branches ;
next     13.1;

13.1
date     87.02.28.18.07.21;  author jws;  state Exp;
branches ;
next     12.1;

12.1
date     87.02.02.12.53.39;  author jws;  state Exp;
branches ;
next     11.1;

11.1
date     87.01.19.09.20.29;  author jws;  state Exp;
branches ;
next     10.1;

10.1
date     86.12.24.10.26.40;  author jws;  state Exp;
branches ;
next     9.1;

9.1
date     86.12.12.13.49.03;  author bayes;  state Exp;
branches ;
next     8.1;

8.1
date     86.11.27.11.24.12;  author jws;  state Exp;
branches ;
next     7.1;

7.1
date     86.11.20.13.10.33;  author hal;  state Exp;
branches ;
next     6.1;

6.1
date     86.11.04.17.12.27;  author paws;  state Exp;
branches ;
next     5.1;

5.1
date     86.10.28.16.01.17;  author hal;  state Exp;
branches ;
next     4.1;

4.1
date     86.09.30.19.14.03;  author hal;  state Exp;
branches ;
next     3.1;

3.1
date     86.09.01.11.26.09;  author hal;  state Exp;
branches ;
next     2.1;

2.1
date     86.07.30.14.17.18;  author hal;  state Exp;
branches ;
next     1.1;

1.1
date     86.06.30.13.39.29;  author danm;  state tmp;
branches ;
next     ;


desc
@Base file for PWS 3.2 release.

@


56.3
log
@
pws2rcs automatic delta on Wed Jan 27 13:14:25 MST 1993
@
text
@
*       PROCEDURE IDSEARCH(DESCRIBE: DESCPTR; BUFFER: BUFPTR);
*
*       TYPE NODE = PACKED RECORD
*               KEY:    ^STRING;
*               LLINK, RLINK: ^NODE;
*               SY, OP: 0..255;
*            END;
*
*            DESCPTR = ^ RECORD
*               ID:     STRING[80];
*               OP:     0..20;
*               SY:     0..70;
*               CURSOR: CURSRANGE; {shortint}
*            END;
*
	NOSYMS

	REFR    SYMTREE                 ROOT NODE OF RESERVED IDENTIFIER TREE
	REFR    TREESEARCH

SY      EQU     12                      NODE FIELD OFFSETS
OP      EQU     13

DOP     EQU     82                      DESCRIPTOR FIELD OFFSETS
DSY     EQU     84
CURSOR  EQU     86

DESCPTR EQU     A4
BUFPTR  EQU     A3
RETURN  EQU     A2
SYNODE  EQU     A1
IDPTR   EQU     DESCPTR

COUNT   EQU     D7
C       EQU     D6
CURS    EQU     D5
TRS     EQU     D4

IDSEARCH        EQU *
	MOVEM.L (SP)+,RETURN/BUFPTR/DESCPTR  FETCH PARAMETERS FROM STACK
	MOVE.L  RETURN,-(SP)
	MOVE.W  CURSOR(DESCPTR),CURS    CURS := DESCPTR^.CURSOR
	CLR.W   COUNT                   COUNT := 0

* ASCII SEQUENCE:   DIGITS  UPPERCASE  '_'  lowercase

L1      MOVE.B  0(BUFPTR,CURS.W),C      C := BUFPTR^[CURS];

	CMP.B   #'Z',C                  IF C <= 'Z' THEN
	BHI.S   L2
	CMP.B   #'A',C                    IF C <  'A' THEN    (...ELSE LETTER)
	BCC.S   L4

	CMP.B   #'9',C                      IF C <= '9' THEN
	BHI.S   L5
	CMP.B   #'0',C                        IF C <  '0' THEN  (...ELSE DIGIT)
	BCC.S   L4
	BRA.S   L5                              EXIT LOOP (NOT IN IDENTIFIER)

L2      CMP.B   #'a',C                  ELSE IF C <  'a' THEN
	BCC.S   L3

	CMP.B   #'_',C                         IF C <> '_' THEN  (...ELSE OK)
	BEQ.S   L4
	BRA.S   L5                               EXIT LOOP (NOT IN IDENTIFIER)

L3      CMP.B   #'z',C                     ELSE IF C <= 'z' THEN (...ELSE EXIT)
	BHI.S   L5
	SUB.B   #'a'-'A',C                          CONVERT TO UPPERCASE

L4      ADDQ.W  #1,COUNT                C IS IN IDENTIFIER
	MOVE.B  C,0(IDPTR,COUNT.W)      IDENT[COUNT] := C
	ADDQ.W  #1,CURS
	BRA     L1                      LOOP BACK FOR NEXT CHARACTER

*       (END OF IDENTIFER LOOP)

L5      MOVE.B  COUNT,(IDPTR)           IDENT[0] := CHR(COUNT), SET LENGTH
	SUBQ.W  #1,CURS                 DESCPTR^.CURSOR := CURS - 1
	MOVE.W  CURS,CURSOR(DESCPTR)

	MOVE.L  DESCPTR,-(SP)           SAVE REGISTERS
	SUBQ.L  #8,SP                   RESERVE SPACE FOR RESULTS
	PEA     SYMTREE
	PEA     8(SP)                   ADDRESS OF SYNODE
	PEA     (IDPTR)
	BSR     TREESEARCH
	MOVEM.L (SP)+,TRS/SYNODE/DESCPTR   RETRIEVE RESULTS, RESTORE REGS
	CLR.L   DOP(DESCPTR)            DESCPTR^.OP & SY  := 0
	TST.L   TRS                     IF TREESEARCH = 0 THEN
	BNE.S   L6

	MOVE.B  SY(SYNODE),DSY+1(DESCPTR) IDENTIFIER IS A RESERVED WORD
	MOVE.B  OP(SYNODE),DOP+1(DESCPTR)     SO COPY OVER SY AND OP FIELDS

L6      RTS                             END

	DEF     IDSEARCH

	END
@


56.2
log
@
pws2rcs automatic delta on Wed Jan 27 11:57:27 MST 1993
@
text
@d1 101
@


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@a0 101

*       PROCEDURE IDSEARCH(DESCRIBE: DESCPTR; BUFFER: BUFPTR);
*
*       TYPE NODE = PACKED RECORD
*               KEY:    ^STRING;
*               LLINK, RLINK: ^NODE;
*               SY, OP: 0..255;
*            END;
*
*            DESCPTR = ^ RECORD
*               ID:     STRING[80];
*               OP:     0..20;
*               SY:     0..70;
*               CURSOR: CURSRANGE; {shortint}
*            END;
*
	NOSYMS

	REFR    SYMTREE                 ROOT NODE OF RESERVED IDENTIFIER TREE
	REFR    TREESEARCH

SY      EQU     12                      NODE FIELD OFFSETS
OP      EQU     13

DOP     EQU     82                      DESCRIPTOR FIELD OFFSETS
DSY     EQU     84
CURSOR  EQU     86

DESCPTR EQU     A4
BUFPTR  EQU     A3
RETURN  EQU     A2
SYNODE  EQU     A1
IDPTR   EQU     DESCPTR

COUNT   EQU     D7
C       EQU     D6
CURS    EQU     D5
TRS     EQU     D4

IDSEARCH        EQU *
	MOVEM.L (SP)+,RETURN/BUFPTR/DESCPTR  FETCH PARAMETERS FROM STACK
	MOVE.L  RETURN,-(SP)
	MOVE.W  CURSOR(DESCPTR),CURS    CURS := DESCPTR^.CURSOR
	CLR.W   COUNT                   COUNT := 0

* ASCII SEQUENCE:   DIGITS  UPPERCASE  '_'  lowercase

L1      MOVE.B  0(BUFPTR,CURS.W),C      C := BUFPTR^[CURS];

	CMP.B   #'Z',C                  IF C <= 'Z' THEN
	BHI.S   L2
	CMP.B   #'A',C                    IF C <  'A' THEN    (...ELSE LETTER)
	BCC.S   L4

	CMP.B   #'9',C                      IF C <= '9' THEN
	BHI.S   L5
	CMP.B   #'0',C                        IF C <  '0' THEN  (...ELSE DIGIT)
	BCC.S   L4
	BRA.S   L5                              EXIT LOOP (NOT IN IDENTIFIER)

L2      CMP.B   #'a',C                  ELSE IF C <  'a' THEN
	BCC.S   L3

	CMP.B   #'_',C                         IF C <> '_' THEN  (...ELSE OK)
	BEQ.S   L4
	BRA.S   L5                               EXIT LOOP (NOT IN IDENTIFIER)

L3      CMP.B   #'z',C                     ELSE IF C <= 'z' THEN (...ELSE EXIT)
	BHI.S   L5
	SUB.B   #'a'-'A',C                          CONVERT TO UPPERCASE

L4      ADDQ.W  #1,COUNT                C IS IN IDENTIFIER
	MOVE.B  C,0(IDPTR,COUNT.W)      IDENT[COUNT] := C
	ADDQ.W  #1,CURS
	BRA     L1                      LOOP BACK FOR NEXT CHARACTER

*       (END OF IDENTIFER LOOP)

L5      MOVE.B  COUNT,(IDPTR)           IDENT[0] := CHR(COUNT), SET LENGTH
	SUBQ.W  #1,CURS                 DESCPTR^.CURSOR := CURS - 1
	MOVE.W  CURS,CURSOR(DESCPTR)

	MOVE.L  DESCPTR,-(SP)           SAVE REGISTERS
	SUBQ.L  #8,SP                   RESERVE SPACE FOR RESULTS
	PEA     SYMTREE
	PEA     8(SP)                   ADDRESS OF SYNODE
	PEA     (IDPTR)
	BSR     TREESEARCH
	MOVEM.L (SP)+,TRS/SYNODE/DESCPTR   RETRIEVE RESULTS, RESTORE REGS
	CLR.L   DOP(DESCPTR)            DESCPTR^.OP & SY  := 0
	TST.L   TRS                     IF TREESEARCH = 0 THEN
	BNE.S   L6

	MOVE.B  SY(SYNODE),DSY+1(DESCPTR) IDENTIFIER IS A RESERVED WORD
	MOVE.B  OP(SYNODE),DOP+1(DESCPTR)     SO COPY OVER SY AND OP FIELDS

L6      RTS                             END

	DEF     IDSEARCH

	END
@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@@


50.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


49.1
log
@Automatic bump of revision number for PWS version 3.24b
@
text
@@


48.1
log
@Automatic bump of revision number for PWS version 3.24a
@
text
@@


47.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


46.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


45.1
log
@Automatic bump of revision number for PWS version 3.23C
@
text
@@


44.1
log
@Automatic bump of revision number for PWS version 3.23B
@
text
@@


43.1
log
@Automatic bump of revision number for PWS version 3.23aA
@
text
@@


42.1
log
@Automatic bump of revision number for PWS version 3.23e
@
text
@@


41.1
log
@Automatic bump of revision number for PWS version 3.23d
@
text
@@


40.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


39.1
log
@Automatic bump of revision number for PWS version 3.23b
@
text
@@


38.1
log
@Automatic bump of revision number for PWS version 3.23a
@
text
@@


37.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


36.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


35.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


34.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


33.1
log
@Automatic bump of revision number for PWS version 3.22D
@
text
@@


32.1
log
@Automatic bump of revision number for PWS version 3.22C
@
text
@@


31.1
log
@Automatic bump of revision number for PWS version 3.22B
@
text
@@


30.1
log
@Automatic bump of revision number for PWS version 3.22A
@
text
@@


29.1
log
@Automatic bump of revision number for PWS version 3.22b
@
text
@@


28.1
log
@Automatic bump of revision number for PWS version 3.3b
@
text
@@


27.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


26.1
log
@Automatic bump of revision number for PWS version 3.3 Synch
@
text
@@


25.1
log
@Automatic bump of revision number for PWS version 3.2Y
@
text
@@


24.1
log
@Automatic bump of revision number for PWS version 3.2
@
text
@@


23.1
log
@Automatic bump of revision number for PWS version 3.2P
@
text
@@


22.1
log
@Automatic bump of revision number for PWS version 3.2N
@
text
@@


21.1
log
@Automatic bump of revision number for PWS version 3.2M
@
text
@@


20.1
log
@Automatic bump of revision number for PWS version 3.2L
@
text
@@


19.1
log
@Automatic bump of revision number for PWS version 3.2K
@
text
@@


18.1
log
@Automatic bump of revision number for PWS version 3.2J
@
text
@@


17.1
log
@Automatic bump of revision number for PWS version 3.2I+
@
text
@@


16.1
log
@Automatic bump of revision number for PWS version 3.2I
@
text
@@


15.1
log
@Automatic bump of revision number for PWS version 3.2H
@
text
@@


14.1
log
@Automatic bump of revision number for PWS version 3.2G
@
text
@@


13.1
log
@Automatic bump of revision number for PWS version 3.2F
@
text
@@


12.1
log
@Automatic bump of revision number for PWS version 3.2E
@
text
@@


11.1
log
@Automatic bump of revision number for PWS version 3.2D
@
text
@@


10.1
log
@Automatic bump of revision number for PWS version 3.2C
@
text
@@


9.1
log
@Automatic bump of revision number for PWS version 3.2B
@
text
@@


8.1
log
@Automatic bump of revision number for PWS version 3.2A
@
text
@@


7.1
log
@Automatic bump of revision number for PWS version 3.2l
@
text
@@


6.1
log
@Automatic bump of revision number for PWS version 3.2k
@
text
@@


5.1
log
@Automatic bump of revision number for PWS version 3.2j
@
text
@@


4.1
log
@Automatic bump of revision number for PWS version 3.2i
@
text
@@


3.1
log
@Automatic bump of revision number for PWS version 3.2h
@
text
@@


2.1
log
@Auto bump rev number to 2.1 for sys 3.2e.
@
text
@@


1.1
log
@Initial revision
@
text
@@
