GNU PROLOG with UTF8 support
Data Structures | Macros | Functions | Variables
oper.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  OperInf
 

Macros

#define MAX_PREC   1200
 
#define MAX_ARG_OF_FUNCTOR_PREC   999
 
#define Make_Oper_Key(a, t)   (((PlULong) (a) << 2) | (t))
 
#define Atom_Of_Oper(k)   ((PlULong) (k) >> 2)
 
#define Type_Of_Oper(k)   ((PlULong) (k) & 3)
 
#define PREFIX   0
 
#define POSTFIX   1
 
#define INFIX   2
 
#define Make_Op_Mask(type)   (1<<(type))
 
#define Check_Oper(atom_op, type)   (pl_atom_tbl[(atom_op)].prop.op_mask & Make_Op_Mask(type))
 
#define Check_Oper_Any_Type(atom_op)   (pl_atom_tbl[(atom_op)].prop.op_mask)
 

Functions

void Pl_Init_Oper (void)
 
OperInfPl_Create_Oper (int atom_op, int type, int prec, int left, int right)
 
OperInfPl_Lookup_Oper (int atom_op, int type)
 
OperInfPl_Lookup_Oper_Any_Type (int atom_op)
 
OperInfPl_Delete_Oper (int atom_op, int type)
 

Variables

char * pl_oper_tbl
 

Macro Definition Documentation

#define Atom_Of_Oper (   k)    ((PlULong) (k) >> 2)
#define Check_Oper (   atom_op,
  type 
)    (pl_atom_tbl[(atom_op)].prop.op_mask & Make_Op_Mask(type))
#define Check_Oper_Any_Type (   atom_op)    (pl_atom_tbl[(atom_op)].prop.op_mask)
#define INFIX   2
#define Make_Op_Mask (   type)    (1<<(type))
#define Make_Oper_Key (   a,
  t 
)    (((PlULong) (a) << 2) | (t))
#define MAX_ARG_OF_FUNCTOR_PREC   999
#define MAX_PREC   1200
#define POSTFIX   1
#define PREFIX   0
#define Type_Of_Oper (   k)    ((PlULong) (k) & 3)

Function Documentation

OperInf* Pl_Create_Oper ( int  atom_op,
int  type,
int  prec,
int  left,
int  right 
)

Here is the call graph for this function:

Here is the caller graph for this function:

OperInf* Pl_Delete_Oper ( int  atom_op,
int  type 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Pl_Init_Oper ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

OperInf* Pl_Lookup_Oper ( int  atom_op,
int  type 
)

Here is the call graph for this function:

Here is the caller graph for this function:

OperInf* Pl_Lookup_Oper_Any_Type ( int  atom_op)

Here is the call graph for this function:

Variable Documentation

char* pl_oper_tbl