|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 16988 (0x425c)
Types: TextFile
Names: »RTP35GRA.M«
└─⟦7d3116ab8⟧ Bits:30010531 BOBS Sourcer RTP25,RTP11,RTP86,RTP ASN1 grammatikken DVBS1.SW2114.src.2.6-9 BB920506
└─⟦this⟧ »RTP35\RTP35GRA.M«
options(1, 3, 28, 32, 34)\r
metasymbols m1 = ~ m2 = ! m3 = % m4 = @\r
\r
and array as\r
begin beginbody\r
case channel const continueloop\r
div do downto\r
else empty end endloop error exit exitloop export external\r
for forward function\r
goto\r
if in\r
konst\r
label lock lockmes loop\r
mod\r
name not \r
of or otherwise\r
packed prefix pool procedure process\r
realkonst record repeat\r
set shift string\r
then to type typesize\r
until\r
var varsize\r
while with\r
xor\r
\r
+ - * / ' " < > <>\r
<= >= ( ) (. .) ^\r
= := :=: . , ; : .. # ***\r
<* -- ~ (* ~ \r
? !\r
(: :) &\r
\r
;;\r
stringch = '\r
;;\r
goalsymbol = program\r
;;\r
comment = (* ;; *) \r
;;\r
\r
<program> ::= 000 code ::= <external part> <body> .\r
;;\r
<external part> ::= 1311 endinclude ::= <externals>\r
;;\r
<externals> ::= 0 ::= <externals> <external>\r
! 0 ::= <external>\r
;;\r
<external> ::= 1310 endcontext ::= <context name> <semicolons> <declarations> .\r
! 0 ::= error .\r
;;\r
<semicolons> ::= 0 ::= <semicolons> ;\r
! 0 ::= ;\r
@\r
<context name> ::= 1301 context ::= name\r
;;\r
<body> ::= 1303 eom ::= <body list>\r
;;\r
<body list> ::= 0 ::= <body list> <body elem>\r
! 0 ::= <body elem>\r
;;\r
<body elem> ::= 1312 endlevel ::= <begin level> <process declaration>\r
! 1312 endlevel ::= <begin level> <prefix declaration>\r
! 1312 endlevel ::= <begin level> <process declaration> <semicolons>\r
! 1312 endlevel ::= <begin level> <prefix declaration> <semicolons>\r
;;\r
<process declaration> ::= 0 ::= process <process>\r
;;\r
<process> ::= 0 ::= <process name> <formal parameters> <proc sems> <block>\r
;;\r
<proc sems> ::= 1304 endprocdecl ::= <semicolons>\r
;;\r
<process name> ::= 1305 declaration declare ::= name\r
;;\r
<block> ::= 1011 endblock endlevel endlevel::= <declarations> <start labelscope> <compound statement> <end labelscope>\r
! 1020 external endlevel ::= external\r
! 1021 forward endlevel ::= forward\r
! 0 endlevel ::= <beginbody> :\r
;;\r
<start labelscope> ::= 1202 startlabelscope ::= empty\r
;;\r
<end labelscope> ::= 1203 endlabelscope ::= empty\r
;;\r
<beginbody> ::= -1 begincode ... ::= beginbody <unsigned integer>\r
;;\r
<begin level> ::= 1010 beginlevel ::= empty\r
;;\r
<declarations> ::= 1009 enddeclarations ::= <begin level> <decls>\r
;;\r
<decls> ::= 0 ::= empty\r
! 0 ::= <declaration list>\r
;;\r
<declaration list> ::= 0 ::= <declaration list> <declaration part>\r
! 0 ::= <declaration part>\r
;;\r
<declaration part> ::= 0 ::= <process declaration> <semicolons> \r
! 0 ::= <constant declaration> \r
! 0 ::= <type declaration> \r
! 0 ::= <variable declaration> \r
! 0 ::= <label declaration> \r
! 0 ::= <routine declaration> <semicolons> \r
! 0 ::= <export part>\r
;;\r
<constant declaration> ::= 0 ::= const <constant declaration list>\r
;;\r
<constant declaration list> ::= 0 ::= <constant declaration list> <constant definition>\r
! 0 ::= <constant definition>\r
;;\r
<constant definition> ::= 501 endconstantdecl ::= <const name> = <expression> <semicolons>\r
! 503 id(anonymous) endexpression endconstantdecl ::= <constname > error ;\r
! 0 ::= error ;\r
@\r
<const name> ::= 502 declaration declare ::= name\r
;;\r
<type declaration> ::= 0 ::= type <type declaration list>\r
;;\r
<type declaration list> ::= 0 ::= <type declaration list> <type definition>\r
! 0 ::= <type definition>\r
;;\r
<type definition> ::= 601 endtypedecl endlevel ::= <type name> <formal parameters> <eq type>\r
! 617 newtype forwardpointer endtypedecl ::= <type name> ;\r
@\r
<eq type> ::= 0 ::= <eq> <type> <semicolons>\r
! 0 ::= error ;\r
@\r
<eq> ::= 602 ::= =\r
! 616 WARNING ::= :\r
;;\r
<type> ::= 603 endtype ::= <variable>\r
! 604 ::= <structured type>\r
! 604 ::= <pool type>\r
! 605 endpointer ::= <uparrow> <type>\r
! 606 endreadonly ::= <read only> <type>\r
! 607 endscalar ::= <start scalar> <identifier list> )\r
! 608 endsubrange ::= <expression> <endsubrange>\r
! 609 endextprocess endlevel ::= <externalprocess> <formal parameters>\r
;;\r
<uparrow> ::= 620 newtype pointer ::= ^\r
;;\r
<externalprocess> ::= 627 newtype extprocess ::= external process\r
;;\r
<start scalar> ::= 621 newtype scalar declaration declarelist::= ( name ,\r
;;\r
metasymbols m1 = ~ m2 = $ m3 = % m4 = @\r
<read only> ::= 622 newtype readonly ::= !\r
;;\r
metasymbols m1 = ~ m2 = ! m3 = % m4 = @\r
<endsubrange> ::= 0 ::= .. <expression>\r
;;\r
<structured type> ::= 614 packed ::= <packed> <unpacked structured type>\r
! 0 ::= <unpacked structured type>\r
;;\r
<packed> ::= 628 stop type buffering ::= packed\r
;;\r
<unpacked structured type> ::= 0 ::= <array type>\r
! 0 ::= <record type>\r
! 0 ::= <set type>\r
;;\r
<type name> ::= 600 declaration declare ::= name\r
;;\r
<array type> ::= 615 endarray ::= <array start> <type> <component type>\r
;;\r
<array start> ::= 623 newtype array ::= array (\r
;;\r
<component type> ::= 637 incr. dim._count ::= <new dimension> <type> <component type>\r
! 636 dim._count := 0 ::= ) <of> <type>\r
;;\r
<new dimension> ::= 623 newtype array ::= ,\r
;;\r
<record type> ::= 610 endlevel endrecord ::= <record> <field list> end\r
;;\r
<record> ::= 624 newtype record ::= record\r
;;\r
<field list> ::= 0 ::= <field list> ; <record section>\r
! 0 ::= <record section>\r
;;\r
<record section> ::= 0 ::= empty\r
! 611 endfield ::= <start section> <identifier list> <type colon> <type>\r
;;\r
<start section> ::= 632 declaration ::= empty\r
;;\r
<type colon> ::= 640 ::= :\r
;;\r
<set type> ::= 612 endset ::= <set of> <type>\r
;;\r
<set of> ::= 625 newtype set ::= set <of>\r
;;\r
<pool type> ::= 613 endpool ::= <pool> <expression> <typesize>\r
;;\r
<type size> ::= 0 ::= <of> <type>\r
! 635 without_data ::= empty\r
;;\r
<of> ::= 640 ::= of\r
;;\r
<pool> ::= 626 newtype pool ::= pool\r
;;\r
<variable declaration> ::= 0 ::= var <variable declaration list>\r
;;\r
<variable declaration list> ::= \r
0 ::= <variable declaration list> <var decl>\r
! 0 ::= <var decl>\r
;;\r
<var decl> ::= 703 endvardecl ::= <start var> <identifier list> <type and init>\r
;;\r
<type and init> ::= 0 ::= <type colon> <type> <initialization> <semicolons>\r
! 0 ::= : error ;\r
@\r
<start var> ::= 700 declaration ::= empty\r
;;\r
<identifier list> ::= 0 ::= <identifier list> , <ident>\r
! 0 ::= <ident>\r
;;\r
<ident> ::= 701 declarelist ::= name\r
! 704 declarelist ::= ?\r
;;\r
<initialization> ::= 702 init ::= := <expression>\r
! 705 no_init ::= empty\r
;;\r
<routine declaration> ::= 0 ::= <routine heading> <semicolons> <block> \r
;;\r
<routine heading> ::= 1002 endprocdecl ::= <procedure heading>\r
! 1101 endfuncdecl ::= <function heading>\r
;;\r
<procedure heading> ::= 0 ::= procedure <procedure name> <formal parameters>\r
;;\r
<procedure name> ::= 1003 declaration declare ::= name\r
! 1004 declaration declare ::= <spix name> = name\r
;;\r
<spix name> ::= 1001 pick up name ::= name\r
;;\r
<function heading> ::= 0 ::= function <function name> <formal parameters> <colon> <type>\r
;;\r
<function name> ::= 1102 declaration declare ::= name\r
! 1103 declaration declare ::= <spix name> = name\r
;;\r
<colon> ::= 640 ::= :\r
;;\r
<formal parameters> ::= 1007 endformal ::= <init formal>\r
! 1007 endformal ::= <init formal> ( <formal list> )\r
! 0 ::= <init formal> ( error )\r
;;\r
<init formal> ::= 1022 beginlevel ::= empty\r
;;\r
<formal list> ::= 0 ::= <formal list> <semicolons> <parameter description>\r
! 0 ::= <parameter description>\r
;;\r
<parameter description> ::= 1006 endformallist ::= <var or value> <parameter group> <type colon> <type>\r
;;\r
<var or value> ::= 1023 declaration ::= empty\r
! 1024 declaration ::= var\r
;;\r
<parameter group> ::= 1008 declarelist ::= <parameter group> , name\r
! 1008 declarelist ::= name\r
;;\r
<label declaration> ::= 0 ::= label <label list> <semicolons>\r
! 0 ::= label error ;\r
@\r
<label list> ::= 0 ::= <label list> , <label name>\r
! 0 ::= <label name>\r
;;\r
<label name> ::= 1201 declaration declare ::= konst\r
! 1201 declaration declare ::= name\r
;;\r
<prefix declaration> ::= 1307 endlevel endprefix ::= <prefix heading> <semicolons> <begin level> <routinedeclaration>\r
;;\r
<prefix heading> ::= 0 ::= prefix <prefix name>\r
! 120 errorprefix ::= prefix error\r
;;\r
<prefix name> ::= 1306 declaration declare ::= name\r
;;\r
<export part> ::= 0 ::= export <export list>\r
;;\r
<export list> ::= 0 ::= <export list> <export def>\r
! 0 ::= <export def>\r
;;\r
<export def> ::= 301 export(kind) ::= <export name> = <export kind> <simple variable> <semicolons>\r
;;\r
<export name> ::= 405 literal text ::= name\r
;;\r
<export kind> ::= 302 export ::= name\r
;;\r
<compound statement> ::= 901 end ::= <begin> <statement list> end\r
;;\r
<begin> ::= 902 begin ::= begin\r
;;\r
<statement list> ::= 0 ::= <statement list> ; <statement>\r
! 0 ::= <statement list> error\r
! 0 ::= <statement>\r
;;\r
<statement> ::= 0 ::= empty\r
! 0 ::= <compound statement>\r
! 0 ::= <procedure call>\r
! 0 ::= <assignment statement>\r
! 0 ::= <exchange statement>\r
! 0 ::= <case statement>\r
! 917 endfor ::= <for do> <start labelscope> <statement> <end labelscope>\r
! 0 ::= <goto statement>\r
! 925 endif ::= <if then> <statement>\r
! 925 endif ::= <if then else> <statement>\r
! 0 ::= <label name> : <statement>\r
! 0 ::= <repeat statement>\r
! 0 ::= <loop statement>\r
! 953 exitloop ::= exitloop\r
! 951 contloop ::= continueloop\r
! 952 exitstat ::= exit\r
! 933 endwhile ::= <while do> <start labelscope> <statement> <end labelscope>\r
! 944 endwith ::= <with start> <start labelscope> <statement> <end labelscope>\r
! 936 endlock ::= <lock start> <start labelscope> <statement> <end labelscope>\r
! 947 endchannel ::= <channel do> <start labelscope> <statement> <end labelscope>\r
;;\r
<balanced statement> ::= 0 ::= empty\r
! 0 ::= <compound statement>\r
! 0 ::= <procedure call>\r
! 0 ::= <assignment statement>\r
! 0 ::= <exchange statement>\r
! 0 ::= <case statement>\r
! 917 endfor ::= <for do> <start labelscope> <balanced statement> <end labelscope>\r
! 0 ::= <goto statement>\r
! 925 endif ::= <if then else> <balanced statement>\r
! 0 ::= <label name> : <balanced statement>\r
! 0 ::= <repeat statement>\r
! 0 ::= <loop statement>\r
! 953 exitloop ::= exitloop\r
! 951 contloop ::= continueloop\r
! 952 exitstat ::= exit\r
! 933 endwhile ::= <while do> <start labelscope> <balanced statement> <end labelscope>\r
! 936 endlock ::= <lock start> <start labelscope> <balanced statement> <end labelscope>\r
! 944 endwith ::= <with start> <start labelscope> <balanced statement> <end labelscope>\r
! 947 endchannel ::= <channel do> <start labelscope> <balanced statement> <end labelscope>\r
;;\r
<procedure call> ::= 903 callprocedure ::= <variable>\r
;;\r
<actual parameter list> ::= 0 ::= <actual parameter>\r
! 0 ::= <actual parameter list> , <actual parameter>\r
;;\r
<actual parameter> ::= 904 actualparam ::= <unit>\r
! 905 doubleparam ::= <expression> *** <unit>\r
;;\r
<unit> ::= 0 ::= <expression>\r
! 955 skipvalue ::= ?\r
;;\r
<assignment statement> ::= 906 endassign ::= <variable> := <expression>\r
;;\r
<exchange statement> ::= 907 endexchange ::= <variable> :=: <variable>\r
;;\r
<case statement> ::= 909 endcase ::= <selector part> <case list> <end case part>\r
;;\r
<selector part> ::= 910 caseexpr ::= <case> <expression> of\r
! 0 ::= <case> error of\r
;;\r
<case> ::= 911 casestat ::= case\r
;;\r
<caselist> ::= 0 ::= <caselist> ; <caselist element>\r
! 0 ::= <caselist element>\r
;;\r
<caselist element> ::= 0 ::= empty\r
! 912 caseelement ::= <case label list> <end label list> <statement>\r
;;\r
<case label list> ::= 0 ::= <label range>\r
! 0 ::= <case label list> , <label range>\r
;;\r
<label range> ::= 913 caselabelrange ::= <expression> .. <expression>\r
! 914 caselabel ::= <expression>\r
;;\r
<end label list> ::= 915 caselist ::= :\r
;;\r
<end case part> ::= 912 caseelement ::= <otherwise> <statementlist> end\r
! 0 ::= end\r
;;\r
<otherwise> ::= 916 otherwise caselist ::= otherwise\r
;;\r
<for do> ::= 918 up ::= <for to> <expression> do\r
! 0 ::= <for to> error do\r
! 919 down ::= <for downto> <expression> do\r
! 0 ::= <for downto> error do\r
;;\r
<for to> ::= 0 ::= <for assign> <expression> to\r
! 0 ::= <for assign> error to\r
;;\r
<for downto> ::= 0 ::= <for assign> <expression> downto\r
! 0 ::= <for assign> error downto\r
;;\r
<for assign> ::= 920 forvar ::= <for> <variable> :=\r
! 0 ::= <for> error :=\r
;;\r
<for> ::= 921 forstat ::= for\r
;;\r
<goto statement> ::= 922 endgoto ::= <goto> <lab name>\r
;;\r
<goto> ::= 923 gotostat ::= goto\r
;;\r
<lab name> ::= 924 id ::= name\r
! 924 id ::= konst\r
;;\r
<if then> ::= 926 ifexpr ::= <if part> <expression> then\r
! 0 ::= <if part> error then\r
;;\r
<if part> ::= 927 ifstat ::= if\r
;;\r
<if then else> ::= 928 else ::= <if then> <balanced statement> else\r
;;\r
<repeat statement> ::= 930 endrepeat ::= <repeat> <start labelscope>\r
<statement list> <end labelscope> <until> <expression>\r
;;\r
<repeat> ::= 932 repeatstat ::= repeat\r
;;\r
<until> ::= 929 until ::= until\r
;;\r
<loop statement> ::= 957 endloop ::= <loop> <statement list> endloop\r
;;\r
<loop> ::= 956 loop ::= loop\r
;;\r
<while do> ::= 934 whileexpr ::= <while> <expression> do\r
! 0 ::= <while> error do\r
;;\r
<while> ::= 935 whilestat ::= while\r
;;\r
<with start> ::= 950 do ::= <with> <with variable list> do\r
;;\r
<lock start> ::= 950 do ::= <lock> <with variable> do\r
;;\r
<with> ::= 937 withstat ::= with\r
;;\r
<lock> ::= 965 lockstat ::= lock\r
! 966 lockmesstat ::= lockmes\r
;;\r
<with variable list> ::= 0 ::= <with variable>\r
! 0 ::= <with variable list> <with comma> <with variable>\r
;;\r
<with comma> ::= 938 withcomma ::= ,\r
;;\r
<with variable> ::= 939 withvar nolocaldecl ::= <variable>\r
! 942 endlocaldecl ::= <variable> <as> <local name> <type colon> <type>\r
! 943 nolocaltype ::= <variable> <as> <local name>\r
;;\r
<as> ::= 940 withvar ::= as\r
;;\r
<local name> ::= 941 declaration declare ::= name\r
;;\r
<channel do> ::= 948 chanvar ::= <channel> <variable> do\r
;;\r
<channel> ::= 949 channelstat ::= channel\r
;;\r
<expression> ::= 801 endexpression ::= <simple expression>\r
! 802 eq endexpression ::= <simple expression> = <simple expression>\r
! 803 ne endexpression ::= <simple expression> <> <simple expression>\r
! 804 lt endexpression ::= <simple expression> < <simple expression>\r
! 805 le endexpression ::= <simple expression> <= <simple expression>\r
! 806 gt endexpression ::= <simple expression> > <simple expression>\r
! 807 ge endexpression ::= <simple expression> >= <simple expression>\r
! 808 in endexpression ::= <simple expression> in <simple expression>\r
;;\r
<simple expression> ::= 810 plus ::= <simple expression> + <term>\r
! 811 minus ::= <simple expression> - <term>\r
! 812 or ::= <simple expression> or <term>\r
! 815 xor ::= <simple expression> xor <term>\r
! 813 uplus ::= + <term>\r
! 814 uminus ::= - <term>\r
! 0 ::= <term>\r
;;\r
<term> ::= 816 star ::= <term> * <factor>\r
! 817 slash ::= <term> / <factor>\r
! 818 div ::= <term> div <factor>\r
! 819 mod ::= <term> mod <factor>\r
! 820 and ::= <term> and <factor>\r
! 821 shift ::= <term> shift <factor>\r
! 0 ::= <factor>\r
;;\r
<factor> ::= 0 ::= <value denotation>\r
! 830 endvariable ::= <variable>\r
! 0 ::= ( <expression> )\r
! 0 ::= ( error )\r
! 840 typesizecall ::= typesize ( name )\r
! 841 varsizecall ::= varsize ( name )\r
! 831 not ::= not <factor>\r
;;\r
<value denotation> ::= 0 ::= <unsigned constant>\r
! 0 ::= <struc value denotation>\r
! 409 literal text ::= <string>\r
! 825 endsetlist ::= <set>\r
;;\r
<string> ::= 406 string ::= string\r
! 407 concatenate strings ::= <string> & string\r
! 408 concatenate with value of name ::= <string> & name\r
;;\r
<set> ::= 0 ::= <startset> <element list> .)\r
! 0 ::= <startset> .)\r
;;\r
<startset> ::= 826 setlist ::= (.\r
;;\r
<element list> ::= 0 ::= <element list> , <element>\r
! 0 ::= <element>\r
;;\r
<element> ::= 827 s_element ::= <expression>\r
! 828 m_element ::= <expression> .. <expression>\r
;;\r
<struc value denotation> ::= 847 endstruc ::= <start struc val> <actual parameter list> :)\r
! 847 endstruc ::= <start struc val> :)\r
;;\r
<start struc val> ::= 846 beginstruc ::= (:\r
;;\r
<simple variable> ::= 835 id ::= name\r
! 836 field ::= <simple variable> . name\r
;;\r
<variable> ::= 835 id ::= name\r
! 836 field ::= <variable> . name\r
! 0 ::= <variable> <struc value denotation>\r
! 837 endactual ::= <variable> <begin actual> <actual parameter list> )\r
! 838 uparrow ::= <variable> ^\r
;;\r
<begin actual> ::= 839 beginactual ::= (\r
;;\r
<unsigned constant> ::= 0 ::= <unsigned integer>\r
! 403 literal real ::= realkonst\r
;;\r
<unsigned integer> ::= 402 literal integer ::= konst\r
! 404 literal integer ::= # name\r
;;\r
;;\r