| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- echo off
- xtra
- clear +cyan,black,blue
- big 3,,7,University
- big 12,,7,of
- big 19,,7,Latvia
- call ~~wait 60 %1
- clear
- big 9,,8, PRESENTS
- call ~~wait 35 %1
- clear
- big 1,,7,new programming
- big 6,,7,language
- call ~~wait 5 %1
- color 12
- big 16,,8,R{{{I{{{G{{{A{{{L
- call ~~wait 60 %1
- rem ---------------------------------------------- 1
- clear
- color 14
- box 2,,50,16,2
- put 3,,This is DEMO film about RIGAL.
- put 4,,Contains 20 pages.
- put 5,,You can SUSPEND it by pressing any key
- put 6,,and CONTINUE by pressing "ENTER" key
- put 8,,To change speed - run
- put 9,, DEMO 10 (fast) or
- put 10,, DEMO 300 (low speed)
- put 12,,DEMO is arranged for IBM/PC/XT/AT or compatible,
- put 13,,with any graphic card;
- put 14,,DEMO requires 400 KBytes free RAM.
- put 16,,DEMO is not copy protected.
- put 18,,Written by Vadim Engelson Univ. of Latvia RIGA
- call ~~wait 170 %1
- rem ---------------------------------------------- 2
- clear 14,0,1
- color 14
- big 1,,7,Rigal assigned for
- color 14,1
- box 9,,40,13,2
- call ~~wait 10 %1
- color 15,1
- put 10,,PARSING
- put 12,,PROGRAM OPTIMIZATION
- put 14,,CODE GENERATION
- put 16,,STATIC ANALYSIS OF PROGRAMS
- put 18,,PREPROCESSOR AND CONVERTOR WRITING
- put 20,,PROGRAM TRANSFORMATION
- call ~~wait 150 %1
- rem --------------------------------------------- 3
- clear 14,0,1
- color 14
- big 1,,7,Rigal data types are
- color 14,0
- box 7,5,20,2,2
- color 15,1
- put 8,9,ATOMS :
- color 14,0
- put 9,8,ABC 37 ':='
- box 7,45,20,2,2
- color 15,1
- put 8,55,LISTS :
- color 14,0
- put 9,50, (. AA BB CC .)
- box 12,27,25,8,2
- color 15,1
- put 13,,TREES :
- color 14,0
- put 14,29,. S1 : AB , S2 : CD .
- put 14,28,12
- put 14,50,14
- color 15,0
- put 16,, represents tree
- put 17,, / \
- put 18,, S1/ \S2
- put 19,34,/
- put 19,45,\
- color 0,7
- put 20,32,AB
- put 20,46,CD
- call ~~wait 200 %1
- rem ------------------------------------------ 4
- clear 14,0,1
- color 14
- big 1,,7,can manipulate with
- color 14,1
- box 7,,40,14,2
- call ~~wait 10 %1
- color 15,1
- put 8,,VARIABLES
- put 10,,are
- color 14,0
- put 12,,$AA $SUMMA
- color 15,1
- put 14,,We assign them ANY value
- color 14,0
- put 16,, $SUMMA := 77+2 ;
- put 18,, $NAME_OF_BOY := JOHN;
- put 20,, $FR := (. AA BB CC .);
- call ~~wait 130 %1
- rem ------------------------------------------- 5
- clear 14,0,1
- color 14
- big 1,,7,can operate with
- color 14,1
- box 7,,40,15,2
- call ~~wait 10 %1
- color 15,1
- put 8,,L I S T S
- put 10,,Adds element to list
- color 14,0
- put 11,,$FR := (. AA BB CC .) !. DD;
- color 15,1
- put 12,,After the execution value of $FR is
- color 14,0
- put 13,, (. AA BB CC DD .);
- color 15,1
- put 15,,Takes element of list :
- put 16,, $FR [2] is
- color 14,0
- put 17,, BB
- color 15,1
- put 19,, Concatenates :
- put 20,, $FR !! (. KKK AA .) is
- color 14,0
- put 21,, (. AA BB CC DD KKK AA .);
- call ~~wait 200 %1
- rem ------------------------------------------ 6
- clear 14,0,1
- color 14
- big 1,,7,can operate with
- color 14,1
- box 7,,40,15,2
- call ~~wait 10 %1
- color 15,1
- put 8,,T R E E S
- color 14,0
- put 10,,$M:= . S1 : AAA , S2 : BBB . ;
- put 10,29,12
- put 10,54,14
- color 15,1
- put 11,,Takes component of tree :
- put 12,,Value of $M.S1 is
- color 14,0
- put 13,, AAA
- color 15,1
- put 15,,Adds new branch to tree:
- color 14,0
- put 16,,$NEW := $M ++ . R2 : 33 .
- put 16,41,12
- put 16,53,14
- color 15,1
- put 17,, in result value of $NEW is
- color 14,0
- put 18,, . S1 : AAA , S2 : BBB , R2 : 33 . ;
- put 18,21,12
- put 18,55,14
- call ~~wait 220 %1
- rem ---------------------------------------------- 7
- clear 14,0,1
- color 14
- big 1,,7,P{{A{{R{{S{{I{{N{{G
- color 14,1
- box 7,,55,15,2
- call ~~wait 10 %1
- color 15,1
- put 8,,For P A R S I N G we use
- put 9,,PATTERNS.
- put 11,,They may be written like
- put 12,,BACKUS - NAUR FORMULAE (BNF).
- put 14,,If SS is any pattern then
- color 14,0
- put 16,14,(* SS *)
- put 18,14,(+ SS +)
- put 20,14,[ SS ]
- put 22,14,(SS1 ! SS2)
- color 15,1
- put 16,33,0
- put 16,35,or some times SS
- put 18,33,1
- put 18,35,or some times SS
- put 20,33,SS or nothing
- put 22,33,SS1 or SS2
- color 15,0
- put 15,63,*
- put 16,57,( SS )
- put 17,65,+
- put 18,59,( SS )
- call ~~wait 180 %1
- CALL ~~contin.BAT %1
- rem ----------------------------------------- 8
- clear 14,0,1
- color 14
- big 1,,7,R{{U{{L{{E
- color 14,1
- box 7,,53,15,2
- call ~~wait 10 %1
- color 15,1
- put 8,,R U L E is the main control tool in Rigal.
- put 10,22, IN RIGAL :
- put 10,43, IN PASCAL :
- color 14,0
- put 11,19,#SUMMA
- put 12,23, $A $B
- put 13,23, / $C := $A+$B ;
- put 14,23, RETURN $C /
- put 15,19,##
- put 17,19, -- call of #SUMMA:
- put 18,19, $E:=#SUMMA(5 6)
- color 15,0
- put 11,40, Function Summa
- put 12,43, (a:int;b:int):int;begin
- put 13,43, c:=a+b;
- put 14,43, Summa:=c;
- put 15,40, end;
- put 17,43, { call of Summa }
- put 18,40, e:=Summa(5,6);
- color 15,1
- put 20,,Rule in RIGAL - like Function in PASCAL
- call ~~wait 190 %1
- rem ------------------------------------------- 9
- clear 14,0,1
- color 14
- big 1,,2,list and tree
- big 5,,2,patterns
- color 14,1
- box 10,,55,12,2
- call ~~wait 10 %1
- color 15,1
- put 11,,WE CAN TRAVERSE LISTS :
- color 14,0
- put 13,20,#STATEMENT_LIST
- put 14,25,(. (* #STATEMENT *) .)
- put 15,20,##
- color 15,1
- put 16,,... AND TREES:
- color 14,0
- put 17,20,#EXPRESSION
- put 18,25,[. OPERATION : ( '+' ! '-' ),
- put 18,25,12
- put 19,28, ARGUMENT_1 : #FACTOR ,
- put 20,28, ARGUMENT_2 : #FACTOR .]
- put 20,51,14
- put 21,20,##
- call ~~wait 220 %1
- rem --------------------------------------------- 10
- clear 14,0,1
- color 14
- big 1,,7,T{{W{{O{{{{{R{{U{{L{{E{{S
- color 14,1
- box 7,,50,15,2
- call ~~wait 10 %1
- color 15,1
- put 8,,R U L E IS like BACKUS-NAUR FORMULA:
- put 10,22,IN RIGAL
- put 10,43,IN B N F
- color 14,0
- put 11,17,#PROGRAM
- put 12,20, 'BEGIN'
- put 13,20, (* #STATEMENT *)
- put 14,20, 'END'
- put 15,17,##
- put 16,17,#STATEMENT
- put 17,20, #VARIABLE
- put 18,20, ':='
- put 19,20, #EXPRESSION
- put 20,17,##
- color 15,0
- put 11,40,program ::=
- put 12,44, 'BEGIN'
- put 12,56,*
- put 13,47, statement
- put 14,44, 'END'
- put 16,40,statement ::=
- put 17,44, variable
- put 18,44, ':='
- put 19,44, expression
- color 15,1
- put 21,,This is the way to
- put 22,,describe and parse program structure
- call ~~wait 150 %1
- clear 14,0,1
- big 1,,7,new programming
- big 6,,7,language
- call ~~wait 5 %1
- color 12
- big 16,,8,R{{{I{{{G{{{A{{{L
- call ~~wait 60 %1
- clear
- color 14
- big 1,,7,powerful
- big 6,,7,and simple
- big 12,,7,tool for writing
- big 18,,7,compilers
- call ~~wait 100 %1
- call ~~demo %1
|