Example #1
0
    }
}
$n = "<br />";
$context = new InterpreterContext();
$literal = new LiteralExpression('Четыре');
$literal->interpret($context);
print $context->lookup($literal) . $n;
$context = new InterpreterContext();
$myvar = new VariableExpression('input', 'Четыре');
$myvar->interpret($context);
print $context->lookup($myvar) . $n;
$newvar = new VariableExpression('input');
$newvar->interpret($context);
print $context->lookup($myvar) . $n;
$myvar->setValue('Пять');
$myvar->interpret($context);
print $context->lookup($myvar) . $n;
print $context->lookup($newvar) . $n;
$context = new InterpreterContext();
$input = new VariableExpression('input');
$statement = new BooleanOrExpression(new EqualsExpression($input, new LiteralExpression('Четыре')), new EqualsExpression($input, new LiteralExpression('4')));
foreach (['Четыре', '4', '52'] as $val) {
    $input->setValue($val);
    print "{$val} : ";
    $statement->interpret($context);
    if ($context->lookup($statement)) {
        print "соответствует {$n}";
    } else {
        print "не соответствует {$n}";
    }
}