add pattern Interpreter

This commit is contained in:
Roman Martinuk
2021-03-14 18:40:48 +03:00
parent bd124378c5
commit af0fccfef3
7 changed files with 158 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
<?php declare(strict_types=1);
namespace DesignPatterns\Behavioral\Interpreter;
use Exception;
class Context
{
private array $poolVariable;
public function lookUp(string $name): bool
{
if (!key_exists($name, $this->poolVariable)) {
throw new Exception("no exist variable: $name");
}
return $this->poolVariable[$name];
}
public function assign(VariableExp $variable, bool $val)
{
$this->poolVariable[$variable->getName()] = $val;
}
}