DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦599c0a0ba⟧ TextFileVerbose

    Length: 16128 (0x3f00)
    Types: TextFileVerbose
    Names: »platongram«

Derivation

└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
    └─⟦6b41451d2⟧ 
        └─⟦this⟧ »platongram« 

TextFileVerbose

options(1, 3, 28, 32, 34)
metasymbols m1 = &  m2 = !  m3 = %  m4 = @

process const type array of record end
pool var procedure function label 
forward external
prefix begin
lock with
packed set case otherwise
for downto do goto if then else
to
repeat until while in as channel
not and or xor div mod

empty konst name error string realkonst
beginbody
export

+ - * / ' " < > <>
<= >= ( ) (. .) ^
= := :=: . , ; : .. # ***
<* (* ::= *> *) ::=
? !

;;
stringch = '
;;
goalsymbol = program
;;
comment = (* ;; *) 
;;

<program> ::= 000 code ::= <external part> <body> .
     ! 100 ---- ::= error
;;
<external part> ::= 1311 endinclude beginlevel ::= <externals>
;;
<externals> ::= 0 ::= <externals> <external>
     ! 0 ::= <external>
;;
<external> ::= 1310 endcontext ::= <context name> <semicolons> <declarations> .
;;
<semicolons> ::= 0 ::= <semicolons> ;
     ! 0 ::= ;
@
<context name> ::= 1301 context ::= name
;;
<body> ::= 1303 endlevel eom ::= <body list>
;;
<body list> ::= 0  ::= <body list> <body elem>
     ! 0  ::= <body elem>
;;
<body elem> ::= 1312 endlevel ::= <begin level> <process declaration>
     ! 1312 endlevel ::= <begin level> <prefix declaration>
     ! 1312 endlevel ::= <begin level> <process declaration> <semicolons>
     ! 1312 endlevel ::= <begin level> <prefix declaration> <semicolons>
;;
<process declaration> ::= 0 ::= process <process>
;;
<process> ::= 0 ::= <process name> <formal parameters> <proc sems> <block>
     ! 101 errorprocess ::= error
;;
<proc sems> ::= 1304 endprocdecl ::= <semicolons>
;;
<process name> ::= 1305 declaration declare ::= name
;;
<block> ::= 1011 endblock endlevel endlevel::= <declarations> <start labelscope> <compound statement> <end labelscope>
     ! 1020 external endlevel ::= external
     ! 1021 forward endlevel ::= forward
     ! 0 endlevel ::= <beginbody> :
;;
<start labelscope> ::= 1202 startlabelscope ::= empty
;;
<end labelscope> ::= 1203 endlabelscope ::= empty
;;
<beginbody> ::= -1 begincode ... ::= beginbody <unsigned integer>
;;
<begin level> ::= 1010 beginlevel ::= empty
;;
<declarations> ::= 1009 enddeclarations ::= <begin level> <decls>
;;
<decls> ::= 0 ::= empty
     ! 0 ::= <declaration list>
;;
<declaration list> ::= 0 ::= <declaration list> <declaration part>
     ! 0 ::= <declaration part>
;;
<declaration part> ::= 0 ::= <process declaration> <semicolons> 
     ! 0 ::= <constant declaration> 
     ! 0 ::= <type declaration> 
     ! 0 ::= <variable declaration> 
     ! 0 ::= <label declaration> 
     ! 0 ::= <routine declaration> <semicolons> 
     ! 0 ::= <export part>
;;
<constant declaration> ::= 0 ::= const <constant declaration list>
;;
<constant declaration list> ::= 103 errorconstant ::= error
     ! 0 ::= <constant declaration list> <constant definition>
     ! 0 ::= <constant definition>
;;
<constant definition> ::= 501 endconstantdecl ::= <const name> = <expression> <semicolons>
     ! 503 id(anonymous) endexpression endconstantdecl ::= <constname > error
;;
<const name> ::= 502 declaration declare ::= name
;;
<type declaration> ::= 0 ::= type <type declaration list>
;;
<type declaration list> ::= 104 errortype ::= error
     ! 0 ::= <type declaration list> <type definition>
     ! 0 ::= <type definition>
;;
<type definition> ::= 601 endtypedecl endlevel ::= <type name> <formal parameters> <eq> <type> <semicolons>
;;
<eq> ::= 602 ::= =
     ! 123 error ::= error
;;
<type> ::= 603 endtype ::= <variable>
     ! 604 ::= <structured type>
     ! 604 ::= <pool type>
     ! 605 endpointer ::= <uparrow> <type>
     ! 606 endreadonly ::= <read only> <type>
     ! 607 endscalar ::= <start scalar> <identifier list> )
     ! 608 endsubrange ::= <expression> <endsubrange>
     ! 609 endexttype ::= <externaltype> <type>
;;
<uparrow> ::= 620 newtype pointer ::= ^
;;
<externaltype> ::= 627 newtype exttype ::= external
;;
<start scalar> ::= 621 newtype scalar declaration declarelist::= ( name ,
;;
metasymbols m1 = & m2 = $ m3 = % m4 = @
<read only> ::= 622 newtype readonly ::= !
;;
metasymbols m1 = & m2 = ! m3 = % m4 = @
<endsubrange> ::= 0 ::= .. <expression>
;;
<structured type> ::= 614 packed ::= packed <unpacked structured type>
     ! 0 ::= <unpacked structured type>
;;
<unpacked structured type> ::= 0 ::= <array type>
     ! 0 ::= <record type>
     ! 0 ::= <set type>
;;
<type name> ::= 600 declaration declare ::= name
;;
<array type> ::= 615 endarray ::= <array start> <type>  <component type>
;;
<array start> ::= 623 newtype array ::= array (
;;
<component type> ::= 637 incr. dim._count ::= <new dimension> <type> <component type>
     ! 636 dim._count := 0 ::= ) <of type> <type>
     ! 636 error ::= error
;;
<new dimension> ::= 623 ::= ,
;;
<of type> ::= 640 ::= of
     ! 109 error ::= error
;;
<record type> ::= 610 endlevel endrecord ::= <record> <field list> end
;;
<record> ::= 624 newtype record beginlevel::= record
;;
<field list> ::= 0 ::= <field list> ; <record section>
     ! 0 ::= <record section>
;;
<record section> ::= 0 ::= empty
     ! 611 endfield ::= <start section> <identifier list> <type colon> <type>
;;
<start section> ::= 632 declaration ::= empty
;;
<type colon> ::= 640 ::= :
     ! 110 error ::= error
;;
<set type> ::= 612 endset ::= <set of> <type>
;;
<set of> ::= 625 newtype set ::= set <of type>
;;
<pool type> ::= 613 endpool ::= <pool> <expression> <typesize>
;;
<type size> ::= 0 ::= <of> <type>
     ! 635 without_data ::= empty
;;
<of> ::= 640 ::= of
;;
<pool> ::= 626 newtype pool ::= pool
;;
<variable declaration> ::= 0 ::= var <variable declaration list>
;;
<variable declaration list> ::= 
       0 ::= <variable declaration list> <var decl>
     ! 0 ::= <var decl>
;;
<var decl> ::= 703 endvardecl ::= <start var> <identifier list> <type colon> <type> <initialization> <semicolons>
;;
<start var> ::= 700 declaration ::= empty
;;
<identifier list> ::= 0 ::= <identifier list> , <ident>
     ! 0 ::= <ident>
     ! 111 errorvar ::= <identifier list> , error
     ! 112 errorvar ::= error
;;
<ident> ::= 701 declarelist ::= name
     ! 704 declarelist ::= ?
;;
<initialization> ::= 702 init ::= := <expression>
     ! 705 no_init ::= empty
;;
<routine declaration> ::= 0 ::= <routine heading> <semicolons> <block> 
;;
<routine heading> ::= 1002 endprocdecl ::= <procedure heading>
     ! 1101 endfuncdecl ::= <function heading>
;;
<procedure heading> ::= 0 ::= procedure <procedure name> <formal parameters>
     ! 113 errorproc ::= procedure error
;;
<procedure name> ::= 1003 declaration declare ::= name
     ! 1004 declaration declare ::= <spix name> = name
;;
<spix name> ::= 1001 pick up name ::= name
;;
<function heading> ::= 0 ::= function <function name> <formal parameters> <colon> <type>
     ! 114 errorfunct ::= function error
;;
<function name> ::= 1102 declaration declare ::= name
     ! 1103 declaration declare ::= <spix name> = name
;;
<colon> ::= 640 ::= :
     ! 116 error ::= error
;;
<formal parameters> ::= 1007 endformal ::= <init formal>
     ! 1007 endformal ::= <init formal> ( <formal list> )
;;
<init formal> ::= 1022 beginlevel ::= empty
;;
<formal list> ::= 0 ::= <formal list> <semicolons> <parameter description>
     ! 0 ::= <parameter description>
;;
<parameter description> ::= 1006 endformallist ::= <var or value> <parameter group> <type colon> <type>
     ! 117 errorparam ::= error
;;
<var or value> ::= 1023 declaration ::= empty
     ! 1024 declaration ::= var
;;
<parameter group> ::= 1008 declarelist ::= <parameter group> , name
     ! 1008 declarelist ::= name
;;
<label declaration> ::= 0 ::= label <label list> <semicolons>
;;
<label list> ::= 0 ::= <label list> , <label name>
     ! 0 ::= <label name>
     ! 118 errorlabel ::= <labellist> , error
     ! 119 errorlabel ::= error
;;
<label name> ::= 1201 declaration declare ::= konst
     ! 1201 declaration declare ::= name
;;
<prefix declaration> ::= 1307 endlevel endprefix ::= <prefix heading> <semicolons> <begin level> <routinedeclaration>
;;
<prefix heading> ::= 0 ::= prefix <prefix name>
     ! 120 errorprefix ::= prefix error
;;
<prefix name> ::= 1306 declaration declare ::= name
;;
<export part> ::= 0 ::= export <export list>
;;
<export list> ::= 0 ::= <export list> <export def>
     ! 0 ::= <export def>
;;
<export def> ::= 301 export(kind) ::= <export name> = <export kind> <simple variable> <semicolons>
;;
<export name> ::= 401 literal text ::= name
;;
<export kind> ::= 302 export ::= name
;;
<compound statement> ::= 901 end ::= <begin> <statement list> end
;;
<begin> ::= 902 begin ::= begin
;;
<statement list> ::= 0 ::= <statement list> ; <statement>
     ! 0 ::= <statement>
;;
<statement> ::= 0 ::= empty
     ! 0 ::= <compound statement>
     ! 0 ::= <procedure call>
     ! 0 ::= <assignment statement>
     ! 0 ::= <exchange statement>
     ! 0 ::= <case statement>
     ! 917 endfor ::= <for do> <start labelscope> <statement> <end labelscope>
     ! 0 ::= <goto statement>
     ! 925 endif ::= <if then> <statement>
     ! 925 endif ::= <if then else> <statement>
     ! 0 ::= <label name> <labeldef> <statement>
     ! 0 ::= <repeat statement>
     ! 933 endwhile ::= <while do> <start labelscope> <statement> <end labelscope>
     ! 936 endwith ::= <with or lock> <start labelscope> <statement> <end labelscope>
     ! 947 endchannel ::= <channel do> <start labelscope> <statement> <end labelscope>
     ! 121 errorstatement ::= error
;;
<balanced statement> ::= 0 ::= empty
     ! 0 ::= <compound statement>
     ! 0 ::= <procedure call>
     ! 0 ::= <assignment statement>
     ! 0 ::= <exchange statement>
     ! 0 ::= <case statement>
     ! 917 endfor ::= <for do> <start labelscope> <balanced statement> <end labelscope>
     ! 0 ::= <goto statement>
     ! 925 endif ::= <if then else> <balanced statement>
     ! 0 ::= <label name> <labeldef> <balanced statement>
     ! 0 ::= <repeat statement>
     ! 933 endwhile ::= <while do> <start labelscope> <balanced statement> <end labelscope>
     ! 936 endwith ::= <with or lock> <start labelscope> <balanced statement> <end labelscope>
     ! 947 endchannel ::= <channel do> <start labelscope> <balanced statement> <end labelscope>
     ! 121 errorstatement ::= error
;;
<procedure call> ::= 903 callprocedure ::= <variable>
;;
<labeldef> ::= 0 ::= :
;;
<actual parameter list> ::= 0 ::= <actual parameter>
     ! 0 ::= <actual parameter list> , <actual parameter>
;;
<actual parameter> ::= 904 actualparam ::= <unit>
     ! 905 doubleparam ::= <expression> *** <unit>
     ! 1007  endformal ::= <name colon> <type>
;;
<unit> ::= 0 ::= <expression>
     ! 955 skipvalue ::= ?
;;
<name colon> ::= 633 declarelist ::= name :
;;
<assignment statement> ::= 906 endassign ::= <variable> := <expression>
;;
<exchange statement> ::= 907 endexchange ::= <variable> :=: <variable>
;;
<case statement> ::= 909 endcase ::= <selector part> <case list> <end case part>
;;
<selector part> ::= 910 caseexpr ::= <case> <expression> of
;;
<case> ::= 911 casestat ::= case
;;
<caselist> ::= 0 ::= <caselist> ; <caselist element>
     ! 0 ::= <caselist element>
;;
<caselist element> ::= 0 ::= empty
     ! 912 caseelement ::= <case label list> <end label list> <statement>
;;
<case label list> ::= 0 ::= <label range>
     ! 0 ::= <case label list> , <label range>
;;
<label range> ::= 913 caselabelrange ::= <expression> .. <expression>
     ! 914 caselabel ::= <expression>
;;
<end label list> ::= 915 caselist ::= :
;;
<end case part> ::= 912 caseelement ::= <otherwise> <statementlist> end
     ! 0 ::= end
;;
<otherwise> ::= 916 otherwise caselist ::= otherwise
;;
<for do> ::= 918 up ::= <for to> <expression> do
     ! 919 down ::= <for downto> <expression> do
;;
<for to> ::= 0 ::= <for assign> <expression> to
;;
<for downto> ::= 0 ::= <for assign> <expression> downto
;;
<for assign> ::= 920 forvar ::= <for> <variable> :=
;;
<for> ::= 921 forstat ::= for
;;
<goto statement> ::= 922 endgoto ::= <goto> <lab name>
;;
<goto> ::= 923 gotostat ::= goto
;;
<lab name> ::= 924 id ::= name
     ! 924 id ::= konst
;;
<if then> ::= 926 ifexpr ::= <if part> <expression> then
;;
<if part> ::= 927 ifstat ::= if
;;
<if then else> ::= 928 else ::= <if then> <balanced statement> else
;;
<repeat statement> ::= 930 endrepeat ::= <repeat> <start labelscope>
<statement list> <end labelscope> <until> <expression>
;;
<repeat> ::= 932 repeatstat ::= repeat
;;
<until> ::= 929 until ::= until
;;
<while do> ::= 934 whileexpr ::= <while> <expression> do
;;
<while> ::= 935 whilestat ::= while
;;
<with or lock> ::= 950 do ::= <with or lock part> <with variable list> do
;;
<with or lock part> ::= 937 withstat ::= with
     ! 965 lockstat ::= lock
;;
<with variable list> ::= 0 ::= <with variable>
     ! 0 ::= <with variable list> <with comma> <with variable>
;;
<with comma> ::= 938 withcomma ::= ,
;;
<with variable> ::= 939 withvar nolocaldecl ::= <variable>
     ! 942 endlocaldecl ::= <variable> <as> <local name> <type colon> <type>
     ! 943 nolocaltype ::= <variable> <as> <local name>
;;
<as> ::= 940 withvar ::= as
;;
<local name> ::= 941 declaration declare ::= name
;;
<channel do> ::= 948 chanvar ::= <channel> <variable> do
;;
<channel> ::= 949 channelstat ::= channel
;;
<expression> ::= 801 endexpression ::= <simple expression>
     ! 802 eq endexpression ::= <simple expression> = <simple expression>
     ! 803 ne endexpression ::= <simple expression> <> <simple expression>
     ! 804 lt endexpression ::= <simple expression> < <simple expression>
     ! 805 le endexpression ::= <simple expression> <= <simple expression>
     ! 806 gt endexpression ::= <simple expression> > <simple expression>
     ! 807 ge endexpression ::= <simple expression> >= <simple expression>
     ! 808 in endexpression ::= <simple expression> in <simple expression>
     ! 122 errorexpression endexpression ::= error
;;
<simple expression> ::= 810 plus ::= <simple expression> + <term>
     ! 811 minus ::= <simple expression> - <term>
     ! 812 or ::= <simple expression> or <term>
     ! 815 xor ::= <simple expression> xor <term>
     ! 813 uplus ::= + <term>
     ! 814 uminus ::= - <term>
     ! 0 ::= <term>
;;
<term> ::= 816 star ::= <term> * <factor>
     ! 817 slash ::= <term> / <factor>
     ! 818 div ::= <term> div <factor>
     ! 819 mod ::= <term> mod <factor>
     ! 820 and ::= <term> and <factor>
     ! 0 ::= <factor>
;;
<factor> ::= 0 ::= <unsigned constant>
     ! 825 endsetlist ::= <set>
     ! 830 endvariable ::= <variable>
     ! 0 ::= ( <expression> )
     ! 831 not ::= not <factor>
;;
<set> ::= 0 ::= <startset> <element list> .)
     ! 0 ::= <startset> .)
;;
<startset> ::= 826 setlist ::= (.
;;
<element list> ::= 0 ::= <element list> , <element>
     ! 0 ::= <element>
;;
<element> ::= 827 s_element ::= <expression>
     ! 828 m_element ::= <expression> .. <expression>
;;
<simple variable> ::= 835 id ::= name
     ! 836 field ::= <simple variable> . name
;;
<variable> ::= 835 id ::= name
     ! 836 field ::= <variable> . name
     ! 837 endactual ::= <variable> <begin actual> <actual parameter list> )
     ! 838 uparrow ::= <variable> ^
;;
<begin actual> ::= 839 beginactual ::= (
;;
<unsigned constant> ::= 0 ::= <unsigned number>
     ! 401 literal text ::= string
;;
<unsigned number> ::= 0 ::= <unsigned integer>
     ! 403 literal real ::= realkonst
;;
<unsigned integer> ::= 402 literal integer ::= konst
     ! 404 literal integer ::= # name
;;
;;
«eof»