about summary refs log tree commit diff stats
path: root/miasm2/expression (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Expr: Fix default sizeFabrice Desclaux2018-04-261-1/+7
|
* Merge pull request #683 from commial/refactor/remove-default-exprmem-sizeserpilliere2018-02-151-3/+6
|\ | | | | Refactor/remove default exprmem size
| * Remove the default size of ExprMem expressionsAjax2018-02-151-2/+5
| |
| * Complete the #676 by removing the default value in ExprId.__new__Ajax2018-02-151-1/+1
| |
* | 'simp_propag': avoid computing shifts when the size is tooAjax2018-02-151-3/+16
| | | | | | | | big (potential Python overflow)
* | simp_compose: ensure the '/' is not rounded to 0, but really equals toAjax2018-02-151-1/+1
|/
* Update rot simplification, to avoid overflow casesAjax2018-02-141-11/+24
|
* ExpressionSimplification: Add a verbose modeAjax2018-02-141-0/+14
|
* 'simp_cond_factor' is wrong if << / >> / a>> has more than 2 argumentsAjax2018-02-141-1/+11
|
* A >> X >> Y => A >> (X+Y) ONLY IF X + Y does not overflowAjax2018-02-141-2/+7
|
* Fix 'simp_op_cond_int' commentAjax2018-02-141-1/+1
|
* Deprecate expr_cmps/expr_cmpu for a more verbose / understandable APIAjax2018-02-141-5/+5
|
* Merge pull request #678 from serpilliere/x86_fix_rclCamille Mougey2018-02-141-36/+4
|\ | | | | X86 fix rcl
| * X86: remove c_rez/rcl_rez/rcr_rez special operatorFabrice Desclaux2018-02-131-36/+4
| |
* | Merge pull request #677 from GAJaloyan/patch-1serpilliere2018-02-121-1/+1
|\ \ | |/ |/| Changing index from 1 to -1.
| * changing index of simplification from 1 to -1 in A op 0 => 02018-02-121-1/+1
| | | | | | | | + adding testcases
* | Expression: no default size for ExprIdFabrice Desclaux2018-02-092-4/+7
|/
* adding ucomisdGAJaloyan2018-01-121-1/+2
|
* Expression: use stp translatorFabrice Desclaux2018-01-111-68/+0
|
* Remove some unnecessary parentheses when str()'ing expressionsAymeric Vincent2017-12-121-16/+46
| | | | | | | | This patch removes quite a few useless parentheses from expressions thanks to the usual priorities between operators. It is conservative in the sense that not all such parentheses are removed when we felt the priorities won't be known by most users.
* Expression: add expression comparison generatorsFabrice Desclaux2017-09-041-0/+182
|
* Expression/Simplifications: modify x?b:c + dFabrice Desclaux2017-08-101-15/+21
|
* Expression/Simplifications: clean codeFabrice Desclaux2017-08-101-279/+269
|
* Simplifications: ExprMem(a?b:c) and {x?a:b, x?c:d}Fabrice Desclaux2017-08-102-31/+28
|
* ExprReducer: add kwargs arguments for reductionsFabrice Desclaux2017-08-071-13/+14
|
* A defined 'size' is mandatory for `Expr` to workAjax2017-08-031-24/+16
|
* Avoid breaking potential overriding of ExprIntAjax2017-08-031-1/+1
|
* Avoid racing ._size assignment in ExprIntAjax2017-08-031-3/+6
| | | | | | | | | | With Singleton behavior activated, ._size can be set during __new__, and reset to None during __init__. During unpickling, attributes fixes and __init__ / __new__ call order can also result in a weird behavior Actually, as _size is not modified during __new__, ExprInt behavior is now homogeneous with others Expr's __init__
* Remove now useless propertyAjax2017-08-031-8/+0
|
* Expr: move class-dependent attributes to protected oneAjax2017-08-031-187/+187
|
* Avoid potential (but unlikely) hash collisionAjax2017-08-011-2/+2
|
* Expression: add an Expression parserFabrice Desclaux2017-06-141-0/+70
|
* Add a new simplification: {@X[base + i] 0 X, @Y[base + i + X] X (X + Y)} => ↵Ajax2017-06-011-0/+11
| | | | @(X+Y)[base + i]
* Expression: Forbid mix between Expr and int/longFabrice Desclaux2017-05-011-1/+24
| | | | | | | | | A classic error in Miasm is to confuse ExprInt with int, for example: ExprId('a') + 3 We could return ExprOp('+', ExprId('a') + ExprInt(3, 32)), but this may (and often) mask a problem in the source, so we forbid such a construction (and assert this to clarify the error)
* Remove deprecated use of MatchExprAjax2017-04-212-21/+20
|
* Expression: cleanFabrice Desclaux2017-04-211-232/+240
|
* Errata: fix exprmatch namesFabrice Desclaux2017-04-211-50/+50
|
* Expression: remove unused SearchExprFabrice Desclaux2017-04-211-14/+0
|
* Expression: clean MatchExprFabrice Desclaux2017-04-211-51/+45
|
* Expr: fix singleton; add reg testFabrice Desclaux2017-03-311-67/+43
|
* Replace ExprInt[num](x) -> ExprInt(x, num)Ajax2017-03-305-12/+13
|
* Deprecate ExprInt[num] and ExprInt_from(expr, num)Ajax2017-03-301-0/+12
|
* Let ExprInt always use its Singleton capabilitiesAjax2017-03-302-48/+45
| | | | | Remove the optionnal 'size' argument form, use pointer equality to speed up comparision
* ExprReduce: fix exprnode strFabrice Desclaux2017-03-281-11/+11
|
* Right operator of a>> is unsignedAjax2017-02-151-1/+1
|
* Expression: add ExprReduceFabrice Desclaux2017-02-131-0/+177
|
* Expression: REPLACE IS_OP_SEGMFabrice Desclaux2017-02-121-2/+14
| | | | | | | /!\ API MODIFICATION: is_op_segm becomes is_mem_segm is_op_segm: Returns True if is ExprOp and op == 'segm' is_mem_segm: Returns True if is ExprMem and ptr is_op_segm
* Merge pull request #476 from commial/fix/repr-exprserpilliere2017-01-141-1/+2
|\ | | | | Fix/repr expr
| * Fix ExprInt repr to include sizeAjax2017-01-131-1/+2
| |
* | Div: fix modint operationAjax2017-01-131-6/+10
|/