WELCOME TO RIGAL PROGRAMMING SYSTEM =================================== RIGAL 2.28 This README file contains important, last minute information about Rigal 2.28 TABLE OF CONTENTS ----------------- 0. You need Turbo Pascal TPC.EXE version 6.0 1. How to install Rigal 2. List of files on the disks 3. Implementation restrictions 4. Difference between 2.28 and the previous versions 0. YOU HAVE TO OBTAIN Turbo Pascal, version 6.0 -------------------------------------------------------- The programming system will allow you to check and interprete RIGAL code without Turbo Pascal Compiler. In order to compile RIGAL code to efficient executable file Turbo Pascal compiler version 6.0 is necessary. File TURBO.TPL is in the distribution and it must be used during compilation with Turbo Pascal. You have to copy TPC.EXE to the directory where you installed RIGAL system. Other versions of Turbo Pascal are NOT supported. To be more sure, you can verify that the length of your file TPC.EXE is 69196 bytes. 1. HOW TO INSTALL RIGAL ----------------------- At least 2 MBytes of disk memory are necessary to install Rigal. Copy all the files to any directory of your computer. C:\RIGAL directory is recommended. Look through *.BAT files and modify drive names if necessary. Copy *.BAT to any directory included in DOS PATH. 2. LIST OF FILES ON THE DISKS ----------------------------- Rigal integrated environment ---------------------------- RIG EXE called by RIG.BAT RIG BAT Integrated RIGAL environment Version A Built-in Text Editor, Checker and Interpreter. Default work file is WORK.RIG. You can call RIG.BAT from ANY directory, Parameter: file name without .RIG RIG1 EXE called by RIG1.BAT RIG1 BAT - same as RIG.BAT, but Version B. Includes all features of version A, the Compiler and some utilities. Command line parameters: ( for advanced users ) Additionally to RIG.BAT you can add parameter /E or /D - this means using this drive as VIRTUAL . /M3000 makes common memory for fast tables available through #CALL_PAS(61-66) Command line programs --------------------- RPNT BAT - for showing Rigal object if it was previously saved to the disk. Parameters are file name and the components of the object. INT EXE called by RINT BAT - Rigal interpreter. Parameters : 1th parameter - an intermediate code file name without extension. 2nd parameter - PRINT-file name. If you want to have output to the screen - this parameter must be "s". If you don't want output - "NUL" If you want to TURN ON debugging from program start then add "+" at the end of parameter, e.g. Debugging messages go always to same PRINT-file. For advanced users: Additionally to PRINT file: you can add parameter /E or /D - this means using this drive as VIRTUAL. /M3000 makes common memory for fast tables available through #CALL_PAS(61-66) 3rd and next parameters are user's parameters. You can read them in your program if you use built_in rule #PARM(T) which will return list of parameters. If you call > RINT CODE1 s AA BB CC then #PARM(T) will return (. AA BB CC .) . RIGCHECK EXE It CHECKS Rigal program. 1st parameter - file name without extension. RIGCOMP BAT It COMPILES Rigal program. 1st parameter - file name. No extensions. No path. 2nd parameter - RIGAL distributive directory path. DOCUMENTS in ENGLISH -------------------- README - this file SHORT TXT - Brief description of Rigal in ENGLISH (published in ACM Sigplan Notices, 12, 1990) LANGDESC TXT - Language description in ENGLISH USERGUID TXT - User's guide in ENGLISH For advanced users: SOURGUID TXT - Describes porting to another operating systems PROGLIST TXT - Implementation structure LABEL TXT - Label for the distributers RAPID TXT - Notes on rapid programming DOCUMENTS in RUSSIAN -------------------- Note: These documents are in separate disk. They usually are NOT included ! READ ME - how to read and print russian in IBM/PC OPJAZ1 TXT - Rigal language description OPJAZ2 TXT OPJAZ3 TXT RUKPRG1 TXT - Rigal Programmer's Guide RUKPRG2 TXT RUKPRG3 TXT RUKPRG4 TXT DEMO DISK --------- Note: Demo is in separate disk ! DEMO BAT - Run demo film (20 minutes) RIGAL DOC - Very short description of the language README 1ST - How to run demo EXAMPLES -------- WORK RIG - Simplest example EX1 RIG - takes Head and Tail of list HANOI RIG - Hanoi tower example EX2 RIG - Analysis of an arithmetical expression EX TXT - An example of expression TOYLAN RIG - Toylan language compiler and interpreter A TOY - input example for Toylan ANALYSE RIG - Small language - Analysis part BCOMP RIG - Small language - Code generation part GRAM1 RIG - Small language - Abstract tree grammar GRAM2 RIG - Small language - Source grammar INTER RIG - Small language - Interpreter EX1 TXT - Small language source example LINTA RIG - Rigal Lint demo program TLIST RIG - Fast numeric tables demo TTREE RIG - Fast atomic tables demo Files for Integrated Environment -------------------------------- Note: Don't start these files from DOS command prompt ! RIG_CHE EXE RIG_EDIT EXE RIG_INT EXE CMPLBEG BAT CMPLEND BAT RIG_CRF EXE RIG_LINT EXE RIG_PNT EXE Files for RIGAL Compilation --------------------------- Note: Don't start these files from DOS command prompt ! ANRIG EXE 1st part of Compiler GENRIG EXE 2nd part of Compiler TPC EXE Bordland's Pascal Compiler TURBO TPL Run-time Library of Compiler USEPASU PAS User's pascal routines SCAN PAS User's scanner When Rigal Program is compiled to e.g. AAA.EXE you can press AAA and such parameters: 1st - PRINT file name - same as in RINT but "+" not allowed. | For advanced users: | Additionally to PRINT file: you can | add parameter /E or /D - this means | using this disk as VIRTUAL ! | /M3000 makes common memory for fast tables | available through #CALL_PAS(61-66) 2nd and next parameters are user's parameters as in RINT. 3. IMPLEMENTATION RESTRICTIONS ------------------------------ 1. LETTERS are not only A..Z,a..z,_ Some symbols {,},~,`,^ and Chr(128)-Chr(255) may be (carifully) used in Rigal & PASCAL lexic. Nevertheless it is not garanteed in future versions. 2. String of text output may be only of 80 bytes width 3. Built-in rule #COPY does not exist. Use key word COPY with the same effect: $A:=COPY($B). 4. Maximum 255 variables in every rule, maximum 400 rules in programm maximum 1000 variabes active in interpreter's stack maximum 80 bytes atom length maximum 750 lines allows #CALL_PAS(4 ..) for finding coordinate maximum 3 files may be (in depth) included in Rigal program maximum 5 text files may be open by OPEN statement maximum 20000 tokens (approximately) Rigal program size. 4. DIFFERENCE BETWEEN 2.05 AND PREVIOUS VERSIONS ------------------------------------------------ Difference between 1.XXX and 2.XXX versions ------------------------------------------- 1. The codes of the objects saved to the disk are NOT compatible. 2. #CALL_PAS has been extended, interface description has changed Difference between 2.04 and 2.00 -------------------------------- 1. FORALL BRANCHES & SELECTORS added to the language 2. New #CALL_PAS(35,36,37,38) - user-oriented lexical analyser, file SCAN.PAS can be modified by the user. 3. Some implementation bugs were corrected. Diffrence between 2.28 and 2.04 ------------------------------- 1. Virtual page manager optimized; Speed up 20 % 2. Some source files contain {$IFDEF WIN} directive used for "Rigal for Windows" version. 3. Some errors were corrected 4. Added FLOAT arithmetic module #CALL_PAS(80) 5. Scanner receives #FATOM atoms when real numbers are processed; These numbers are represented in 6-byte format. They are printed out in 12-digit format. 6. Non-numeric atoms now can be compared in lexical order: A