L1VM - math new expressions
L1VM - math new expressions
I now made BUGFIXES in the parse rpolish part of Brackets. And I added new math expressions for the {} curly brackets expressions:
// math-test.l1com - Brackets - new math expression test
//
//
#include <intr.l1h>
(main func)
(set int64 1 zero 0)
(set int64 1 xd 23)
(set int64 1 yd 42)
(set int64 1 zd 0)
(set int64 1 zerod 0)
(set int64 1 i 0)
(set int64 1 f 0)
(set string s messagestr "xd < yd and xd > 0")
// new math expression:
{i = (xd < yd) && (xd > zerod)}
print_i (i)
print_n
(i if)
print_s (messagestr)
print_n
(endif)
((((xd yd <)(xd zerod >) &&) f =) f if)
print_s (messagestr)
print_n
(endif)
(255 zero 0 0 intr0)
(funcend)
This prints:
$ l1vm prog/math-test -q
1
xd < yd and xd > 0
xd < yd and xd > 0
The math operators precedence is that of C!