miasm
Reverse engineering framework
parser.py File Reference

Namespaces

 miasm.expression.parser
 

Functions

def miasm.expression.parser.parse_loc_key (t)
 
def miasm.expression.parser.str_to_expr (str_in)
 

Variables

 miasm.expression.parser.integer
 
 miasm.expression.parser.hex_word = pyparsing.Literal('0x') + pyparsing.Word(pyparsing.hexnums)
 
 miasm.expression.parser.hex_int
 
tuple miasm.expression.parser.str_int_pos = (hex_int | integer)
 
tuple miasm.expression.parser.str_int_neg
 
tuple miasm.expression.parser.str_int = str_int_pos | str_int_neg
 
 miasm.expression.parser.STR_EXPRINT = pyparsing.Suppress("ExprInt")
 
 miasm.expression.parser.STR_EXPRID = pyparsing.Suppress("ExprId")
 
 miasm.expression.parser.STR_EXPRLOC = pyparsing.Suppress("ExprLoc")
 
 miasm.expression.parser.STR_EXPRSLICE = pyparsing.Suppress("ExprSlice")
 
 miasm.expression.parser.STR_EXPRMEM = pyparsing.Suppress("ExprMem")
 
 miasm.expression.parser.STR_EXPRCOND = pyparsing.Suppress("ExprCond")
 
 miasm.expression.parser.STR_EXPRCOMPOSE = pyparsing.Suppress("ExprCompose")
 
 miasm.expression.parser.STR_EXPROP = pyparsing.Suppress("ExprOp")
 
 miasm.expression.parser.STR_EXPRASSIGN = pyparsing.Suppress("ExprAssign")
 
 miasm.expression.parser.LOCKEY = pyparsing.Suppress("LocKey")
 
 miasm.expression.parser.STR_COMMA = pyparsing.Suppress(",")
 
 miasm.expression.parser.LPARENTHESIS = pyparsing.Suppress("(")
 
 miasm.expression.parser.RPARENTHESIS = pyparsing.Suppress(")")
 
 miasm.expression.parser.T_INF = pyparsing.Suppress("<")
 
 miasm.expression.parser.T_SUP = pyparsing.Suppress(">")
 
 miasm.expression.parser.string_quote = pyparsing.QuotedString(quoteChar="'", escChar='\\', escQuote='\\')
 
 miasm.expression.parser.string_dquote = pyparsing.QuotedString(quoteChar='"', escChar='\\', escQuote='\\')
 
 miasm.expression.parser.string = string_quote | string_dquote
 
 miasm.expression.parser.expr = pyparsing.Forward()
 
tuple miasm.expression.parser.expr_int = STR_EXPRINT + LPARENTHESIS + str_int + STR_COMMA + str_int + RPARENTHESIS
 
tuple miasm.expression.parser.expr_id = STR_EXPRID + LPARENTHESIS + string + STR_COMMA + str_int + RPARENTHESIS
 
tuple miasm.expression.parser.expr_loc = STR_EXPRLOC + LPARENTHESIS + T_INF + LOCKEY + str_int + T_SUP + STR_COMMA + str_int + RPARENTHESIS
 
tuple miasm.expression.parser.expr_slice = STR_EXPRSLICE + LPARENTHESIS + expr + STR_COMMA + str_int + STR_COMMA + str_int + RPARENTHESIS
 
tuple miasm.expression.parser.expr_mem = STR_EXPRMEM + LPARENTHESIS + expr + STR_COMMA + str_int + RPARENTHESIS
 
 miasm.expression.parser.expr_cond = STR_EXPRCOND + LPARENTHESIS + expr + STR_COMMA + expr + STR_COMMA + expr + RPARENTHESIS
 
 miasm.expression.parser.expr_compose = STR_EXPRCOMPOSE + LPARENTHESIS + pyparsing.delimitedList(expr, delim=',') + RPARENTHESIS
 
 miasm.expression.parser.expr_op = STR_EXPROP + LPARENTHESIS + string + STR_COMMA + pyparsing.delimitedList(expr, delim=',') + RPARENTHESIS
 
 miasm.expression.parser.expr_aff = STR_EXPRASSIGN + LPARENTHESIS + expr + STR_COMMA + expr + RPARENTHESIS