DslInitialisation.class.php (675B)
1 <?php 2 3 namespace dsl\ast; 4 5 use dsl\DslRuntimeException; 6 use dsl\DslToken; 7 8 class DslInitialisation implements DslStatement 9 { 10 private $name; 11 private $value; 12 13 public function __construct( $name, $parameters ) 14 { 15 $this->name = $name; 16 $this->value = new DslExpression( $parameters ); 17 } 18 19 public function execute( & $context ) { 20 if ( array_key_exists( $this->name, $context ) ) 21 throw new DslRuntimeException('variable '.$this->name.' is already initialised'); 22 23 $context[ $this->name ] = $this->value->execute( $context ); 24 //echo "new var: ".$this->name.':'.$context[$this->name]; 25 26 } 27 28 public function parse($tokens) 29 { 30 // TODO: Implement parse() method. 31 } 32 }