aboutsummaryrefslogtreecommitdiffstats
path: root/Grammar.pp
Commit message (Collapse)AuthorAgeFiles
* Happy new year!Ivan Enderlin2015-01-051
|
* Add syntactic sugar for class().Ivan Enderlin2014-05-211
| | | | \C <=> class('C').
* Add the ::nothing:: token.Ivan Enderlin2014-04-111
|
* Avoid some creation of a #dynamic_resolution node.Ivan Enderlin2014-03-311
|
* Happy new year \o/.Ivan Enderlin2014-01-071
|
* The @description clause can be present anywhere.Ivan Enderlin2014-01-031
|
* 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).
* Be more permissive about @requires in a @behavior.Ivan Enderlin2013-09-261
|
* Optimize grammar. #performanceIvan Enderlin2013-09-231
|
* Remove a useless rule. #performanceIvan Enderlin2013-09-231
|
* A @behavior must contains a @requires.Ivan Enderlin2013-09-201
|
* The @default clause must not contain @invariant.Ivan Enderlin2013-08-271
|
* Allow empty contract.Ivan Enderlin2013-08-271
|
* Allow the use of `this` without anything else.Ivan Enderlin2013-08-271
|
* @throwable declares a disjunction of clauses.Ivan Enderlin2013-07-091
|
* Remove length from regex syntactic sugar.Ivan Enderlin2013-06-251
|
* 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).
* A @behavior cannot have an @invariant clause.Ivan Enderlin2013-06-131
|
* 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 @throwable clause API.Ivan Enderlin2013-04-231
|
* 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.
* Remove “xor” proposal.Ivan Enderlin2013-04-091
|
* 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']);
* 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.
* Remove the “class” rule (useless for now).Ivan Enderlin2013-02-151
|
* Escape tokens.Ivan Enderlin2013-02-151
|
* Update API documentation.Ivan Enderlin2013-01-041
|
* Allow variables in realdom arguments.Ivan Enderlin2012-12-181
| | | | Also, prefix clauses tokens by “at_”.
* Welcome to Hoa\Praspel \o/!Ivan Enderlin2012-11-231