core: new script operators: eq, ne, ieq, ine
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Tue, 28 Apr 2009 17:48:11 +0000 (19:48 +0200)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Tue, 28 Apr 2009 17:48:11 +0000 (19:48 +0200)
commit298512a2b79ff3bd9405a63c5d05030b5ec21de3
treedc0a655a90068c59fdb5a061751a6aaec328af9a
parent3c8fc182ae386713f15e6a0362924e72b257c31e
core: new script operators: eq, ne, ieq, ine

Added operators for: - string == and string != : eq, ne
                     - integer == and integer!= : ieq, ine
They are almost equivalent to == or !=, but they force the
conversion of their operands (eq to string and ieq to int),
allowing among other things better type checking on startup
and more optimizations.
Non equiv. examples: 0 == "" (true) is not equivalent to 0 eq ""
(false: it evaluates to "0" eq ""). "a" ieq "b" (true: (int)"a" is
0 and (int)"b" is 0) is not equivalent to "a" == "b" (false).

Note: the names are not final, they are mostly for testing.
Future releases might replace ==/!= with ieq/ine and use eq/ne for
strings.
cfg.lex
cfg.y