%begin
! GIL view program    KJC
! -----------------------

%include "edwin:consts.inc"
%include "edwin:specs.inc"
%external %routine %spec RECTANGLE      %alias "EDWIN_RECTANGLE"  (%integer XL, YL, XU, YU)

%integer c, i,j, k, l

%on %event 9 %start
    terminate edwin
    print string("EOF detected - stop"); newline
   %stop
%finish

!open input(1, "input.gil")
select input(1)

initialisefor(defaultdevice)
set colour(blue);   ! default

%cycle
!   skip symbol %while next symbol=' ' %or next symbol=nl
   read symbol(c)
   print symbol(c)
   %if c='A' %start
      ! Init
      read(i); read(j); read(k); read(l)
      write(i,5); write(j,5); write(k,5); write(l,5); newline
      Window(i,k,j,l)
   %finish
   %if c='B' %start
      ! Box
      read(i); read(j); read(k); read(l)
      write(i,4); write(j,4); write(k,5); write(l,5); newline
      rectangle(i,j,k,l)
   %finish
   %if c='C' %start
      ! Set Colour
      read(i)
      write(i,4); newline
      set colour(i)
   %finish
   %if c='L' %start
      ! Line
      read(i); read(j); read(k); read(l)
      write(i,5); write(j,5); write(k,5); write(l,5); newline
      moveabs(i,j)
      lineabs(k,l)
   %finish
   %if c='S' %start
      ! Set Style
      read(i)
      ! Set style(i)
   %finish
   %if c='!' %start
      skip symbol %while next symbol#nl
   %finish
   %if c='E' %then %exit
   skip symbol;   ! {nl}
%repeat

terminate edwin
print string("E found - normal; termination"); newline

%endofprogram
