Разработка прототипа системы управления объектно-ориентированной базой данных

         

Работа с базовыми объектами


PROGRAM $SYSOBJS

B16

LONG VAR ADRSTR   LONG VAR LENSTR

 0 VALUE N_OID   4 VALUE N_BHR   8 VALUE N_KH

0C VALUE N_TRC  10 VALUE N_VAL  14 VALUE N_HIS

13 VALUE JRECLEN

: G_OID  N_OID GOTO ;  : W_OID G_OID OLS ;

: G_BHR  N_BHR GOTO ;  : W_BHR G_BHR OLS ;

: G_KH   N_KH  GOTO ;  : W_KH  G_KH  OLS ;

: G_TRC  N_TRC GOTO ;  : W_TRC G_TRC OLS ;

: G_VAL  N_VAL GOTO ;  : W_VAL G_VAL OLS ;

: G_HIS  N_HIS GOTO ;  : W_HIS G_HIS OLS ;

18 VALUE SZ_HDROBJ

: W_NULLBLK -1 OLS -1 OLS 0 OLS 0 OLS ;

[Описание системных объектов]

ACT VAR DATWR

LONG VAR OIDV

LONG VAR VALINT

[**** ROOT ****]

SZ_HDROBJ HSIZE+ HSIZE+ 4+ VALUE SIZE_ROOT

:: : CLONE_ROOT '' DATWRROOT ! DATWR NEWOBJ1 ;

:: : CLONE_INT ! VALINT  '' DATWRINT  ! DATWR  NEWOBJ1 ;

:: : CLONE_SET  4 CLONE_INT ;

:: : CLONE_SEQ  4 CLONE_INT ;

:: : CLONE_AGG 0C CLONE_INT ;

:: : CLONE_STR [A L] ! LENSTR ! ADRSTR '' DATWRSTR ! DATWR

                    LENSTR SIZE_ROOT + 4- ! SIZE_X NEWOBJ3 ;

:: : SET_BHR [OID_BHR OID] N_BHR E2 SET_X1 ;

:: : SET_KH  [OID_KH  OID] N_KH  E2 SET_X1 ;

   : SET_X1 [ADR OID] C2C2 N_TRSC E2 NEWJREC

                   C LOADOBJ FINDOID C BR- DD SET_X11 ;

   : SET_X11 PrioQueNUM 2 Channels !NCHAN GOTO OLS ;

:: : SET_INT [int oid] C HIPRIO PUSH ! VALINT 4 '' OLSI POP NEWDREC ;

   : OLSI VALINT OLS ;

:: : GET_INT [OID] TODATA ILS ;

:: : TODATA [OID] C LOADOBJ C HIPRIO FINDOID PrioQueNUM

             3 Channels !NCHAN 0 GOTO ;

:: : SET_STR [A L OID] C HIPRIO

             PUSH ! LENSTR ! ADRSTR LENSTR '' OLSS POP NEWDREC ;

   : OLSS    ADRSTR LENSTR DO DWS1 D ;

ACT VAR BYTE_STR

:: : PRINT_STR '' PRIS ! BYTE_STR ACCESS_STR ;

:: : COPY2BUF_STR '' C2BUF ! BYTE_STR ACCESS_STR ;

:: : ACCESS_STR [OID] TODATA LENVMEM 0 GOTO DO BYTE_STR ;

   : PRIS IBS TOB ;

   : C2BUF IBS ABUF !TB !1+ ABUF ;

: DD_ROOT

     OIDV OLS 0 OLS 0 OLS 0 OLS SZ_HDROBJ HSIZE+ OLS [val]

     SZ_HDROBJ OLS [his]

     W_NULLBLK [W_NULLBLK] DATWR ;




Содержание  Назад  Вперед






Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий