name=[↵] repeats the most recent assignment to variable name.JXN_versus_Java, JxnSimplifiedSyntaxTable and JXN_EBNF_Syntax
'*' may be omitted a b ≡ a * b, 2t ≡ 2 * t, 2(a+3b) ≡ 2 * ( a + 3 * b )a / b c ≡ a / b * c ≡ ( a / b ) * c ≠ a / ( b c ) ≡ a / ( b * c ) ≅ a / b / c
sqrt 3 ≡ sqrt(3), sin 2 t ≡ sin( 2 * t ), but exp 2 * t ≡ exp(2) * t
a b is resolved as follows:a b is interpretered as a * b if variable a is defind a(b) if method a is defined for b else error message: identifier a undefined'^' or alternatively "**" as the exponentiation operator y^x ≡ y**x ≡ pow( y, x )'*', '/' and the ommited '*'-operator a y^x b ≡ a * pow( y, x ) * b2y^3x ≡ 2 y^3 x ≡ 2 * pow( y, 3 ) * x'-'-operator (→ Wikipedia) -y^x ≡ -(y^x) ≡ -pow( y, x )@ClassName(…) calls the constructor: @ClassName(…) in JXN stands for new ClassName(…) in Java.$ contains the result of the most recent statement.
sqrt(2)
= 1.4142135623730951 (double)
$^2
= 2.0000000000000004 (double)
JxnSimplifiedSyntaxTable):
y = x^2 + p x + q ≡ y = pow( x, 2 ) + p * x + q
z = y^sqrt 2x ≡ z = pow( y, sqrt( 2 * x ) )
x = exp( -0.5 t^2 ) cos( 2 PI f ( t - t0 ) )
= exp -0.5 t^2 * cos 2 PI f ( t - t0 ) ≡ x = exp( -0.5 * pow( t, 2 ) ) * cos( 2 * PI * f * ( t - t0 ) )
but
x = exp -0.5 t^2 cos 2 PI f ( t - t0 ) ≡ x = exp( -0.5 * pow( t, 2 ) * cos( 2 * PI * f * ( t - t0 ) ) )Avoid the missleading notation using the exponentiation operator (Irrespective of the notation
'^' is of higher priority than the omitted '*'-operator):
exp -2x^2t≡ exp -2 x^2 t ≡ exp( -2 * pow( x, 2 ) * t )y^-2x^2t≡ y^-2 x^2 t ≡ pow( y, -2 ) * pow( x, 2 ) * t exp -2(x+1) ≡ exp( -2 * ( x + 1 ) )y^-2(x+1)≡ y^-2 ( x + 1 ) ≡ pow( y, -2 ) * ( x + 1 )sqrt(2+3)^-2x≡ sqrt(2+3)^-2 x ≡ pow( sqrt( 2 + 3 ), -2 ) * xy(2+3)^-2x≡ y (2+3)^-2 x ≡ y * pow( 2 + 3, -2 ) * x
f x.g y ≡ f(x.g(y)) ≠ f(x).g(y) ( ≡ (f x).g y )f (x).g()≡ f(x).g() ≠ f( (x).g() )sqrt ( 2.5 2.5 ).intValue()! avoid = 2 (int) sqrt( 2.5 2.5 ).intValue() ! = sqrt( 2.5 * 2.5 ).intValue() => sqrt( 6.25 ) > 2.5 (double) > 2 (int) = 2 (int) sqrt 2.5 ( 2.5 ).intValue() ! = sqrt( 2.5 * (2.5).intValue() ) => sqrt( 5.0 ) = 2.23606797749979 (double) sqrt( ( 2.5 2.5 ).intValue() ) ! = sqrt( ( 2.5 * 2.5 ).intValue() ) => sqrt( 6.0 ) = 2.449489742783178 (double) (sqrt 2.5 * 2.5).intValue() ! = ( sqrt(2.5) * 2.5 ).intValue() = 3 (int) sqrt 2.5 * (2.5).intValue() ! = sqrt(2.5) * (2.5).intValue() = 3.1622776601683795 (double)
@class_name object.method_name single_argument ≡ @class_name(object.method_name(single_argument)) ≠ @class_name(single_argument1).method_name(single_argument2)
part_of_name[Page↓] selects from the known variable names (starting width part_of_name)identifier.[Page↓] or identifier.part_of_name[Page↓] selects from public methods and fields
of the object or class given by identifier