about summary refs log tree commit diff stats
path: root/miasm2/expression/expression.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename miasm2 to miasmFabrice Desclaux2019-03-051-2035/+0
|
* Support python2/python3Fabrice Desclaux2019-03-051-45/+61
|
* Fix bad englishFabrice Desclaux2019-01-171-3/+3
|
* Fix typos & add codespellPierre LALET2018-12-231-8/+8
|
* Expr: fix replace_expr argsFabrice Desclaux2018-12-091-5/+2
|
* perfomance featureMizari2018-12-061-8/+3
|
* Expression: replace arg by ptr in ExprMemFabrice Desclaux2018-10-121-31/+40
|
* Expresion: use ExprAssign instead of ExprAffFabrice Desclaux2018-10-011-12/+23
| | | | | | ExprAff stands for (in french) "Expression affectation" We will now use ExprAssign (for Expression Assignment) (instead of ExprAss)
* Code cleaning: lgtm.comFabrice Desclaux2018-09-201-1/+0
|
* Add support for floating is_zero, is_inf, is_denormalAjax2018-08-301-0/+34
|
* Merge pull request #829 from serpilliere/fix_floatCamille Mougey2018-08-301-2/+0
|\ | | | | X86: fix float
| * X86: fix floatFabrice Desclaux2018-08-291-2/+0
| |
* | Expr: use TOK define instead of stringsFabrice Desclaux2018-08-291-4/+10
|/
* Expression: add CC flagsFabrice Desclaux2018-08-061-8/+27
|
* Expression: fix slice assignmentFabrice Desclaux2018-07-191-1/+3
|
* Expression: introduce operation on float (comparision, equality to ↵Ajax2018-07-101-0/+77
| | | | NaN/sNan/qNaN)
* Introduce the new float notation and operations for x86 semanticAjax2018-07-101-20/+6
| | | | | | | | | | | | | | | Basically, operations are: - fpconvert_fp32, fpconvert_fp64, fpconvert_fp80: convert from a floating point to another (truncate or extend) - sint_to_fp32, sint_to_fp64, sint_to_fp80: convert from a signed integer to a floating point number (original size can differ) - fp_to_sint32, fp_to_sint64, ...: convert from a floating point number to a signed integer, as ExprInt. Rounding mode is nearbyint. (original size can differ) - fpround_nearbyint: convert from floating point to floating point using the nearest int - fpround_towardszero: convert from floating point to floating point, towards zero
* ExprLoc/LocKey: avoid ambiguity in string representationAjax2018-07-021-2/+2
|
* Unify ExprLoc str with LocKey and othersAjax2018-06-171-1/+1
|
* Core: replace AsmLabel by LocKeyFabrice Desclaux2018-06-091-11/+14
|
* Expr: Add new word ExprLocFabrice Desclaux2018-06-081-11/+129
| | | | | This word represents a location in the binary. Thus, the hack of ExprId containing an AsmLabel ends here.
* Expr: Fix default sizeFabrice Desclaux2018-04-261-1/+7
|
* 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
|
* Expression: no default size for ExprIdFabrice Desclaux2018-02-091-1/+4
|
* adding ucomisdGAJaloyan2018-01-121-1/+2
|
* 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
|
* 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: 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-211-10/+10
|
* 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-301-2/+3
|
* Deprecate ExprInt[num] and ExprInt_from(expr, num)Ajax2017-03-301-0/+12
|
* Let ExprInt always use its Singleton capabilitiesAjax2017-03-301-46/+42
| | | | | Remove the optionnal 'size' argument form, use pointer equality to speed up comparision
* 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
* Fix ExprInt repr to include sizeAjax2017-01-131-1/+2
|
* Expr: add type accessorsFabrice Desclaux2016-12-231-0/+57
|
* Introduce ExprInt of any size (like others Expr)Ajax2016-12-141-0/+2
|
* Expr: Fix expr picklingFabrice Desclaux2016-11-201-3/+6
|
* Expr: missing warning importFabrice Desclaux2016-11-201-0/+1
|