radare2/libr/bp/parser.h
pancake 91ad40d663 * Major unfinished refactoring for r_debug and r_bp
- radare2 debugger is now broken
  - r_reg has grown a bit more
  - Better separation of debugger elements
* r_bp now has r_bp_add_hw and r_bp_add_sw() calls
  - Added minimal support for breakpoint handlers
  - Import th0rpe's watchpoint expression parser engine
* iob moved from r_debug to r_bp
* Arch types has been moved into r_asm
  - Soft compile time dependency
* Update pkg-config .pc files
2009-09-14 00:37:28 +02:00

51 lines
649 B
C

#ifndef PARSER_H
#define PARSER_H
#include "../list.h"
struct regs_off {
char *reg;
int off; // XXX 32 bit only !? wtf?
};
/* token types */
enum {
GROUP_TOK = 0,
REG_TOK,
MEM_TOK
};
/* token structure */
struct tok {
ut64 off;
int type;
int op, log_op;
char *val;
int len;
struct list_head list;
struct list_head next;
};
/* arithmetical operations */
enum {
_OP_LT = 1,
_OP_LE,
_OP_EQ,
_OP_NE,
_OP_GE,
_OP_GT
};
/* logical operations */
enum {
LOG_OR = 1,
LOG_AND
};
char skip_chars(const char **c);
struct tok* parse_cond(const char *cond);
int eval_cond(struct tok *group);
void free_cond(struct tok *group);
#endif