|
|
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: 18522 (0x485a)
Types: TextFile
Names: »RTP11GRA.M«
└─⟦7d3116ab8⟧ Bits:30010531 BOBS Sourcer RTP25,RTP11,RTP86,RTP ASN1 grammatikken DVBS1.SW2114.src.2.6-9 BB920506
└─⟦this⟧ »RTP11\RTP11GRA.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
getswitch goto\r
if in inspect\r
konst\r
label lockbuf lockdata loop\r
mod\r
name not \r
of or otherwise\r
packed packed3502 pool prefix procedure program\r
record region repeat\r
set shared 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 = compilation unit\r
;;\r
comment = (* ;; *) \r
;;\r
\r
<compilation unit> ::= 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> ; <routine declarations> .\r
! 0 ::= error .\r
;;\r
<context name> ::= 1301 context ::= name\r
;;\r
<body> ::= 1302 eom ::= <body list>\r
;;\r
<body list> ::= 0 ::= <body list> <body elem>\r
! 0 ::= <body elem>\r
;;\r
<body elem> ::= 1312 endlevel ::= <begin level> <program declaration>\r
! 1312 endlevel ::= <begin level> <prefix declaration>\r
! 1312 endlevel ::= <begin level> <program declaration> ;\r
! 1312 endlevel ::= <begin level> <prefix declaration> ;\r
;;\r
<program declaration> ::= 0 ::= program <program>\r
;;\r
<program> ::= 0 ::= <program name> <formal parameters> <prog sem> <prog block>\r
;;\r
<prog sem> ::= 1303 endprogdecl ::= ;\r
;;\r
<program name> ::= 1304 declaration declare ::= name\r
;;\r
<prog block> ::= 1011 endblock endlevel endlevel::= <prog declarations> <start labelscope> <compound statement> <end labelscope>\r
! 1020 external endlevel ::= external\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
<prog declarations> ::= 1009 enddeclarations ::= <begin level> <decls>\r
;;\r
<decls> ::= 0 ::= empty\r
! 0 ::= <prog declaration list>\r
;;\r
<prog declaration list> ::= 0 ::= <prog declaration list> <prog decl part>\r
! 0 ::= <prog decl part>\r
;;\r
<prog decl part> ::= 0 ::= <common declaration>\r
! 0 ::= <program declaration> ; \r
! 0 ::= <shared declaration> \r
;;\r
<common declaration> ::= 0 ::= <constant declaration> \r
! 0 ::= <type declaration> \r
! 0 ::= <variable declaration> \r
! 0 ::= <label declaration> \r
! 0 ::= <routine declaration> ; \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> ;\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 endlevel endtypedecl endlevel ::= <type name> <formal parameters> <eq type>\r
! 617 newtype forwardpointer endtypedecl ::= <type name> ;\r
@\r
<eq type> ::= 0 ::= <eq> <type> ;\r
! 0 ::= error ;\r
@\r
<eq> ::= 619 beginlevel ::= =\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 endextprogram endlevel ::= <externalprogram> <formal parameters>\r
! 610 endset ::= <set of> <type>\r
;;\r
<uparrow> ::= 620 newtype pointer ::= ^\r
;;\r
<externalprogram> ::= 627 newtype extprogram ::= external program\r
;;\r
<start scalar> ::= 621 newtype scalar declaration declarelist::= ( name ,\r
! 629 newtype scalar declaration declarelist::= ( ? ,\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
! 628 stop type buffering ::= packed3502\r
;;\r
<unpacked structured type> ::= 0 ::= <array type>\r
! 0 ::= <record 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> ::= 612 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 of> ::= 625 newtype set ::= set <of>\r
;;\r
<pool type> ::= 613 endpool ::= <pool> <expression> <typesize>\r
! 634 literal(int, '0') ::= <pool>\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
<var> ::= 710 decl kind:= var ::= var\r
;;\r
<shared declaration> ::= 0 ::= <shared> <variable declaration list>\r
;;\r
<shared> ::= 711 decl kind:= shared ::= shared\r
;;\r
<variable declaration list> ::= \r
0 ::= <variable declaration list> <var decl>\r
! 0 ::= <var decl>\r
;;\r
<var decl> ::= 703 endvardecl/endshareddecl ::= <start var> <identifier list> <type and init>\r
;;\r
<type and init> ::= 0 ::= <type colon> <type> <initialization> ;\r
! 0 ::= : error ;\r
@\r
<start var> ::= 700 declaration(decl kind) ::= 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> ; <routine block> \r
;;\r
<routine heading> ::= 1002 endprocdecl ::= <procedure heading>\r
! 1101 endfuncdecl ::= <function heading>\r
;;\r
<routine block> ::= 1011 endblock endlevel endlevel::= <routine declarations> <start labelscope> <compound statement> <end labelscope>\r
! 1020 external endlevel ::= external\r
! 1021 forward endlevel ::= forward\r
! 0 endlevel ::= <beginbody> :\r
;;\r
<routine declarations> ::= 1009 enddeclarations ::= <begin level> <rdecls>\r
;;\r
<rdecls> ::= 0 ::= empty\r
! 0 ::= <routine decl part>\r
;;\r
<routine decl part> ::= 0 ::= <routine decl part> <common declaration>\r
! 0 ::= <common declaration>\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> ; <parameter description>\r
! 0 ::= <parameter description>\r
;;\r
<parameter description> ::= 1006 endformallist ::= <param kind> <parameter group> <type colon> <type>\r
;;\r
<param kind> ::= 1023 declaration ::= empty\r
! 1024 declaration ::= var\r
! 1025 declaration ::= shared\r
! 1026 declaration ::= inspect\r
;;\r
<parameter group> ::= 1008 declarelist ::= <parameter group> , name\r
! 1008 declarelist ::= name\r
;;\r
<label declaration> ::= 1204 decl kind:= nocode ::= <label> <label list> ;\r
! 0 ::= label error ;\r
@\r
<label> ::= 1205 decl kind:= label ::= label\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> <routinedeclaration>\r
;;\r
<prefix heading> ::= 1308 beginlevel ::= prefix <prefix name> ;\r
! 120 errorprefix ::= prefix error\r
! 1305 anonymous prefix:= true ::= empty\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> ;\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> <statement>\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
! 960 endregion ::= <region 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> <balanced statement>\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
! 960 endregion ::= <region do> <start labelscope> <balanced statement> <end labelscope>\r
;;\r
<procedure call> ::= 903 callprocedure ::= <variable>\r
;;\r
<actual parameter list> ::= 904 actualparam ::= <expression>\r
! 904 actualparam ::= <actual parameter list> , <expression>\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 forstat declaration declare forvar ::= for name :=\r
! 921 forstat declaration declare forvar ::= for error :=\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
<with> ::= 937 withstat ::= with\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
<lock start> ::= 950 do ::= <lock> <variable> <to> <lock ident> do\r
;;\r
<lock> ::= 965 lockdatastat ::= lockdata\r
! 966 lockbufstat ::= lockbuf\r
;;\r
<to>::= 940 withvar ::= to \r
;;\r
<lock ident> ::= 942 endlocaldecl ::= <local name> <type colon> <type> \r
! 943 nolocaltype ::= <local name> \r
;;\r
<channel do> ::= 948 chanvar ::= <channel> <variable> do\r
;;\r
<channel> ::= 949 channelstat ::= channel\r
;;\r
<region do>::= 961 regionvar ::= <region> <variable> do\r
;;\r
<region>::= 962 regionstat ::= region\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
! 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 integer>\r
! 0 ::= <struc value denotation>\r
! 409 literal text ::= <string>\r
! 410 simulate literal(int 'const') ::= getswitch ( name )\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> <struc value list> :)\r
! 847 endstruc ::= <start struc val> :)\r
;;\r
<start struc val> ::= 846 beginstruc ::= (:\r
;;\r
<struc value list> ::= 0 ::= <struc value>\r
! 0 ::= <struc value list> , <struc value>\r
;;\r
<struc value> ::= 904 actualparam ::= <unit>\r
! 905 doubleparam ::= <expression> *** <unit>\r
;;\r
<unit> ::= 0 ::= <expression>\r
! 955 skipvalue ::= ?\r
;;\r
<simple variable> ::= 835 id ::= name\r
! 836 field ::= <simple variable> . name\r
;;\r
metasymbols m1 = ~ m2 = $ m3 = % m4 = @\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
$ 850 typeselect(spix) ::= <variable> ! name\r
$ 838 uparrow ::= <variable> ^\r
;;\r
metasymbols m1 = ~ m2 = ! m3 = % m4 = @\r
<begin actual> ::= 839 beginactual ::= (\r
;;\r
<unsigned integer> ::= 402 literal integer ::= konst\r
! 404 literal integer ::= # name\r
;;\r
;;\r