diff options
| author | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-10-14 09:09:29 +0000 |
|---|---|---|
| committer | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-10-14 09:09:29 +0000 |
| commit | 579cf1d03fb932083e6317967d1613d5c2587fb6 (patch) | |
| tree | 629f039935382a2a7391bce9253f6c9968159049 /miasm/core/asm_ast.py | |
| parent | 51c15d3ea2e16d4fc5f0f01a3b9befc66b1f982e (diff) | |
| download | focaccia-miasm-ta/nix.tar.gz focaccia-miasm-ta/nix.zip | |
Convert to src-layout ta/nix
Diffstat (limited to 'miasm/core/asm_ast.py')
| -rw-r--r-- | miasm/core/asm_ast.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/miasm/core/asm_ast.py b/miasm/core/asm_ast.py deleted file mode 100644 index 69ff1f9c..00000000 --- a/miasm/core/asm_ast.py +++ /dev/null @@ -1,93 +0,0 @@ -from builtins import int as int_types - -class AstNode(object): - """ - Ast node object - """ - def __neg__(self): - if isinstance(self, AstInt): - value = AstInt(-self.value) - else: - value = AstOp('-', self) - return value - - def __add__(self, other): - return AstOp('+', self, other) - - def __sub__(self, other): - return AstOp('-', self, other) - - def __div__(self, other): - return AstOp('/', self, other) - - def __mod__(self, other): - return AstOp('%', self, other) - - def __mul__(self, other): - return AstOp('*', self, other) - - def __lshift__(self, other): - return AstOp('<<', self, other) - - def __rshift__(self, other): - return AstOp('>>', self, other) - - def __xor__(self, other): - return AstOp('^', self, other) - - def __or__(self, other): - return AstOp('|', self, other) - - def __and__(self, other): - return AstOp('&', self, other) - - -class AstInt(AstNode): - """ - Ast integer - """ - def __init__(self, value): - self.value = value - - def __str__(self): - return "%s" % self.value - - -class AstId(AstNode): - """ - Ast Id - """ - def __init__(self, name): - self.name = name - - def __str__(self): - return "%s" % self.name - - -class AstMem(AstNode): - """ - Ast memory deref - """ - def __init__(self, ptr, size): - assert isinstance(ptr, AstNode) - assert isinstance(size, int_types) - self.ptr = ptr - self.size = size - - def __str__(self): - return "@%d[%s]" % (self.size, self.ptr) - - -class AstOp(AstNode): - """ - Ast operator - """ - def __init__(self, op, *args): - assert all(isinstance(arg, AstNode) for arg in args) - self.op = op - self.args = args - - def __str__(self): - if len(self.args) == 1: - return "(%s %s)" % (self.op, self.args[0]) - return '(' + ("%s" % self.op).join(str(x) for x in self.args) + ')' |