TABLE OF UNITS AND PROCEDURES RIGAL INTEGRATED ENVIRONMENT V.2.04 ------------------------------------------ FORMAT OF TABLE : UNIT NAME %INCLUDED FILE NAME (PROCEDURE NAME IF IT<>FILE_NAME) PROCEDURE NAME = EXPLAINATION == IMPLEMENTED RIGAL KEYWORDS ------------------------------------------- PROGRAM RIG_CHE; = CHECKER OF RIGAL SYNTAX DEFINE = COMMON TYPES DEFPAGE = VIRTUAL MEMORY MANAGER GETS1,GETS2,GETS5 = TAKES VIRTUAL MEMORY POINTS, POINTR = REFERS TO VIRTUAL MEMORY PUTATM = TAKES VIRTUAL ATOM SPACE POINTA = REFERS TO VIRTUAL ATOM SPACE REOPEN = Re-opens S-space GNVAR = COMMON VARIABLES NEF = PTR ( POINTER TO LIST ) OPERATIONS NEXT = MOVING PTR TO NEXT ELEMENT FIRST = STARTING PTR FROM LIST START EQUATOMS = COMARING TWO ATOMS LCONC == !. CRLST == (. .) CRLISTFR == (. .. .) CRTREE == <. .> CRTREEFR == <. .. .> CHANGEEL == $E[$a]:=... PLNUM == PTR -> integer MKNUMB == integer -> atom ADDEL3 == ++:=<.A:B.> ADDTRE == ++:=<.A:B,C:D.> EXTERNS = COMMON CHECKER SUBPROCEDURES %MIST (ERR) = SYNTAX ERROR HANDLER %TABR (TABRULE) = RULES AND VARIABLES TABLE CREATOR DUL,PUSHL,DES,NEXTL,VAL,EL = TEST AND CHANGE CONDITION OF LIST MARKED BY VARIABLE L BLTN = TEST BUILT-IN RULE NAME EXPRU EXPR = EXPRESSION ANALYSIS OPERU OPERATOR = STATEMENT ANALYSIS INSTRUC = /../ ANALYSIS PICTU PICT = PATTERN ANALYSIS %SPECADR = SPECIAL CONSTANTS RULEU RULE = RULE ANALYSIS SIMPLERULE = BRANCH-OF-RULE ANALYSIS CHEPROU CHEPRO = PROLOG OF CHECK CHENU CHEPIL = EPILOG AND TABLES TEST LEYER LEY = RIGAL LEXIC SCANNER STLEV = SCANNER VARIABLES CH CHE11 = MAIN CHECKER PROCEDURE CFGU = TAKES AND RETURNS CONFIGURATION --------------------------------------------- PROGRAM RIG_INT; = RIGAL built-in interpreter PROGRAM INT; = RIGAL independent interpreter DEFINE ^ DEFPAGE ^ GLOVAR = COMMON VARIABLES ERR = RUNTIME ERRORS HANDLER NEF ^ DOUTU DOUT = #CALL_PAS(12,13 ..) - NICE PRINT POUTLEXU %POUTX (POUT) == PRINT USEPASU == #CALL_PAS PASCAL interface -> LEDER, LEYER, TABUSE > SCAN - new user-oriented lexical analyser RUSCODE = russian identifiers coding LEDER LED = PASCAL LEXIC SCANNER %LEDPRO = PROLOG OF PASCAL LEXIC SCANNER LEYER LEY = RIGAL LEXIC SCANNER STLEV = SCANNERS VARIABLES TABUSE = TABLES MANAGER >TABDESK = DESCRIPTORS AND MEMORY >TN = NUMERIC TABLE UTILITY >TA = ATOMIC TABLE UTILITY >TSELECT = TREE PRIMITIVES SELOP3 SETSEL3 BEI %BLTIN = BUILT_IN RULES %PARMINT == #PARM = COMMAND LINE PARAMETERS %EXPLODE == #EXPLODE %IMPLODE == #IMPLODE %NAMEOP == :: %CONCOP == !! ARU %ARITHM = ARITHMETICS %COPYOP == COPY %INDXOP == [7] %AUMINS == -7 %SELCTR == A.B %EQOP == = %EQOP1 == = %ADD == + PSU PUSH = ADDING VALUE TO STACK PRATOM = PRINT ATOM PRBLT = PRINT BUILT-IN RULE %COMPNAMES = COMPARE NAMES SRCHRULE = SEARCH RULE IN CODE SRCHRULE1 = SEARCH RULE IN CODE LASTOP == LAST CI %ALTER == ( ! ) %STARLIST == (* *) %FACULT == [ $A ] %TREE == <. $A : $B .> %LIST == (. .) %SPATT == S'( ) V'( ) %PATTERN = PATTERN DISPATCHER %SIMPLE == ;; %RULE == #h ... ## %CONLST = MAKE LIST %CONTRE = MAKE TREE %EXPRESS = EXPRESSION DISPATCHER %OBJEXPR = LEFTSIDE DISPATCHER %ASSGN == := %COND == IF %LOOP == FORALL LOOP %INOUT == OPEN << <] @ SAVE LOAD PRINT %STATEMENT = STATEMENT DISPATCHER PROLOGU PROLOG = PROLOG AND CODE READING EPILOG = EPILOG INT1 INT11 = MAIN PROCEDURE CFGU = TAKES AND RETURNS CONFIGURATION ---------------------------------------- PROGRAM XCRG; = RIGAL COMPILED PROGRAM = ==== GENERATED PART ================= XCRG = FIRST RULE OF PROGRAM XCRG_0 = OTHER RULES OF PROGRAM XCRG_1,XCRG_2 = RULES IN INCLUDED PART OF PROGRAM XCRG_C = COMMON (LAST) VARIABLES RMI = RULE DISPATCHER XCRG_N = CONSTANT (ATOMS) LOADING TO MEMORY = ==== SUPPORT BY RUNTIME LIBRARY ==== DEFINE ^ DEF180 = COMMON TYPES DEFPAGE ^ NEF ^ USEPASU ^ ( Same structure as in interpreter ) C1 %BLTINC (BLTIN) = BUILT_IN RULES %PARMTAKE == #PARM = COMMAND LINE PARAMETERS %POUTX (POUT) == PRINT ER,ERRSTR = RUNTIME ERRORS HANDLER D,D1 = STATISTIC HANDLER NUMVAL = CONVERTION ATOM TO NUMBER C2 CONCOP == !! INDXOP == [7] SELOP == A.B SETIND == [7]:= SETSEL == A.B:= ADDNUM == +:=7 COPYOP == COPY C3 EPILOG == EPILOG PROLOG == PROLOG OUTXT == <<,<] FOR EXPRESSIONS OUTATM == <<,<] FOR ATOMS OPN == OPEN LOASAV == LOAD SAVE EXPLOD == #EXPLODE IMPLOD == #IMPLODE BLTIN1 = BUILT_IN RULE DISPATCHER CLSFIL == CLOSE C4 EQOP = COMPARING DISPATCHER VARPAT = PATTERN IS VARIABLE ATMPAT = PATTERN IS ATOM EQNUM = COMPARES NUMBERS EQATOM = COMPARES ATOMS -------------------------------------- RIG_EDIT PROGRAM WED = COMMON DISPATCHER WEDVAR = VARIABLES AND KEYBOARD DRIVER WIN = WINDOWS MAKER WAR = MOVING AND CHANGING SCREEN WIO = INPUT/OUTPUT,PICK,DIRECTORY FRAMES = SCREEN FRAMES & BOXES CFGU = TAKES AND RETURNS CONFIGURATION ======================================