 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
======================================

