         Edinburgh IMP77 Compiler - Version 8.4

    1  %begin
    2    %owninteger result, a=1,b=1,c=1,d=1,e=1,f=1,g=1,h=1,i=1,j=1,k=1,l=1,m=1,n=1,o=1,p=1,q=1,r=1,s=1,t=1,u=1,v=1,w=1,x=1,y=1,z=1
    3  
    4    result = a !! b ! c ! d; print string("0: "); write(result, 0); newline
    5    result = a ^^ b * c; print string("1: "); write(result, 0); newline
    6    result = a; print string("2: "); write(result, 0); newline
    7    result = a // b + c * d - e << f * g * h << i ^^ j; print string("3: "); write(result, 0); newline
    8    result = a >> b << c; print string("4: "); write(result, 0); newline
    9    result = a - b ^^ c - d & e >> (a + b !! c + (a * b)) !! g; print string("5: "); write(result, 0); newline
   10    result = a ! (a !! b !! c) // c & d * e & f; print string("6: "); write(result, 0); newline
   11    result = a & b + c >> (a >> b) // e; print string("7: "); write(result, 0); newline
   12    result = a ^^ (a !! b) ^^ (a !! b) ^^ d + e; print string("8: "); write(result, 0); newline
   13    result = a << b << c << (a !! b) + e - f ^^ (a + b - c << d - e) ^^ h << i; print string("9: "); write(result, 0); newline
   14    result = a // b ! c // d & e - (a // b + c >> d) + g !! h; print string("10: "); write(result, 0); newline
   15    result = a ! b - c ! d >> (a - b) // (a & (a << b) // c << d) ^^ g * h << (a << b - c ! d << e); print string("11: "); write(result, 0); newline
   16    result = a >> (a - b) ^^ c & d; print string("12: "); write(result, 0); newline
   17    result = a // b !! c & d; print string("13: "); write(result, 0); newline
   18    result = a >> b << c !! (a + b + c * d & e) ! e & f ^^ g * h << i; print string("14: "); write(result, 0); newline
   19    result = a & (a * (a // b) >> (a - b)) ! c - d >> e + f; print string("15: "); write(result, 0); newline
   20    result = a !! b ! (a * b) & d * e; print string("16: "); write(result, 0); newline
   21    result = a; print string("17: "); write(result, 0); newline
   22    result = a * b ^^ c >> d // e - f // g; print string("18: "); write(result, 0); newline
   23    result = a; print string("19: "); write(result, 0); newline
   24    result = a ^^ b ^^ (a // b) >> d; print string("20: "); write(result, 0); newline
   25    result = a !! b & (a & b) * d << e !! f; print string("21: "); write(result, 0); newline
   26    result = a << (a * b) ^^ c + d << e - f * g ! h ^^ i; print string("22: "); write(result, 0); newline
   27    result = a ^^ b + c ! (a + b >> c) & e; print string("23: "); write(result, 0); newline
   28    result = a !! b + (a * b) + d ! e ^^ f * g // h + (a ^^ b ^^ c * d) & (a ^^ b !! c ! (a ^^ b) // e); print string("24: "); write(result, 0); newline
   29    result = a << b; print string("25: "); write(result, 0); newline
   30    result = a - b !! c & d; print string("26: "); write(result, 0); newline
   31    result = a !! b - c; print string("27: "); write(result, 0); newline
   32    result = a >> b * (a >> (a // b) // c // d) + d << e >> f + g >> h ^^ i; print string("28: "); write(result, 0); newline
   33    result = a // b << c * d; print string("29: "); write(result, 0); newline
   34    result = a * (a >> b ^^ (a & b)) + c >> d + (a * b) << f; print string("30: "); write(result, 0); newline
   35    result = a ^^ b >> c + d; print string("31: "); write(result, 0); newline
   36    result = a >> b - c & d * e << f ^^ g & h; print string("32: "); write(result, 0); newline
   37    result = a // b << (a - b ^^ c >> (a // b)) ^^ d * (a ^^ b * c) * f << g - h ^^ i ! (a << b + c & d & e); print string("33: "); write(result, 0); newline
   38    result = a >> b !! (a !! b) !! d >> e !! f; print string("34: "); write(result, 0); newline
   39    result = a + b + c // d << e !! f ! g + (a + b); print string("35: "); write(result, 0); newline
   40    result = a & b - (a << b >> c) + (a << b) + e << f ^^ g >> h // i >> j; print string("36: "); write(result, 0); newline
   41    result = a ^^ b << c << d - e + f >> g ! (a // b); print string("37: "); write(result, 0); newline
   42    result = a // b; print string("38: "); write(result, 0); newline
   43    result = a; print string("39: "); write(result, 0); newline
   44    result = a << b ^^ c * d // e - f * g * h << i - j; print string("40: "); write(result, 0); newline
   45    result = a - b - c - d + e; print string("41: "); write(result, 0); newline
   46    result = a; print string("42: "); write(result, 0); newline
   47    result = a ! b !! (a - b !! (a + b) - d) * (a << b !! c !! d << e) << e ^^ f << g !! h >> i; print string("43: "); write(result, 0); newline
   48    result = a ^^ (a ! b) - c ! d; print string("44: "); write(result, 0); newline
   49    result = a >> b >> c * d * e + f & g // h // i & j; print string("45: "); write(result, 0); newline
   50    result = a ^^ b * c >> d; print string("46: "); write(result, 0); newline
   51    result = a; print string("47: "); write(result, 0); newline
   52    result = a & b !! c; print string("48: "); write(result, 0); newline
   53    result = a - b // c >> d - e >> f !! g ! h; print string("49: "); write(result, 0); newline
   54    result = a + b - c // d ^^ e & f ! g >> h ! i; print string("50: "); write(result, 0); newline
   55    result = a ^^ b + c !! d << (a ! b !! c) + f; print string("51: "); write(result, 0); newline
   56    result = a * b; print string("52: "); write(result, 0); newline
   57    result = a ^^ b + c * d & e // f >> g; print string("53: "); write(result, 0); newline
   58    result = a << b + c & d; print string("54: "); write(result, 0); newline
   59    result = a << (a ! b) & c; print string("55: "); write(result, 0); newline
   60    result = a >> b + c ^^ d; print string("56: "); write(result, 0); newline
   61    result = a // b >> c; print string("57: "); write(result, 0); newline
   62    result = a * b & c - d ! e; print string("58: "); write(result, 0); newline
   63    result = a !! b; print string("59: "); write(result, 0); newline
   64    result = a - b // c << d >> e << f & (a >> b !! c ! (a ^^ b)) !! h !! i; print string("60: "); write(result, 0); newline
   65    result = a ^^ b >> c // d & e ^^ f << g // h - (a - b + c + d) + j; print string("61: "); write(result, 0); newline
   66    result = a << b - c // d; print string("62: "); write(result, 0); newline
   67    result = a * b << c !! d; print string("63: "); write(result, 0); newline
   68    result = a * (a << b & c) !! c << (a ^^ b << c) !! e; print string("64: "); write(result, 0); newline
   69    result = a ^^ b * c - d // (a - b) !! f + g // h; print string("65: "); write(result, 0); newline
   70    result = a !! (a ! b) ^^ c + d + e // f >> g; print string("66: "); write(result, 0); newline
   71    result = a + b; print string("67: "); write(result, 0); newline
   72    result = a ! b + c // d * e + f << g !! h - i; print string("68: "); write(result, 0); newline
   73    result = a + b ^^ c >> d // e + f ^^ g - h << i << j; print string("69: "); write(result, 0); newline
   74    result = a << b ! c; print string("70: "); write(result, 0); newline
   75    result = a & b !! c !! (a >> (a >> b) ! c & d) + e << f * g * h // i; print string("71: "); write(result, 0); newline
   76    result = a & b ^^ c << d - e * f !! (a * b ^^ c & d) ! h - (a // b * c << d) >> j; print string("72: "); write(result, 0); newline
   77    result = a; print string("73: "); write(result, 0); newline
   78    result = a !! b - c * d - e << f // g * (a >> b & c * d); print string("74: "); write(result, 0); newline
   79    result = a ! b - (a ^^ b) + (a + b) & e; print string("75: "); write(result, 0); newline
   80    result = a !! b // c ^^ d * e; print string("76: "); write(result, 0); newline
   81    result = a + b ^^ c // d; print string("77: "); write(result, 0); newline
   82    result = a >> b << c // d ^^ e ! f; print string("78: "); write(result, 0); newline
   83    result = a !! b // c !! d >> e + f - g + h + (a ! (a & b) ^^ c & d); print string("79: "); write(result, 0); newline
   84    result = a - b // c // d & (a ! b - c) * f ^^ g >> h * i; print string("80: "); write(result, 0); newline
   85    result = a >> b // c << d // e * f // g !! h; print string("81: "); write(result, 0); newline
   86    result = a // b; print string("82: "); write(result, 0); newline
   87    result = a + b ! (a + b ^^ c) + d & e; print string("83: "); write(result, 0); newline
   88    result = a; print string("84: "); write(result, 0); newline
   89    result = a * b; print string("85: "); write(result, 0); newline
   90    result = a; print string("86: "); write(result, 0); newline
   91    result = a // b + (a >> b // c) + (a + b - c + d) << e - (a ! b) & g; print string("87: "); write(result, 0); newline
   92    result = a !! b * c + d + e; print string("88: "); write(result, 0); newline
   93    result = a << b & c ^^ d; print string("89: "); write(result, 0); newline
   94    result = a & b + c ! d ! e - f & g << h << i // j; print string("90: "); write(result, 0); newline
   95    result = a & (a ^^ b) // c; print string("91: "); write(result, 0); newline
   96    result = a * b ! (a ^^ b) ^^ d; print string("92: "); write(result, 0); newline
   97    result = a << b ^^ c << d << e ^^ f; print string("93: "); write(result, 0); newline
   98    result = a + b - c ^^ d !! (a * b // c) - f; print string("94: "); write(result, 0); newline
   99    result = a << (a * b ^^ c) ^^ c // d >> e !! f << (a & b + c) !! h & i; print string("95: "); write(result, 0); newline
  100    result = a // (a * b) << c ! (a ^^ b ! c - d) ^^ e - (a - (a // b) - c << d) >> (a !! b) // h; print string("96: "); write(result, 0); newline
  101    result = a ^^ b & c ! d * e << f >> g; print string("97: "); write(result, 0); newline
  102    result = a * b - c << (a !! b >> c ! (a * b & c) ! (a ! b)) !! e - f // g ! h !! i & j; print string("98: "); write(result, 0); newline
  103    result = a + b & c << d + e * f !! g; print string("99: "); write(result, 0); newline
  104  %endofprogram
?Z unused
?Y unused
?X unused
?W unused
?V unused
?U unused
?T unused
?S unused
?R unused
?Q unused
?P unused
?O unused
?N unused
?M unused
?L unused
?K unused

  403 Statements compiled
