From 6ca3df465034dac90fea2fb50ca3cb418e98e0a0 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Mon, 17 Jun 2019 19:32:43 -0400 Subject: improve parse_expression API documentation --- python/binaryview.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'python/binaryview.py') diff --git a/python/binaryview.py b/python/binaryview.py index 9692689c..01139176 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -4498,26 +4498,26 @@ class BinaryView(object): def parse_expression(self, expression, here=0): """ - Evaluates an string expression to an integer value. + Evaluates a string expression to an integer value. The parser uses the following rules: - symbols are defined by the lexer as `[A-Za-z0-9_:<>][A-Za-z0-9_:$\\-<>]+` or anything enclosed in either single or - double quotes + double quotes - Numbers are defaulted to hexadecimal thus `_printf + 10` is equivalent to `printf + 0x10` If decimal numbers required use the decimal prefix. - - Since numbers and symbols can be ambiguous its recommended that you prefix your numbers with the following: - - 0x - Hexadecimal - - 0n - Decimal - - 0 - Octal + - Since numbers and symbols can be ambiguous its recommended that you prefix your numbers with the following + - `0x` - Hexadecimal + - `0n` - Decimal + - `0` - Octal - In the case of an ambiguous number/symbol (one with no prefix) for instance `12345` we will first attempt to look up the string as a symbol, if a symbol is found its address is used, otherwise we attempt to convert it to a hexadecimal number. - - The following operations are valid: +, -, *, /, %, (), &, |, ^, ~ - - In addition to the above operators there are _il-style_ dereference operators - - [] - read the _current address size_ at - - [].b - read the byte at - - [].w - read the word (2 bytes) at - - [].d - read the dword (4 bytes) at - - [].q - read the quadword (8 bytes) at + - The following operations are valid: `+, -, *, /, %, (), &, |, ^, ~` + - In addition to the above operators there are dereference operators similar to BNIL style IL + - [] - read the _current address size_ at + - [].b - read the byte at + - [].w - read the word (2 bytes) at + - [].d - read the dword (4 bytes) at + - [].q - read the quadword (8 bytes) at - The `$here` keyword can be used in calculations and is defined as the `here` parameter :param string expression: Arithmetic expression to be evaluated -- cgit v1.3.1