GNU PROLOG with UTF8 support
Data Structures | Macros | Typedefs | Functions | Variables
wam2ma.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <locale.h>
#include "../EnginePl/gp_config.h"
#include "../EnginePl/arch_dep.h"
#include "../EnginePl/wam_archi.h"
#include "../EnginePl/pl_params.h"
#include "../EnginePl/pred.h"
#include "wam_parser.h"
#include "wam_protos.h"
#include "bt_string.c"
#include "../TopComp/copying.c"
#include "../TopComp/decode_hexa.c"
Include dependency graph for wam2ma.c:

Data Structures

struct  swt_elt
 
struct  swt_tbl
 
struct  predinf
 
struct  directinf
 

Macros

#define ONLY_TAG_PART
 
#define FAST
 
#define USE_TAGGED_CALLS_FOR_WAM_FCTS
 
#define GCCPRINTF(x)
 
#define DEFAULT_OUTPUT_SUFFIX   ".ma"
 
#define MAX_PRED_NAME_LENGTH   2048
 
#define MAX_HEXA_LENGTH   MAX_PRED_NAME_LENGTH * 2 + 2 + 16
 
#define MAX_LABEL_LENGTH   32
 
#define ANY_SIZE   1
 
#define FOREIGN_TYPE_INTEGER   0
 
#define FOREIGN_TYPE_POSITIVE   1
 
#define FOREIGN_TYPE_FLOAT   2
 
#define FOREIGN_TYPE_NUMBER   3
 
#define FOREIGN_TYPE_ATOM   4
 
#define FOREIGN_TYPE_BOOLEAN   5
 
#define FOREIGN_TYPE_CHAR   6
 
#define FOREIGN_TYPE_IN_CHAR   7
 
#define FOREIGN_TYPE_CODE   8
 
#define FOREIGN_TYPE_IN_CODE   9
 
#define FOREIGN_TYPE_BYTE   10
 
#define FOREIGN_TYPE_IN_BYTE   11
 
#define FOREIGN_TYPE_STRING   12
 
#define FOREIGN_TYPE_CHARS   13
 
#define FOREIGN_TYPE_CODES   14
 
#define FOREIGN_TYPE_TERM   15
 
#define FOREIGN_TBL_SIZE   16
 
#define FOREIGN_MODE_IN   0
 
#define FOREIGN_MODE_OUT   1
 
#define FOREIGN_MODE_IN_OUT   2
 
#define Check_Arg(i, str)   (strncmp(argv[i], str, strlen(argv[i])) == 0)
 
#define DEF_STR(str)   char *str
 
#define LOAD_STR(str)   Get_Arg(top, char *, str)
 
#define DEF_ATOM(atom)   BTNode *atom; char *str_##atom
 
#define LOAD_ATOM_T(atom, t)
 
#define LOAD_ATOM_0(atom)   LOAD_ATOM_T(atom, bt_atom)
 
#define LOAD_ATOM_1(atom)   LOAD_ATOM_T(atom, bt_tagged_atom)
 
#define LOAD_ATOM(atom)   LOAD_ATOM_1(atom)
 
#define DEF_INTEGER(n)   PlLong n
 
#define LOAD_INTEGER(n)   Get_Arg(top, PlLong, n)
 
#define DEF_FLOAT(n)   double n
 
#define LOAD_FLOAT(n)   Get_Arg(top, double, n)
 
#define DEF_X_Y(xy)   PlLong xy; char c
 
#define LOAD_X_Y(xy)
 
#define DEF_F_N_0(atom, n)   DEF_ATOM(atom); DEF_INTEGER(n)
 
#define DEF_F_N_1(atom, n)   DEF_STR(str_##atom); DEF_INTEGER(n); int f_n_no
 
#define DEF_F_N(atom, n)   DEF_F_N_1(atom, n)
 
#define LOAD_F_N_0(atom, n)   LOAD_ATOM_0(atom); LOAD_INTEGER(n)
 
#define LOAD_F_N_1(atom, n)
 
#define LOAD_F_N(atom, n)   LOAD_F_N_1(atom, n)
 
#define DEF_MP_N(m, p, n)   DEF_STR(m); DEF_STR(p); DEF_INTEGER(n)
 
#define LOAD_MP_N(m, p, n)   LOAD_STR(m); LOAD_STR(p); LOAD_INTEGER(n)
 
#define DEF_LABEL(l)   char l[MAX_LABEL_LENGTH]; PlLong val_##l
 
#define LOAD_LABEL(l)
 
#define Args0   ArgVal *top = arg
 
#define Args1(a1)
 
#define Args2(a1, a2)
 
#define Args3(a1, a2, a3)
 
#define Args4(a1, a2, a3, a4)
 
#define Args5(a1, a2, a3, a4, a5)
 
#define Args6(a1, a2, a3, a4, a5, a6)
 
#define FORMAT_LABEL(l)   "Lpred%d_%" PL_FMT_d, cur_pred_no, (l)
 
#define FORMAT_SUB_LABEL(sl)   "Lpred%d_sub_%" PL_FMT_d, cur_pred_no, (sl)
 
#define CREATE_CHOICE_INST(l)
 
#define UPDATE_CHOICE_INST(l)
 
#define DELETE_CHOICE_INST
 
#define NB_SWT_LIST   5
 
#define LVAR   1
 
#define LATM   2
 
#define LINT   4
 
#define LLST   8
 
#define LSTC   16
 
#define F_Double(t)   ((t)==FOREIGN_TYPE_FLOAT || (t)==FOREIGN_TYPE_NUMBER)
 
#define F_Array_Letter(t)   (F_Double(t) ? 'D' : 'L')
 
#define L(msg)   fprintf(stderr, "%s\n", msg)
 

Typedefs

typedef struct swt_elt SwtElt
 
typedef struct swt_tblPSwtTbl
 
typedef struct swt_tbl SwtTbl
 
typedef struct predinfPredP
 
typedef struct predinf Pred
 
typedef struct directinfDirectP
 
typedef struct directinf Direct
 

Functions

SwtTblCreate_Switch_Table (int type, int nb_elem)
 
void Init_Foreign_Table (void)
 
void Emit_Obj_Initializer (void)
 
void Emit_Exec_Directives (void)
 
void Emit_One_Atom (int no, char *str, void *info)
 
void Emit_One_Atom_Tagged (int no, char *str, void *info)
 
int Add_F_N_Tagged (char *atom, int n)
 
void Emit_One_F_N_Tagged (int no, char *str, void *info)
 
void Label_Printf (char *label,...) GCCPRINTF(1)
 
void Inst_Printf (char *op, char *operands,...) GCCPRINTF(2)
 
void Parse_Arguments (int argc, char *argv[])
 
void Display_Help (void)
 
int main (int argc, char *argv[])
 
void Source_Line (int line_no, char *cmt)
 
void F_file_name (ArgVal arg[])
 
void F_predicate (ArgVal arg[])
 
void F_directive (ArgVal arg[])
 
void F_ensure_linked (ArgVal arg[])
 
void F_get_variable (ArgVal arg[])
 
void F_get_value (ArgVal arg[])
 
void F_get_atom (ArgVal arg[])
 
void F_get_integer (ArgVal arg[])
 
void F_get_float (ArgVal arg[])
 
void F_get_nil (ArgVal arg[])
 
void F_get_list (ArgVal arg[])
 
void F_get_structure (ArgVal arg[])
 
void F_put_variable (ArgVal arg[])
 
void F_put_void (ArgVal arg[])
 
void F_put_value (ArgVal arg[])
 
void F_put_unsafe_value (ArgVal arg[])
 
void F_put_atom (ArgVal arg[])
 
void F_put_integer (ArgVal arg[])
 
void F_put_float (ArgVal arg[])
 
void F_put_nil (ArgVal arg[])
 
void F_put_list (ArgVal arg[])
 
void F_put_structure (ArgVal arg[])
 
void F_put_meta_term (ArgVal arg[])
 
void F_math_load_value (ArgVal arg[])
 
void F_math_fast_load_value (ArgVal arg[])
 
void F_unify_variable (ArgVal arg[])
 
void F_unify_void (ArgVal arg[])
 
void F_unify_value (ArgVal arg[])
 
void F_unify_local_value (ArgVal arg[])
 
void F_unify_atom (ArgVal arg[])
 
void F_unify_integer (ArgVal arg[])
 
void F_unify_nil (ArgVal arg[])
 
void F_unify_list (ArgVal arg[])
 
void F_unify_structure (ArgVal arg[])
 
void F_allocate (ArgVal arg[])
 
void F_deallocate (ArgVal arg[])
 
void F_call (ArgVal arg[])
 
void F_execute (ArgVal arg[])
 
void F_proceed (ArgVal arg[])
 
void F_fail (ArgVal arg[])
 
void F_label (ArgVal arg[])
 
void F_switch_on_term (ArgVal arg[])
 
void F_switch_on_atom (ArgVal arg[])
 
void F_switch_on_integer (ArgVal arg[])
 
void F_switch_on_structure (ArgVal arg[])
 
void F_try_me_else (ArgVal arg[])
 
void F_retry_me_else (ArgVal arg[])
 
void F_trust_me_else_fail (ArgVal arg[])
 
void F_try (ArgVal arg[])
 
void F_retry (ArgVal arg[])
 
void F_trust (ArgVal arg[])
 
void F_pragma_arity (ArgVal arg[])
 
void F_get_current_choice (ArgVal arg[])
 
void F_cut (ArgVal arg[])
 
void F_soft_cut (ArgVal arg[])
 
void F_call_c (ArgVal arg[])
 
void F_foreign_call_c (ArgVal arg[])
 

Variables

char * file_name_in
 
char * file_name_out
 
int comment
 
FILE * file_out
 
BTString bt_atom
 
BTString bt_tagged_atom
 
BTString bt_tagged_f_n
 
BTNodecur_pl_file
 
char buff_hexa [MAX_HEXA_LENGTH]
 
Pred dummy_pred_start
 
Predpred_end = &dummy_pred_start
 
Direct dummy_direct_start
 
Directdirect_end = &dummy_direct_start
 
int nb_swt_tbl = 0
 
Predcur_pred
 
int cur_pred_no = 0
 
int cur_arity
 
PlLong cur_sub_label
 
int cur_direct_no = 0
 
char * foreign_tbl [FOREIGN_TBL_SIZE]
 

Macro Definition Documentation

#define ANY_SIZE   1
#define Args0   ArgVal *top = arg
#define Args1 (   a1)
Value:
ArgVal *top = arg; DEF_##a1; \
LOAD_##a1
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Args2 (   a1,
  a2 
)
Value:
ArgVal *top = arg; DEF_##a1; DEF_##a2; \
LOAD_##a1; LOAD_##a2
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Args3 (   a1,
  a2,
  a3 
)
Value:
ArgVal *top = arg; DEF_##a1; DEF_##a2; DEF_##a3;\
LOAD_##a1; LOAD_##a2; LOAD_##a3
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Args4 (   a1,
  a2,
  a3,
  a4 
)
Value:
ArgVal *top = arg; \
DEF_##a1; DEF_##a2; DEF_##a3; DEF_##a4; \
LOAD_##a1; LOAD_##a2; LOAD_##a3; LOAD_##a4
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Args5 (   a1,
  a2,
  a3,
  a4,
  a5 
)
Value:
ArgVal *top = arg; \
DEF_##a1; DEF_##a2; DEF_##a3; DEF_##a4; DEF_##a5; \
LOAD_##a1; LOAD_##a2; LOAD_##a3; LOAD_##a4; LOAD_##a5
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Args6 (   a1,
  a2,
  a3,
  a4,
  a5,
  a6 
)
Value:
ArgVal *top = arg; \
DEF_##a1; DEF_##a2; DEF_##a3; DEF_##a4; DEF_##a5; DEF_##a6; \
LOAD_##a1; LOAD_##a2; LOAD_##a3; LOAD_##a4; LOAD_##a5; LOAD_##a6
static WamWord * top
Definition: expand_c.c:66
double ArgVal
Definition: wam_parser.h:66
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
#define Check_Arg (   i,
  str 
)    (strncmp(argv[i], str, strlen(argv[i])) == 0)
#define CREATE_CHOICE_INST (   l)
Value:
if (cur_arity >= 1 && cur_arity <= 4) \
Inst_Printf("call_c", FAST "Pl_Create_Choice_Point%d(&%s)", cur_arity, l); \
Inst_Printf("call_c", FAST "Pl_Create_Choice_Point(&%s,%d)", l, cur_arity)
void Inst_Printf(char *op, char *operands,...) GCCPRINTF(2)
Definition: wam2ma.c:2296
#define FAST
Definition: wam2ma.c:61
int cur_arity
Definition: wam2ma.c:213
#define DEF_ATOM (   atom)    BTNode *atom; char *str_##atom
#define DEF_F_N (   atom,
 
)    DEF_F_N_1(atom, n)
#define DEF_F_N_0 (   atom,
 
)    DEF_ATOM(atom); DEF_INTEGER(n)
#define DEF_F_N_1 (   atom,
 
)    DEF_STR(str_##atom); DEF_INTEGER(n); int f_n_no
#define DEF_FLOAT (   n)    double n
#define DEF_INTEGER (   n)    PlLong n
#define DEF_LABEL (   l)    char l[MAX_LABEL_LENGTH]; PlLong val_##l
#define DEF_MP_N (   m,
  p,
 
)    DEF_STR(m); DEF_STR(p); DEF_INTEGER(n)
#define DEF_STR (   str)    char *str
#define DEF_X_Y (   xy)    PlLong xy; char c
#define DEFAULT_OUTPUT_SUFFIX   ".ma"
#define DELETE_CHOICE_INST
Value:
if (cur_arity >= 1 && cur_arity <= 4) \
Inst_Printf("call_c", FAST "Pl_Delete_Choice_Point%d()", cur_arity); \
Inst_Printf("call_c", FAST "Pl_Delete_Choice_Point(%d)", cur_arity)
void Inst_Printf(char *op, char *operands,...) GCCPRINTF(2)
Definition: wam2ma.c:2296
#define FAST
Definition: wam2ma.c:61
int cur_arity
Definition: wam2ma.c:213
#define F_Array_Letter (   t)    (F_Double(t) ? 'D' : 'L')
#define F_Double (   t)    ((t)==FOREIGN_TYPE_FLOAT || (t)==FOREIGN_TYPE_NUMBER)
#define FAST
#define FOREIGN_MODE_IN   0
#define FOREIGN_MODE_IN_OUT   2
#define FOREIGN_MODE_OUT   1
#define FOREIGN_TBL_SIZE   16
#define FOREIGN_TYPE_ATOM   4
#define FOREIGN_TYPE_BOOLEAN   5
#define FOREIGN_TYPE_BYTE   10
#define FOREIGN_TYPE_CHAR   6
#define FOREIGN_TYPE_CHARS   13
#define FOREIGN_TYPE_CODE   8
#define FOREIGN_TYPE_CODES   14
#define FOREIGN_TYPE_FLOAT   2
#define FOREIGN_TYPE_IN_BYTE   11
#define FOREIGN_TYPE_IN_CHAR   7
#define FOREIGN_TYPE_IN_CODE   9
#define FOREIGN_TYPE_INTEGER   0
#define FOREIGN_TYPE_NUMBER   3
#define FOREIGN_TYPE_POSITIVE   1
#define FOREIGN_TYPE_STRING   12
#define FOREIGN_TYPE_TERM   15
#define FORMAT_LABEL (   l)    "Lpred%d_%" PL_FMT_d, cur_pred_no, (l)
#define FORMAT_SUB_LABEL (   sl)    "Lpred%d_sub_%" PL_FMT_d, cur_pred_no, (sl)
#define GCCPRINTF (   x)
#define L (   msg)    fprintf(stderr, "%s\n", msg)
#define LATM   2
#define LINT   4
#define LLST   8
#define LOAD_ATOM (   atom)    LOAD_ATOM_1(atom)
#define LOAD_ATOM_0 (   atom)    LOAD_ATOM_T(atom, bt_atom)
#define LOAD_ATOM_1 (   atom)    LOAD_ATOM_T(atom, bt_tagged_atom)
#define LOAD_ATOM_T (   atom,
  t 
)
Value:
Get_Arg(top, char *, str_##atom); \
atom = BT_String_Add(&t, str_##atom)
static WamWord * top
Definition: expand_c.c:66
#define Get_Arg(ptr, type, val)
Definition: wam_parser.h:87
BTNode * BT_String_Add(BTString *bt_str, char *str)
Definition: bt_string.c:81
int t[10]
Definition: asm.c:28
#define LOAD_F_N (   atom,
 
)    LOAD_F_N_1(atom, n)
#define LOAD_F_N_0 (   atom,
 
)    LOAD_ATOM_0(atom); LOAD_INTEGER(n)
#define LOAD_F_N_1 (   atom,
 
)
Value:
LOAD_STR(str_##atom); LOAD_INTEGER(n);\
f_n_no = Add_F_N_Tagged(str_##atom, n)
#define LOAD_INTEGER(n)
Definition: wam2ma.c:286
int Add_F_N_Tagged(char *atom, int n)
Definition: wam2ma.c:2235
#define LOAD_STR(str)
Definition: wam2ma.c:262
#define LOAD_FLOAT (   n)    Get_Arg(top, double, n)
#define LOAD_INTEGER (   n)    Get_Arg(top, PlLong, n)
#define LOAD_LABEL (   l)
Value:
Get_Arg(top, PlLong, val_##l); \
if (val_##l==-1) strcpy(l, "0"); \
else sprintf(l, FORMAT_LABEL(val_##l))
static WamWord * top
Definition: expand_c.c:66
#define Get_Arg(ptr, type, val)
Definition: wam_parser.h:87
intptr_t PlLong
Definition: gprolog.h:88
#define FORMAT_LABEL(l)
Definition: wam2ma.c:369
#define LOAD_MP_N (   m,
  p,
 
)    LOAD_STR(m); LOAD_STR(p); LOAD_INTEGER(n)
#define LOAD_STR (   str)    Get_Arg(top, char *, str)
#define LOAD_X_Y (   xy)
Value:
Get_Arg(top, PlLong, xy); \
if (xy < 5000) c = 'X'; else xy -= 5000, c='Y'
static WamWord * top
Definition: expand_c.c:66
#define Get_Arg(ptr, type, val)
Definition: wam_parser.h:87
static CHAR32_T c
Definition: scan_supp.c:65
intptr_t PlLong
Definition: gprolog.h:88
#define Y(e, y)
Definition: wam_inst.h:85
#define LSTC   16
#define LVAR   1
#define MAX_HEXA_LENGTH   MAX_PRED_NAME_LENGTH * 2 + 2 + 16
#define MAX_LABEL_LENGTH   32
#define MAX_PRED_NAME_LENGTH   2048
#define NB_SWT_LIST   5
#define ONLY_TAG_PART
#define UPDATE_CHOICE_INST (   l)
Value:
if (cur_arity >= 1 && cur_arity <= 4) \
Inst_Printf("call_c", FAST "Pl_Update_Choice_Point%d(&%s)", cur_arity, l); \
Inst_Printf("call_c", FAST "Pl_Update_Choice_Point(&%s,%d)", l, cur_arity)
void Inst_Printf(char *op, char *operands,...) GCCPRINTF(2)
Definition: wam2ma.c:2296
#define FAST
Definition: wam2ma.c:61
int cur_arity
Definition: wam2ma.c:213
#define USE_TAGGED_CALLS_FOR_WAM_FCTS

Typedef Documentation

typedef struct directinf Direct
typedef struct directinf* DirectP
typedef struct predinf Pred
typedef struct predinf* PredP
typedef struct swt_tbl* PSwtTbl
typedef struct swt_elt SwtElt
typedef struct swt_tbl SwtTbl

Function Documentation

int Add_F_N_Tagged ( char *  atom,
int  n 
)

Here is the call graph for this function:

SwtTbl * Create_Switch_Table ( int  type,
int  nb_elem 
)

Here is the caller graph for this function:

void Display_Help ( void  )

Here is the caller graph for this function:

void Emit_Exec_Directives ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void Emit_Obj_Initializer ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void Emit_One_Atom ( int  no,
char *  str,
void *  info 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Emit_One_Atom_Tagged ( int  no,
char *  str,
void *  info 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Emit_One_F_N_Tagged ( int  no,
char *  str,
void *  info 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void F_allocate ( ArgVal  arg[])

Here is the call graph for this function:

void F_call ( ArgVal  arg[])

Here is the call graph for this function:

void F_call_c ( ArgVal  arg[])

Here is the call graph for this function:

void F_cut ( ArgVal  arg[])

Here is the call graph for this function:

void F_deallocate ( ArgVal  arg[])

Here is the call graph for this function:

void F_directive ( ArgVal  arg[])

Here is the call graph for this function:

void F_ensure_linked ( ArgVal  arg[])

Here is the call graph for this function:

void F_execute ( ArgVal  arg[])

Here is the call graph for this function:

void F_fail ( ArgVal  arg[])

Here is the call graph for this function:

void F_file_name ( ArgVal  arg[])

Here is the call graph for this function:

void F_foreign_call_c ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_atom ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_current_choice ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_float ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_integer ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_list ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_nil ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_structure ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_get_variable ( ArgVal  arg[])

Here is the call graph for this function:

void F_label ( ArgVal  arg[])

Here is the call graph for this function:

void F_math_fast_load_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_math_load_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_pragma_arity ( ArgVal  arg[])
void F_predicate ( ArgVal  arg[])

Here is the call graph for this function:

void F_proceed ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_atom ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_float ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_integer ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_list ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_meta_term ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_nil ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_structure ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_unsafe_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_variable ( ArgVal  arg[])

Here is the call graph for this function:

void F_put_void ( ArgVal  arg[])

Here is the call graph for this function:

void F_retry ( ArgVal  arg[])

Here is the call graph for this function:

void F_retry_me_else ( ArgVal  arg[])
void F_soft_cut ( ArgVal  arg[])

Here is the call graph for this function:

void F_switch_on_atom ( ArgVal  arg[])

Here is the call graph for this function:

void F_switch_on_integer ( ArgVal  arg[])

Here is the call graph for this function:

void F_switch_on_structure ( ArgVal  arg[])

Here is the call graph for this function:

void F_switch_on_term ( ArgVal  arg[])

Here is the call graph for this function:

void F_trust ( ArgVal  arg[])

Here is the call graph for this function:

void F_trust_me_else_fail ( ArgVal  arg[])
void F_try ( ArgVal  arg[])

Here is the call graph for this function:

void F_try_me_else ( ArgVal  arg[])
void F_unify_atom ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_integer ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_list ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_local_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_nil ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_structure ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_value ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_variable ( ArgVal  arg[])

Here is the call graph for this function:

void F_unify_void ( ArgVal  arg[])

Here is the call graph for this function:

void Init_Foreign_Table ( void  )

Here is the caller graph for this function:

void Inst_Printf ( char *  op,
char *  operands,
  ... 
)
void Label_Printf ( char *  label,
  ... 
)

Here is the caller graph for this function:

int main ( int  argc,
char *  argv[] 
)

Here is the call graph for this function:

void Parse_Arguments ( int  argc,
char *  argv[] 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Source_Line ( int  line_no,
char *  cmt 
)

Here is the call graph for this function:

Variable Documentation

BTString bt_atom
BTString bt_tagged_atom
BTString bt_tagged_f_n
char buff_hexa[MAX_HEXA_LENGTH]
int comment
int cur_arity
int cur_direct_no = 0
BTNode* cur_pl_file
Pred* cur_pred
int cur_pred_no = 0
PlLong cur_sub_label
Direct* direct_end = &dummy_direct_start
Direct dummy_direct_start
Pred dummy_pred_start
char* file_name_in
char* file_name_out
FILE* file_out
char* foreign_tbl[FOREIGN_TBL_SIZE]
int nb_swt_tbl = 0
Pred* pred_end = &dummy_pred_start