https://github.com/hoaproject/Praspel

sort by:
Revision Author Date Message Commit Date
3825237 Start Rüsh Release. 16 September 2014, 19:55:38 UTC
b2dda6c Generate an object without a constructor. 25 August 2014, 08:23:21 UTC
20d62e3 Catch all exceptions. 25 August 2014, 08:09:33 UTC
cf7c9b1 Remove the ƒ function. 07 July 2014, 07:38:30 UTC
6202b1e Link to atoum/praspel-extension. 30 June 2014, 12:17:57 UTC
f047900 Evaluate the \pred(p) construction. 21 May 2014, 14:13:01 UTC
7462328 Extend closure support. Avoid an issue in the `getAttributeData` method. 21 May 2014, 13:30:26 UTC
ee49364 Allow to escape slash. 21 May 2014, 13:24:39 UTC
3f019dd Add syntactic sugar for class(). \C <=> class('C'). 21 May 2014, 06:53:31 UTC
b5fcc37 Auto-collecting invariants. 21 May 2014, 06:50:28 UTC
d4db95e Add the ::nothing:: token. 11 April 2014, 16:42:39 UTC
749d546 Fix a PHP compatibility. 03 April 2014, 08:43:53 UTC
8fb22c7 Update an exception message. 02 April 2014, 12:17:47 UTC
bca8de0 Merge branch 'iterator' into incoming 01 April 2014, 12:49:16 UTC
65ad33f Allow missing @requires. 01 April 2014, 12:49:02 UTC
eb052f6 A missing @ensures is considered as true. 01 April 2014, 12:33:14 UTC
78d81ac Totally new structural coverage algorithm. Much faster, much simpler to maintain and consider recents changes in Praspel (cf research papers). 01 April 2014, 12:31:12 UTC
080f7b8 Avoid some creation of a #dynamic_resolution node. 31 March 2014, 17:31:20 UTC
a72bfbb Update the regex syntactic sugar. 31 March 2014, 17:24:32 UTC
ec1aa6d Override the isEmpty() method. 31 March 2014, 16:42:46 UTC
62afa42 Absent @throwable => failed. 31 March 2014, 15:30:13 UTC
cc375fb Absent @ensures => failed. 31 March 2014, 15:18:55 UTC
7cab3a4 Format code. #mania 24 March 2014, 09:37:32 UTC
56b0391 Update the runtime to the new behavior semantics. 14 March 2014, 21:55:40 UTC
3461224 Add the state of the library. 10 February 2014, 15:15:32 UTC
2f99951 Happy new year \o/. 07 January 2014, 10:55:25 UTC
97439a3 The @description clause can be present anywhere. 03 January 2014, 15:57:27 UTC
4cc9c27 Use a default assertion checker when necessary. 03 January 2014, 15:51:46 UTC
df03b1a Format `composer.json`. 03 January 2014, 14:03:31 UTC
0c2c75d Update indexes of exceptions. 25 November 2013, 14:11:33 UTC
977d226 A @default can be declared if… … at least one @behavior exists. 25 November 2013, 14:10:46 UTC
c265aef Add the encapsulation shunter preambler! Shunt encapsulation: instanciate a class and set its state by using invariants and not methods calls. 25 November 2013, 10:57:54 UTC
64452dc Update the callable after running a preambler. A preambler can change the callable, we then need to update it in the assertion checker. 25 November 2013, 10:50:56 UTC
fc0c707 The generateData method is now static… … and it has been moved into `Hoa\Praspel\AssertionChecker` class. 25 November 2013, 10:41:12 UTC
380dba9 The __setCallable method is now public. 25 November 2013, 10:39:54 UTC
4f4c924 Fix an error in an exception message. 25 November 2013, 10:39:27 UTC
775ea77 mv AssertionChecker\Preambler Preambler\Handler 25 November 2013, 08:56:35 UTC
d9fb455 Update an exception message. 25 November 2013, 08:43:54 UTC
541255f Move importations. 25 November 2013, 08:43:42 UTC
eb9d1c5 Fix compilation of crate variable. 22 November 2013, 15:13:48 UTC
e057548 Support crate constant. 22 November 2013, 14:26:07 UTC
a19102f Add tracability for crate constant. 22 November 2013, 14:25:47 UTC
c5b3449 Clean a little bit \old(e) support. Remove a useless code in the RAC. And move the `\old(e)` support from the interpreter to the model. 22 November 2013, 14:11:57 UTC
61f09f7 Fix a regression in behaviors. 22 November 2013, 14:10:22 UTC
a386cb3 Remove reference when setting the value. If the variable is an argument that is passed by-reference, and, if its value is changed during the execution of the system, its reference will be propagated until here. Consequently, in the post-state of the system, the value of the variable in the pre-state will be equal to the value in the post-state. This is an error. Thus, we copy the value instead of using a reference (initially introduced for performance reason). 22 November 2013, 14:06:04 UTC
942f186 Adding a clause redefine its parent. 22 November 2013, 13:19:18 UTC
90cdfe1 Better constructor support. Compute a new callable and a new reflection for the rest of the RAC since we generate a real instance. 22 November 2013, 13:18:47 UTC
f82db70 Better constructor support. When the callable is a constructor, we need a special process, based on `ReflectionClass::newInstanceArgs`. 22 November 2013, 11:04:09 UTC
6382c6b Classnames are backslash left-trimmed. 22 November 2013, 11:03:12 UTC
c862a7c New $bindToClass argument on Praspel::interprete. Bind class when interpreting. 22 November 2013, 11:02:15 UTC
1d3d606 Don't check invariant before invoking constructor. 21 November 2013, 15:27:52 UTC
9c609da Cannot have global/parent @ensures or @throwable. The semantics of a global @throwable clause is really hard to define. Same for @ensures. After a study, we realized that users do not write global or parent @ensures or @throwable clauses. Thus, to simplify everything, we reject such contract constructions. 21 November 2013, 15:01:35 UTC
bec521d Support dynamic resolutions as external variables. `this->foo` is considered as a borrowing variable, with the type `TYPE_EXTERNAL`. Verifications use the contract registry and the binded class of specifications. 11 November 2013, 08:07:10 UTC
6e854e8 Interpreter can bind a class on the specification. 11 November 2013, 08:05:04 UTC
faa9e89 Introduce the “contract (static) registry”. The contract static registry aims at containing all Praspel contracts. This is very helpful when a contract manipulates external (out of the current contract) data. 11 November 2013, 08:03:06 UTC
5c358ff A specification can be binded to a class. This is obligatory for dynamic and static resolutions. 11 November 2013, 08:02:08 UTC
af293fb Add the getRoot() method. 11 November 2013, 08:01:37 UTC
09b88c5 New `this` support. We no longer have a `#this_identifier` node, but a more generic one: `#dynamic_resolution` (the root can be anything). 10 November 2013, 14:38:53 UTC
31d2496 Split into getAttributeData() & getArgumentData(). 10 November 2013, 14:26:09 UTC
131da65 Add “preambler” support. 10 November 2013, 14:07:40 UTC
ce3a6b9 Use Hoa\Praspel\Exception\AssertionChecker… … instead of Hoa\Praspel\Exception\Generic. 10 November 2013, 12:36:50 UTC
60a2336 Add Hoa\Praspel\Exception\AssertionChecker. 10 November 2013, 12:35:05 UTC
4a00f5e Fix a null access when computing the trace. 10 November 2013, 12:14:05 UTC
a12ea68 Format code. #mania 08 November 2013, 13:18:50 UTC
a827ee6 Remove an used variable. 08 November 2013, 08:55:27 UTC
2d4561d Include visitors from Hoa\Realdom. 05 November 2013, 14:35:27 UTC
a6a72c4 Cont'd. 05 November 2013, 14:35:27 UTC
750cdea Support $this. Create the sub-library `Hoa\Praspel\AssertionChecker` and introduce $this support through “implicit variables”. 05 November 2013, 14:35:27 UTC
88fb5a4 Format code. #mania 04 November 2013, 16:16:35 UTC
83a079c Avoid a misuse of a variable. 04 November 2013, 16:12:42 UTC
5c1a85b Re-index exceptions. 01 November 2013, 16:44:12 UTC
ee1a849 Detect a new Failure\Precondition. If there is not enough data to invoke the callable, the error was postpone to the checkClause() of a @requires. But in the following situation, this will not be detected: /** * @requires i: 'foo'; * @behavior a { * @requires j: 'bar'; * } * @behavior b { * @requires j: 'baz'; * } */ public function f ( $i, $j ) { … } If $i = 'foo' and $j unset. Because the first @behavior will failed (silently, which is normal), and the second @behavior will also failed (and also silently, which is still normal). So the callable will be invoked with a missing argument. This patch fixes that! 01 November 2013, 16:44:12 UTC
45d9e88 Format code. #mania 01 November 2013, 16:44:12 UTC
6683268 Add trace support! Just give a Hoa\Praspel\Trace object in the Hoa\Praspel::evaluate() method, and use the Hoa\Praspel\Visitor\Praspel to print it! 01 November 2013, 16:44:12 UTC
c4f955a Add the addClause() method. 01 November 2013, 16:30:24 UTC
057c599 Add the addVariable() method. 01 November 2013, 16:28:57 UTC
eef88e7 Fix a typo in the API documentation. 01 November 2013, 16:28:48 UTC
54347f2 Reorder allowed clause for the Praspel visitor. 01 November 2013, 16:28:22 UTC
49a2f3b Formata code. #mania 31 October 2013, 14:37:36 UTC
a28150e Fix a flex entity. 28 October 2013, 14:40:08 UTC
6863afc Better Composer compatibility. 15 October 2013, 07:36:55 UTC
192934c Define flex entities. 15 October 2013, 07:35:26 UTC
1f76da8 Update to Core#642e0cc. 01 October 2013, 13:03:10 UTC
38d8927 Autobox single var declaration into a disjunction. 29 September 2013, 10:36:16 UTC
2a5a9ab Crate variables are now created in Hoa\Realdom. 29 September 2013, 10:34:23 UTC
59c6e48 Support variables in disjunctions! 27 September 2013, 09:40:07 UTC
586a8d0 Restore “let”. 27 September 2013, 09:39:51 UTC
217a269 Be more permissive about @requires in a @behavior. 26 September 2013, 07:14:55 UTC
be5e54d Optimize grammar. #performance 23 September 2013, 17:25:11 UTC
08ffb4f Remove a useless rule. #performance 23 September 2013, 16:59:40 UTC
bec66dd A @behavior must contains a @requires. 20 September 2013, 12:29:55 UTC
49d1f2a generateData() make an isotropic random generation 17 September 2013, 14:21:55 UTC
fe57496 Add getNth() method: get clauses from positions. 17 September 2013, 08:57:16 UTC
443060f Add Praspel representation for \old(…). 17 September 2013, 08:27:35 UTC
d44a853 Add borrowing variables and \old(…) support. 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(…). 16 September 2013, 15:16:38 UTC
22efd46 Declaration's iterator does not return local vars. 16 September 2013, 10:12:19 UTC
b391d74 Avoid useless \result assignements. 16 September 2013, 09:16:49 UTC
f9ce251 Fail early. 16 September 2013, 07:32:05 UTC
603d5d7 Update an exception message. 16 September 2013, 07:28:20 UTC
9b62517 Format code. #mania 13 September 2013, 07:53:40 UTC
back to top