ACT Library
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
expr.h File Reference
#include <common/file.h>
#include <common/pp.h>
#include <act/act_parse_id.h>

Go to the source code of this file.

Classes

struct  expr
 

Macros

#define E_AND   0
 
#define E_OR   1
 
#define E_NOT   2
 
#define E_PLUS   3
 
#define E_MINUS   4
 
#define E_MULT   5
 
#define E_DIV   6
 
#define E_MOD   7
 
#define E_LSL   8
 
#define E_LSR   9
 
#define E_ASR   10
 
#define E_UMINUS   11
 
#define E_INT   12 /* not a real token */
 
#define E_VAR   13 /* not a real token */
 
#define E_QUERY   14
 
#define E_LPAR   15
 
#define E_RPAR   16
 
#define E_XOR   17
 
#define E_LT   18
 
#define E_GT   19
 
#define E_LE   20
 
#define E_GE   21
 
#define E_EQ   22
 
#define E_NE   23
 
#define E_TRUE   24 /* not a real token */
 
#define E_FALSE   25 /* not a real token */
 
#define E_COLON   26
 
#define E_PROBE   27
 
#define E_COMMA   28
 
#define E_CONCAT   29
 
#define E_BITFIELD   30
 
#define E_COMPLEMENT   31 /* bitwise complement */
 
#define E_REAL   32 /* not a real token */
 
#define E_RAWFREE   33
 
#define E_END   34
 
#define E_NUMBER   35 /* # of E_xxx things */
 
#define E_FUNCTION   100
 

Typedefs

typedef struct expr Expr
 

Functions

void expr_settoken (int name, int value)
 
int expr_parse_isany (LFILE *l)
 
Exprexpr_parse_any (LFILE *l)
 
Exprexpr_parse_int (LFILE *l)
 
Exprexpr_parse_bool (LFILE *l)
 
Exprexpr_parse_real (LFILE *l)
 
void expr_free (Expr *e)
 
int expr_init (LFILE *l)
 
void expr_clear (void)
 
void expr_endgtmode (int m)
 
void expr_inc_parens (void)
 
void expr_dec_parens (void)
 
int expr_gettoken (int t)
 
void expr_print (pp_t *, Expr *)
 
const char * expr_operator_name (int type)
 

Variables

pId *(* expr_parse_id )(LFILE *l)
 
void(* expr_free_id )(void *)
 
void(* expr_print_id )(pp_t *, void *)
 
void(* expr_print_probe )(pp_t *, void *)
 
Expr *(* expr_parse_basecase_num )(LFILE *l)
 
Expr *(* expr_parse_basecase_bool )(LFILE *l)
 
int(* expr_parse_newtokens )(LFILE *l)
 
int(* expr_free_special_default )(Expr *)
 

Macro Definition Documentation

◆ E_AND

#define E_AND   0

◆ E_ASR

#define E_ASR   10

◆ E_BITFIELD

#define E_BITFIELD   30

◆ E_COLON

#define E_COLON   26

◆ E_COMMA

#define E_COMMA   28

◆ E_COMPLEMENT

#define E_COMPLEMENT   31 /* bitwise complement */

◆ E_CONCAT

#define E_CONCAT   29

◆ E_DIV

#define E_DIV   6

◆ E_END

#define E_END   34

◆ E_EQ

#define E_EQ   22

◆ E_FALSE

#define E_FALSE   25 /* not a real token */

◆ E_FUNCTION

#define E_FUNCTION   100

◆ E_GE

#define E_GE   21

◆ E_GT

#define E_GT   19

◆ E_INT

#define E_INT   12 /* not a real token */

◆ E_LE

#define E_LE   20

◆ E_LPAR

#define E_LPAR   15

◆ E_LSL

#define E_LSL   8

◆ E_LSR

#define E_LSR   9

◆ E_LT

#define E_LT   18

◆ E_MINUS

#define E_MINUS   4

◆ E_MOD

#define E_MOD   7

◆ E_MULT

#define E_MULT   5

◆ E_NE

#define E_NE   23

◆ E_NOT

#define E_NOT   2

◆ E_NUMBER

#define E_NUMBER   35 /* # of E_xxx things */

◆ E_OR

#define E_OR   1

◆ E_PLUS

#define E_PLUS   3

◆ E_PROBE

#define E_PROBE   27

◆ E_QUERY

#define E_QUERY   14

◆ E_RAWFREE

#define E_RAWFREE   33

◆ E_REAL

#define E_REAL   32 /* not a real token */

◆ E_RPAR

#define E_RPAR   16

◆ E_TRUE

#define E_TRUE   24 /* not a real token */

◆ E_UMINUS

#define E_UMINUS   11

◆ E_VAR

#define E_VAR   13 /* not a real token */

◆ E_XOR

#define E_XOR   17

Typedef Documentation

◆ Expr

typedef struct expr Expr

Function Documentation

◆ expr_clear()

void expr_clear ( void  )

◆ expr_dec_parens()

void expr_dec_parens ( void  )

◆ expr_endgtmode()

void expr_endgtmode ( int  m)

◆ expr_free()

void expr_free ( Expr e)

◆ expr_gettoken()

int expr_gettoken ( int  t)

◆ expr_inc_parens()

void expr_inc_parens ( void  )

◆ expr_init()

int expr_init ( LFILE *  l)

◆ expr_operator_name()

const char * expr_operator_name ( int  type)

◆ expr_parse_any()

Expr * expr_parse_any ( LFILE *  l)

◆ expr_parse_bool()

Expr * expr_parse_bool ( LFILE *  l)

◆ expr_parse_int()

Expr * expr_parse_int ( LFILE *  l)

◆ expr_parse_isany()

int expr_parse_isany ( LFILE *  l)

◆ expr_parse_real()

Expr * expr_parse_real ( LFILE *  l)

◆ expr_print()

void expr_print ( pp_t *  ,
Expr  
)

◆ expr_settoken()

void expr_settoken ( int  name,
int  value 
)

Variable Documentation

◆ expr_free_id

void(* expr_free_id) (void *) ( void *  )
extern

◆ expr_free_special_default

int(* expr_free_special_default) (Expr *) ( Expr )
extern

◆ expr_parse_basecase_bool

Expr *(* expr_parse_basecase_bool) (LFILE *l) ( LFILE *  l)
extern

◆ expr_parse_basecase_num

Expr *(* expr_parse_basecase_num) (LFILE *l) ( LFILE *  l)
extern

◆ expr_parse_id

pId *(* expr_parse_id) (LFILE *l) ( LFILE *  l)
extern

◆ expr_parse_newtokens

int(* expr_parse_newtokens) (LFILE *l) ( LFILE *  l)
extern

◆ expr_print_id

void(* expr_print_id) (pp_t *, void *) ( pp_t *  ,
void *   
)
extern

◆ expr_print_probe

void(* expr_print_probe) (pp_t *, void *) ( pp_t *  ,
void *   
)
extern