/* * mylang.my - exercise all language constructs. */ print( 'my', " test script - ", 9, ` July `, 2001 , '\n\n' ); # # test number suffixes: # print( 'Test number suffixes:\n\n' ); print( '\t1f: ', 1f, '\n' ); print( '\t1p: ', 1p, '\n' ); print( '\t1n: ', 1n, '\n' ); print( '\t1u: ', 1u, '\n' ); print( '\t1m: ', 1m, '\n' ); print( '\t1 : ', 1 , '\n' ); print( '\t1k: ', 1k, '\n' ); print( '\t1M: ', 1M, '\n' ); print( '\t1G: ', 1G, '\n' ); print( '\t1T: ', 1T, '\n\n' ); # # test arithmetic: # print( 'Test arithmetic:\n\n' ); a = 2; b = 5; c = 7; print( '\ta: ', a, '\n' ); print( '\tb: ', b, '\n' ); print( '\tc: ', c, '\n\n' ); print( '\ta + b: ', a + b, '\n' ); print( '\ta - b: ', a - b, '\n' ); print( '\ta * b: ', a * b, '\n' ); print( '\ta / b: ', a / b, '\n' ); print( '\ta % b: ', a % b, '\n\n' ); print( '\ta += b: ', a += b, '\n' ); print( '\ta -= b: ', a -= b, '\n' ); print( '\ta *= b: ', a *= b, '\n' ); print( '\ta /= b: ', a /= b, '\n' ); print( '\ta %= b: ', a %= b, '\n\n' ); print( '\ta < b: ', a < b, '\n' ); print( '\ta <= b: ', a <= b, '\n' ); print( '\ta > b: ', a > b, '\n' ); print( '\ta >= b: ', a >= b, '\n' ); print( '\ta == b: ', a == b, '\n' ); print( '\ta != b: ', a != b, '\n\n' ); print( '\t-a: ', -a, '\n' ); print( '\t!a: ', !a, '\n\n' ); print( '\ta++: ', a++, '\n' ); print( '\t++a: ', ++a, '\n\n' ); # # test strings: # print( 'Test escape characters:\n\t' ); s = '[\\a\a][\\b\b][\\f\f][\\n\n][\\r\r][\\t\t][\\v\v][\\\?\?][\\\"\"][\\\'\']\n\n'; print( s ); # # test flow control: # # # test && and || short-circuit code. # print( 'Test && and || short-circuit code.\n\n' ); a = 0; b = 0; print( '\ta:', a, ' b:', b, '\n' ); print( '\t\ta && b: ', a && b , '\n' ); print( '\t\ta || b: ', a || b , '\n' ); a = 1; b = 0; print( '\n\ta:', a, ' b:', b, '\n' ); print( '\t\ta && b: ', a && b , '\n' ); print( '\t\ta || b: ', a || b , '\n' ); a = 0; b = 7; print( '\n\ta:', a, ' b:', b, '\n' ); print( '\t\ta && b: ', a && b , '\n' ); print( '\t\ta || b: ', a || b , '\n' ); print( '\n\tb: ', b ); print( '\n\ta: ', a=0, '\ta && b++: ', a && b++ , '\tb: ', b, '\n' ); print( '\ta: ', a=1, '\ta && b++: ', a && b++ , '\tb: ', b, '\n' ); print( '\n\ta: ', a=0, '\ta || b++: ', a || b++ , '\tb: ', b, '\n' ); print( '\ta: ', a=1, '\ta || b++: ', a || b++ , '\tb: ', b, '\n' ); # # test if(): # print( '\nTest if():\n\t' ); if ( a < b ) print ( 'a < b\n' ); else if ( a > b ) print ( 'a > b\n' ); else print ( 'a == b\n' ); # # test while(): # print( '\nTest while():\n\t' ); a = 0; while( a++ < 10 ) print( a, ' ' ); print ( '\n' ); # # test for(): # print( '\nTest for():\n\t' ); for( i = -5; i < 5; i++ ) print( i, ' ' ); print ( '\n' ); # # test function definition - recognized, but not implemented: # print( '\nTest function definition:\n\t' ); function foo(a, b, c) { print( '\tfunction foo(a,b,c):\n' ); } # # function call - needs function to be registered (context.set() ): # print( '\nTest function call:\n\t' ); print( 'fabs(-3): ', fabs(-3), '\n' ); # # array subscript - needs fbufferf to be registered (context.set() ): # print( '\nTest array subscription:\n\t' ); print( 'array[2]: ', array[2], '\n' ); # # end of file #