|
|
|
|
@ -289,33 +289,39 @@ Java::
@@ -289,33 +289,39 @@ Java::
|
|
|
|
|
+ |
|
|
|
|
[source,java,indent=0,subs="verbatim,quotes",role="primary"] |
|
|
|
|
---- |
|
|
|
|
// Addition |
|
|
|
|
// -- Addition -- |
|
|
|
|
int two = parser.parseExpression("1 + 1").getValue(int.class); // 2 |
|
|
|
|
|
|
|
|
|
// Subtraction |
|
|
|
|
// -- Subtraction -- |
|
|
|
|
|
|
|
|
|
int four = parser.parseExpression("1 - -3").getValue(int.class); // 4 |
|
|
|
|
|
|
|
|
|
double d = parser.parseExpression("1000.00 - 1e4").getValue(double.class); // -9000 |
|
|
|
|
|
|
|
|
|
// Multiplication |
|
|
|
|
int six = parser.parseExpression("-2 * -3").getValue(int.class); // 6 |
|
|
|
|
// -- Multiplication -- |
|
|
|
|
|
|
|
|
|
six = parser.parseExpression("-2 * -3").getValue(int.class); // 6 |
|
|
|
|
|
|
|
|
|
double twentyFour = parser.parseExpression("2.0 * 3e0 * 4").getValue(double.class); // 24.0 |
|
|
|
|
|
|
|
|
|
// Division |
|
|
|
|
// -- Division -- |
|
|
|
|
|
|
|
|
|
int minusTwo = parser.parseExpression("6 / -3").getValue(int.class); // -2 |
|
|
|
|
|
|
|
|
|
double one = parser.parseExpression("8.0 / 4e0 / 2").getValue(double.class); // 1.0 |
|
|
|
|
|
|
|
|
|
// Modulus |
|
|
|
|
// -- Modulus -- |
|
|
|
|
|
|
|
|
|
int three = parser.parseExpression("7 % 4").getValue(int.class); // 3 |
|
|
|
|
|
|
|
|
|
int one = parser.parseExpression("8 / 5 % 2").getValue(int.class); // 1 |
|
|
|
|
int oneInt = parser.parseExpression("8 / 5 % 2").getValue(int.class); // 1 |
|
|
|
|
|
|
|
|
|
// -- Exponential power -- |
|
|
|
|
|
|
|
|
|
// Exponential power |
|
|
|
|
int maxInt = parser.parseExpression("(2^31) - 1").getValue(int.class); // Integer.MAX_VALUE |
|
|
|
|
|
|
|
|
|
// Operator precedence |
|
|
|
|
// -- Operator precedence -- |
|
|
|
|
|
|
|
|
|
int minusTwentyOne = parser.parseExpression("1+2-3*8").getValue(int.class); // -21 |
|
|
|
|
---- |
|
|
|
|
|
|
|
|
|
@ -323,32 +329,37 @@ Kotlin::
@@ -323,32 +329,37 @@ Kotlin::
|
|
|
|
|
+ |
|
|
|
|
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] |
|
|
|
|
---- |
|
|
|
|
// Addition |
|
|
|
|
val two = parser.parseExpression("1 + 1").getValue(Int::class.java) // 2 |
|
|
|
|
// -- Addition -- |
|
|
|
|
|
|
|
|
|
var two = parser.parseExpression("1 + 1").getValue(Int::class.java) // 2 |
|
|
|
|
|
|
|
|
|
// -- Subtraction -- |
|
|
|
|
|
|
|
|
|
// Subtraction |
|
|
|
|
val four = parser.parseExpression("1 - -3").getValue(Int::class.java) // 4 |
|
|
|
|
|
|
|
|
|
val d = parser.parseExpression("1000.00 - 1e4").getValue(Double::class.java) // -9000 |
|
|
|
|
|
|
|
|
|
// Multiplication |
|
|
|
|
val six = parser.parseExpression("-2 * -3").getValue(Int::class.java) // 6 |
|
|
|
|
// -- Multiplication -- |
|
|
|
|
|
|
|
|
|
six = parser.parseExpression("-2 * -3").getValue(Int::class.java) // 6 |
|
|
|
|
|
|
|
|
|
val twentyFour = parser.parseExpression("2.0 * 3e0 * 4").getValue(Double::class.java) // 24.0 |
|
|
|
|
|
|
|
|
|
// Division |
|
|
|
|
// -- Division -- |
|
|
|
|
|
|
|
|
|
val minusTwo = parser.parseExpression("6 / -3").getValue(Int::class.java) // -2 |
|
|
|
|
|
|
|
|
|
val one = parser.parseExpression("8.0 / 4e0 / 2").getValue(Double::class.java) // 1.0 |
|
|
|
|
|
|
|
|
|
// Modulus |
|
|
|
|
// -- Modulus -- |
|
|
|
|
|
|
|
|
|
val three = parser.parseExpression("7 % 4").getValue(Int::class.java) // 3 |
|
|
|
|
|
|
|
|
|
val one = parser.parseExpression("8 / 5 % 2").getValue(Int::class.java) // 1 |
|
|
|
|
val oneInt = parser.parseExpression("8 / 5 % 2").getValue(Int::class.java) // 1 |
|
|
|
|
|
|
|
|
|
// -- Exponential power -- |
|
|
|
|
|
|
|
|
|
var maxInt = parser.parseExpression("(2^31) - 1").getValue(Int::class.java) // Integer.MAX_VALUE |
|
|
|
|
val maxInt = parser.parseExpression("(2^31) - 1").getValue(Int::class.java) // Integer.MAX_VALUE |
|
|
|
|
|
|
|
|
|
// -- Operator precedence -- |
|
|
|
|
|
|
|
|
|
|