print "\nStart of CST 8152 Interpreter Test.\n", "First, some integers.\n"; _ = 1; __ = 2; ___ = 3; ____= 4; _____=5; print "The first sum is ", _+__+___+____+_____,"\n\n"; a = 12300 ; b = a + 1; c = b + 1; d = c + 1; e=d+1;f=e+1;g=f+1;h=g+1;i=h+1;j=i+1;k=j+1;l=k+1;m=l+1;n=m+1;o=n+1; p=o+1;q=p+1;r=q+1;s=r+1;t=s+1;u=t+1;v=u+1;w=v+1;x=w+1;y=x+1;z=y+1; nested = (a+(b+(c+(d+(e+(f+(g+(h+(i+(j+(k+(l+(m+(n+(o+(p+(q+(r+(s+(t+(u+(v+(w+(x+(y+(z)))))))))))))))))))))))))); print "a is \"", a, "\" m is \"", m, "\" and z is \"", z, "\".\n" ; print "nested is \"", nested, "\"\n"; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Change three of the integers (a,m,z).\n"; a = 11111; m = a + 10000; z = m + 10000; print "a is \"", a, "\" m is \"", m, "\" and z is \"", z, "\".\n" ; nested = (a+(b+(c+(d+(e+(f+(g+(h+(i+(j+(k+(l+(m+(n+(o+(p+(q+(r+(s+(t+(u+(v+(w+(x+(y+(z)))))))))))))))))))))))))); print "nested is \"", nested, "\"\n"; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Now try to change some variables to be strings:\n" ; a = "A Changed to be a string A END"; m = "M Changed to be a string M END"; z = "Z Changed to be a string Z END"; print "End of changes to strings.\n"; print "Now try to change some strings to be big integers:\n"; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1 = "a1 END"; bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1 = "b1 END"; ccccccccccccccccccccccccccccccccccccccccccc1 = "c1 END"; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1 = 32767; bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1 = 32768; ccccccccccccccccccccccccccccccccccccccccccc1 = -32769; print "End of changes to integers.\n"; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Define some string variables.\n"; astringvariable = "A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END" ; bstringvariable = "B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END" ; cstringvariable = "C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END" ; dstringvariable="D string END";estringvariable="E string END";fstringvariable="F string END"; adupstring=astringvariable; bdupstring=bstringvariable; cdupstring=cstringvariable; ddupstring=dstringvariable; edupstring=estringvariable; fdupstring=fstringvariable; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Change the a b and c strings.\n"; astringvariable = "Changed the A string END"; bstringvariable = "Changed the B string END"; cstringvariable = "Changed the C string END"; print "Verify adupstring is unchanged: \"", adupstring, "\"\n"; print "Verify bdupstring is unchanged: \"", bdupstring, "\"\n"; print "Verify cdupstring is unchanged: \"", cdupstring, "\"\n"; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Set a very long variable name to be 12345:\n"; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab = 12345 ; print "Is the value of the long variable 12345?\n", "Long Variable = "; print aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab ; print "\n"; print "\nSymbol Table Dump:\n" ; dump; print "\n"; print "Arithmetic on strings may not be allowed.\n"; a = astringvariable * bstringvariable; m = cstringvariable + ""; z = "" - ""; z = 2 / estringvariable; z = - ""; print "\n\n"; print "Divide by zero test.\n"; foo = 999; foo = foo / 0; foo = foo / ( 1 / 2 ); foo = foo / ( foo - foo ); print "\n\n"; print "No such variable test.\n"; print "\n", nosuchvariable, "\n"; print "\n\n"; print "Numeric dump operands test.\n"; dump 1,2,3,4,5; print "\n\n"; print "Unknown symbol dump test.\n"; dump "No Such Variable"; print "\n\n"; print "Integer overflow test.\n"; print "Big: ", 1000000 * 1000000 * 1000000 * 1000000, "\n"; print "\n\n"; print "Unterminated string constant follows\n", "Start of unterm