         Edinburgh IMP77 Compiler - Version 8.4

    1  %begin
    2  
    3  %constinteger slotmax = 10
    4  %constinteger eqmax = 6
    5  %constinteger hmax = 4
    6  
    7  %record(*)%name nil==record(0)
    8  
    9  %recordformat hfm(%record(hfm)%name next,%integer state,since)
   10  
   11  %recordformatspec pinf
   12  %recordformatspec sigf
   13  
   14  %recordformat compf(%record(compf)%name next,
   15+                     %integer type {indexes into behaviour switch},
   16+                     %record(pinf)%name ins,outs,private)
   17  %recordformat pinf(%record(pinf)%name next {pin in component},
   18+                    chain {next pin in net},%record(compf)%name comp,
   19+                    %record(sigf)%name signal, %integer state)
   20  %recordformat sigf(%record(sigf)%name next {for identification},
   21+                    %integer state,%record(pinf)%name from,to,
   22+                    %integer screenslot,%record(hfm)%name history,
   23+                    %string(15)name)
   24  %recordformat eqf(%record(eqf)%name next,%record(pinf)%name pin,
   25+                   %integer state,when)
   26  
   27  %record(sigf)%namearray slot(1:slotmax)
   28  %record(eqf)%name eventqueue,eclist
   29  %record(eqf)%array ecell(1:eqmax)
   30  %integer now=0
   31  
   32  %integer heapspace=1
   33  %integerarray heap(1:hmax)
   34  %record(sigf)%name nets==nil
   35  %record(compf)%name components==nil
   36  
   37  %record (pinf) test
   38  
   39  print string(test_signal_name)
   40  
   41  %endofprogram
?COMPONENTS unused
?NETS unused
?HEAP unused
?HEAPSPACE unused
?NOW unused
?ECELL unused
?ECLIST unused
?EVENTQUEUE unused
?SLOT unused

   23 Statements compiled
