Commit Graph

43 Commits

Author SHA1 Message Date
Fabrice Desclaux 8e8e6e472b Expression: add an Expression parser 2017-06-14 09:57:12 +02:00
Ajax 274cff35ec Add a new simplification: {@X[base + i] 0 X, @Y[base + i + X] X (X + Y)} => @(X+Y)[base + i] 2017-06-01 17:33:13 +02:00
Ajax 18ee3f9f26 Remove deprecated use of MatchExpr 2017-04-21 17:27:01 +02:00
Fabrice Desclaux ac0aae61d7 Expr: fix singleton; add reg test 2017-03-31 14:45:25 +02:00
Ajax f81c3e4b42 Replace ExprInt[num](x) -> ExprInt(x, num) 2017-03-30 16:04:40 +02:00
Ajax 056d849646 Let ExprInt always use its Singleton capabilities
Remove the optionnal 'size' argument form, use pointer equality to speed
up comparision
2017-03-30 16:04:40 +02:00
serpilliere 69376ab17b Merge pull request #476 from commial/fix/repr-expr
Fix/repr expr
2017-01-14 12:28:08 +01:00
Ajax 9ee84d6ed8 Expr: test that repr permit instanciation 2017-01-13 17:42:44 +01:00
Ajax 50f6ca146c Modint: add tests for big int 2017-01-13 17:26:52 +01:00
Ajax 49d009a0fa Div: fix modint operation 2017-01-13 17:26:47 +01:00
Aymeric Vincent 28d0696bea use python2 as executable name, give adequate permissions 2017-01-05 16:45:17 +01:00
Ajax 40fefe35dd Regression test on big ExprInt 2016-12-14 18:08:31 +01:00
Ajax 84ace5ec55 Seperate Expression regression tests 2016-12-14 18:07:25 +01:00
Fabrice Desclaux 3771288cff ExprCompose: add new api
The ExprComposes uses directly its arguments sizes to guess the slices
locations.
Old api:  ExprCompose([(a, 0, 32), (b, 32, 64)])
becomes:  ExprCompose(a, b)
2016-11-04 16:45:46 +01:00
serpilliere 9165fa1768 Merge pull request #389 from jbcayrou/pow_op
Add ** (pow) operator
2016-07-03 20:36:06 +02:00
JB Cayrou 0b30f6441d Add ** (pow) operator 2016-06-29 10:57:11 +02:00
JB Cayrou 0892884efe Fix ExprOp_inf_signed + unit tests #385 2016-06-29 10:42:39 +02:00
Ajax 4cd56731b5 Add regression test for possible_values
Thanks to @serpilliere
2016-03-17 14:15:51 +01:00
Ajax 55a81cc899 ModInt: mimic C modulo instead of Python rounded one 2015-11-16 10:00:03 +01:00
Ajax 84dd8d4516 ModInt: mimic C division instead of Python rounded one 2015-11-16 09:22:29 +01:00
Ajax c488c7780a Simplifications: add cst_propagation for >>>/<<< c_rez 2015-11-16 09:22:29 +01:00
Ajax e56af80023 Simplification: add regression test for '>>>', '<<<' 2015-11-12 15:47:41 +01:00
Fabrice Desclaux c4e4273c2d Expression: fix api 2015-10-29 13:37:03 +01:00
serpilliere 5802dfd9ff Test/simplification: add cmpx regression tests 2015-07-29 19:41:09 +02:00
Fabrice Desclaux 310cc70847 Test/Expression: add regression test for shift/slice 2015-07-23 08:38:40 +02:00
serpilliere 372a5d904d test/simplification: reg test 2015-07-10 20:00:05 +02:00
Fabrice Desclaux 89f0c67183 Test: add simplification regression 2015-06-05 15:09:15 +02:00
serpilliere 207d62c5d5 Test: add intmod regression 2015-04-25 13:07:11 +02:00
Fabrice Desclaux 06633f8cdd Test: add expression reg test 2015-04-08 15:31:07 +02:00
Fabrice Desclaux d8fdbbc563 Test/simplification: add reg test against multiplication simplification 2015-03-24 10:45:18 +01:00
Fabrice Desclaux 34765c384f Test/simplification: reg test reference must not be expr_simp to match result 2015-03-24 10:45:18 +01:00
Fabrice Desclaux 2a969bbd61 Test/Simplification: add regression tests 2015-02-13 13:26:27 +01:00
Fabrice Desclaux d58c585396 Test: add regression test for simplification << >> 2015-02-13 13:21:28 +01:00
Camille Mougey 388b74c92f VariablesIdentifier: Handle corner cases (using var ident on already computed eq) 2015-02-10 10:53:38 +01:00
Camille Mougey 33189681bf VariableIdentifier: Less hacky way to identify sub vars, add a prefix feature 2015-02-10 09:57:50 +01:00
Camille Mougey e369e5a00f Test: Add a regression test for Variables_Identifier 2014-12-09 18:01:17 +01:00
ajax c33451c9e1 Simplification: Fix 'A op 0' with op == '-' bug, add corresponding test case 2014-07-30 15:47:55 +02:00
serpilliere b2f02006df Simplification: detect and handle == condition
Add corresponding regression tests
2014-06-13 09:36:58 +02:00
ajax a635b0185b Simplifications: Add symetric cond catching + corresponding tests 2014-06-12 18:51:59 +02:00
ajax 0698cd3820 Simplifications_cond: Fix size issue, add constructor
I could have use a child class of ExprOp specific for conditions, but
I prefer to keep a better modularity by just using "<s", "<u" as a new op

I don't add the size issue in expression/expression.py (such as 'parity')
because we don't want dependencies from this file to
expression/simplifications_cond (for TOK_*)
2014-06-12 18:40:55 +02:00
ajax 8462e1b5b6 Test: Simplifications: Use ".msb()" instead of hard coded [31:32] 2014-06-12 17:41:05 +02:00
ajax dcf03ce77a Simplifications: Add regression tests for simplifications_cond 2014-06-12 17:34:49 +02:00
serpilliere ed5c3668cc Miasm v2
* API has changed, so old scripts need updates
* See example for API usage
* Use tcc or llvm for jit emulation
* Go to test and run test_all.py to check install

Enjoy !
2014-06-03 10:27:56 +02:00