aboutsummaryrefslogtreecommitdiffstats
path: root/Visitor/Interpreter.php
Commit message (Collapse)AuthorAgeFiles
* Quality: Happy new year!Ivan Enderlin2017-01-101
|
* Disjunction: Fix autoloading.Alexis von Glasow2016-05-091
|
* Quality: Run devtools:cs.Ivan Enderlin2016-01-091
|
* Consistency: Remove `from` calls.Ivan Enderlin2015-12-111
|
* Move to `Hoa\Ustring`.Ivan Enderlin2015-05-291
|
* Move to PSR-1-2 & drop PHP5.3 & `from`/`import`.Ivan Enderlin2015-05-281
|
* Happy new year!Ivan Enderlin2015-01-051
|
* Allow to escape slash.Ivan Enderlin2014-05-211
|
* Add syntactic sugar for class().Ivan Enderlin2014-05-211
| | | | \C <=> class('C').
* Avoid some creation of a #dynamic_resolution node.Ivan Enderlin2014-03-311
|
* Update the regex syntactic sugar.Ivan Enderlin2014-03-311
|
* Happy new year \o/.Ivan Enderlin2014-01-071
|
* Move importations.Ivan Enderlin2013-11-251
|
* Clean a little bit \old(e) support.Ivan Enderlin2013-11-221
| | | | | Remove a useless code in the RAC. And move the `\old(e)` support from the interpreter to the model.
* Support dynamic resolutions as external variables.Ivan Enderlin2013-11-111
| | | | | | `this->foo` is considered as a borrowing variable, with the type `TYPE_EXTERNAL`. Verifications use the contract registry and the binded class of specifications.
* Interpreter can bind a class on the specification.Ivan Enderlin2013-11-111
|
* New `this` support.Ivan Enderlin2013-11-101
| | | | | We no longer have a `#this_identifier` node, but a more generic one: `#dynamic_resolution` (the root can be anything).
* Support $this.Ivan Enderlin2013-11-051
| | | | | Create the sub-library `Hoa\Praspel\AssertionChecker` and introduce $this support through “implicit variables”.
* Autobox single var declaration into a disjunction.Ivan Enderlin2013-09-291
|
* Crate variables are now created in Hoa\Realdom.Ivan Enderlin2013-09-291
|
* Support variables in disjunctions!Ivan Enderlin2013-09-271
|
* Add Praspel representation for \old(…).Ivan Enderlin2013-09-171
|
* Add borrowing variables and \old(…) support.Ivan Enderlin2013-09-161
| | | | | | A borrowing variable represents a link between two variables (kind a redirection). It is useful to create link between pre- and post-state in the contract, such as \old(…).
* Fix \old(e).Ivan Enderlin2013-08-211
|
* Add the regex syntactic sugar: /r/m:s.Ivan Enderlin2013-06-241
| | | | | /r/[m][:s] where r is a regex, m is a modifier and s the maximum size. It is strictly equivalent to regex('/r/[m]', s).
* Add the @default clause!Ivan Enderlin2013-06-101
| | | | The default clause represents a default/else behavior.
* Add support of “with” in @throwable.Ivan Enderlin2013-06-101
| | | | | | | It allows to specify the post-state of data. Example: @throwable T1 t1 with this->foo: true;
* New exceptions architecture.Ivan Enderlin2013-06-071
| | | | | | | Hoa\Praspel\Exception is now an interface. The root exception is Hoa\Praspel\Exception\Generic. We have also added the “Praspel failure” exceptions and the Hoa\Praspel\Exception\Group exception.
* New @throwable clause API.Ivan Enderlin2013-04-231
|
* Fix a bug while interpreting an exception list.Ivan Enderlin2013-04-231
|
* Introduce collection of clauses.Ivan Enderlin2013-04-161
| | | | | | | | | | | | Clauses can have variables, so that they extend Declaration. But a specification or a behavior can have a collection of other clauses, such as a collection of behavior, represented by an identifier. To build a collection of clauses, we need to instance the Collection class with a preset clause and post-clone function. For each new offset in the collection, the associated value is a clone from the preset clause with the post-clone function applied on this clone. This mechanism allows us to build modular collection of clauses.
* Fix an error while computing a @behavior ID.Ivan Enderlin2013-04-161
|
* Rename @forexample to @description.Ivan Enderlin2013-04-161
| | | | | | The @forexample has already a semantics defined in JML. Our @forexample clause has a complete different semantics. In order to avoid confusion, we rename it.
* Add local variable with the “let” keyword.Ivan Enderlin2013-04-091
| | | | | | | | | | | | | A local variable is a contract variable, it does not represent a data of the program (class attribute or method argument). In Praspel: @requires let size: 1..5 and arr: array([…], size); In PHP $requires = $specification->getClause('requires'); $requires->let['size']->in = realdom()->boundinteger(1, 5); $requires['arr']->in = realdom()->array(…, $requires['size']);
* Integerpp has been moved to Natural.Ivan Enderlin2013-03-061
|
* Add the “accepted” token.Ivan Enderlin2013-02-201
| | | | | It helps to recognize an invalid escape character, such as: Foo\Bar\Baz, which is equivalent to Foo\\Bar\\Baz.
* Happy new year \o/.Ivan Enderlin2013-01-011
|
* Add variable in realdom arguments support.Ivan Enderlin2012-12-181
|
* Add the getClause() method.Ivan Enderlin2012-12-071
| | | | Useful when making an endless interpreter.
* Hoa\Realdom API has changed, update the code.Ivan Enderlin2012-12-031
|
* Welcome to Hoa\Praspel \o/!Ivan Enderlin2012-11-231