Aggiunto l' operatore ?= (match) per le stringhe.

git-svn-id: svn://10.65.10.50/trunk@121 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-09-01 13:55:12 +00:00
parent 97f70f9c9a
commit 56b27dc6bd

View File

@ -340,6 +340,11 @@ void TExpression::eval()
evalstack.push(real((o1 == o2) ? 1.0 : 0.0)); evalstack.push(real((o1 == o2) ? 1.0 : 0.0));
} }
break; break;
case _match:
s2 = (TString&) evalstack.pop();
s1 = (TString&) evalstack.pop();
evalstack.push(TString((s1.match(s2)) ? "1" : "0"));
break;
case _noteq: case _noteq:
if (_type == _strexpr) if (_type == _strexpr)
{ {
@ -781,7 +786,7 @@ TCodesym TExpression::__expression(TCodesym startsym)
((sym == _minus) || (sym == _plus) || (sym == _equal) || ((sym == _minus) || (sym == _plus) || (sym == _equal) ||
(sym == _noteq) || (sym == _gt) || (sym == _lt) || (sym == _noteq) || (sym == _gt) || (sym == _lt) ||
(sym == _gteq) || (sym == _lteq) || (sym == _and) || (sym == _gteq) || (sym == _lteq) || (sym == _and) ||
(sym == _or))) (sym == _or) || (sym == _match)))
{ {
TCodesym savedsym = sym; TCodesym savedsym = sym;
sym = __gettoken(); sym = __gettoken();