GNU PROLOG with UTF8 support
Macros | Functions | Variables
chkma.c File Reference
#include <stdio.h>
#include <string.h>
#include "../EnginePl/pl_long.h"
#include "../EnginePl/engine.c"
Include dependency graph for chkma.c:

Macros

#define FC   /* define FC to force arch_dep.h to no use FC */
 
#define IF_NO_FD_FILE
 
#define MA_ARRAY   ma_array
 
#define MA_GLOBAL_VAR1   ma_global_var1
 
#define MA_GLOBAL_VAR2   ma_global_var2
 
#define PRINTRET   void *adr = _AddressOfReturnAddress(); printf("adr return: %p\n", adr)
 

Functions

void test_initializer (void)
 
void test_declaration (void)
 
void test_pl_jump_and_pl_ret (void)
 
void ma_test_pl_jump_and_pl_ret (void)
 
void test_pl_call_and_pl_ret_and_pl_fail (void)
 
void ma_test_pl_call_and_pl_ret_and_pl_fail (void)
 
void test_prep_cp_and_here_cp (void)
 
void ma_test_prep_cp_and_here_cp (void)
 
void test_jump_and_c_ret (void)
 
void ma_test_jump_and_c_ret (void)
 
void test_call_c (void)
 
void ma_test_call_c (void)
 
void test_move_x_y (void)
 
void ma_test_move_x_y (void)
 
void test_move_y_x (void)
 
void ma_test_move_y_x (void)
 
void test_arg_int (void)
 
void ma_test_arg_int (void)
 
void test_arg_double (void)
 
void ma_test_arg_double (void)
 
void test_arg_mixed (void)
 
void ma_test_arg_mixed (void)
 
void test_arg_string (void)
 
void ma_test_arg_string (void)
 
void test_arg_mem_l (void)
 
void ma_test_arg_mem_l (void)
 
void test_arg_x (void)
 
void ma_test_arg_x (void)
 
void test_arg_y (void)
 
void ma_test_arg_y (void)
 
void test_arg_fl_array (void)
 
void ma_test_arg_fl_array (void)
 
void test_arg_fd_array (void)
 
void ma_test_arg_fd_array (void)
 
void test_call_c_lot_args (void)
 
void ma_test_call_c_lot_args (void)
 
void test_jump_ret (void)
 
void ma_test_jump_ret (void)
 
void test_fail_ret (void)
 
void ma_test_fail_ret (void)
 
void test_move_ret_mem (void)
 
void ma_test_move_ret_mem (void)
 
void test_move_ret_x (void)
 
void ma_test_move_ret_x (void)
 
void test_move_ret_y (void)
 
void ma_test_move_ret_y (void)
 
void test_move_ret_fl (void)
 
void ma_test_move_ret_fl (void)
 
void test_move_ret_fd (void)
 
void ma_test_move_ret_fd (void)
 
void test_switch_ret (void)
 
void ma_test_switch_ret (void)
 
int main (int argc, char *argv[])
 
void Init_CP (WamCont p)
 
void Write_Long (PlLong x)
 
void FC Allocate (int x)
 
void Save_CP ()
 
void Restore_CP ()
 
void error (void)
 
void Call_Pl (void(*code)(), int must_succeed)
 
void Initializer (void)
 
void Several_Calls ()
 
void FC test_call_c1 (void)
 
void FC test_arg_int1 (int a, int b, int c, int d)
 
void FC test_arg_double1 (double a, double b, double c, double d, double e, double f)
 
void FC test_arg_mixed1 (int ai, double a, double b, int bi, int ci, double c, int di)
 
void FC test_arg_string1 (char *a, char *b)
 
void FC test_arg_mem_l1 (PlLong a, PlLong b, PlLong *c, PlLong d, PlLong e, PlLong *f)
 
void FC test_arg_x1 (WamWord a, WamWord *b, WamWord c, WamWord *d)
 
void FC test_arg_y1 (WamWord a, WamWord *b, WamWord c, WamWord *d)
 
void FC test_arg_fl_array1 (PlLong a, PlLong b, PlLong *c, PlLong *d)
 
void FC test_arg_fd_array1 (double a, double b, double *c, double *d)
 
void FC test_call_c_lot_args1 (WamWord n0, WamWord n1, WamWord n2, WamWord n3, WamWord n4, WamWord n5, void(*a)(), PlLong b, int c, int d, double e, char *f, WamWord g, WamWord *h, WamWord i, WamWord *j, WamWord k, WamWord *l, WamWord m, WamWord *n, double o)
 
PlLong FC test_jump_ret1 (PlLong addr)
 
void FC test_jump_ret2 (void)
 
int FC test_fail_ret1 (void)
 
PlLong FC test_move_ret_mem1 (void)
 
PlLong FC test_move_ret_x1 (void)
 
PlLong FC test_move_ret_y1 (void)
 
PlLong FC test_move_ret_fl1 (void)
 
double FC test_move_ret_fd1 (void)
 
PlLong FC test_switch_ret1 (void)
 
void FC test_switch_ret2 (int k)
 
void Pl_Init_Atom (void)
 
void Pl_Init_Oper (void)
 
void Pl_Init_Pred (void)
 
void Pl_Init_Machine (void)
 
void Pl_Find_Linked_Objects (void)
 
void Pl_Fd_Init_Engine (void)
 
int Pl_Create_Atom (char *name)
 
PredInf *FC Pl_Lookup_Pred (int func, int arity)
 
void Pl_Allocate_Stacks (void)
 
void FC Pl_Create_Choice_Point (CodePtr codep_alt, int arity)
 
void Pl_Fd_Init_Solver (void)
 
void Pl_Fd_Reset_Solver (void)
 
void SIGSEGV_Handler (void)
 
int Is_Win32_SEGV (void *exp)
 
void Pl_Fatal_Error (char *format,...)
 
void * Pl_Dummy_Ptr (void *p)
 

Variables

PlULong pl_max_atom
 
PlLong pl_foreign_long [NB_OF_X_REGS]
 
double pl_foreign_double [NB_OF_X_REGS]
 
PlLongpl_base_fl = pl_foreign_long
 
double * pl_base_fd = pl_foreign_double
 
WamWord stack [4096]
 
int initialised = 0
 
PlLong x
 
PlLong ret
 
PlLong swt [] = { 0, 4, 15, 4095, 123456, 2456789, -1 }
 
PlLong i
 
PlLong MA_ARRAY [5000]
 
PlLong MA_GLOBAL_VAR1
 
PlLong MA_GLOBAL_VAR2
 
PlLong MA_LOCAL_VAR2
 
void(* tbl [])()
 
WamCont save_CP
 
AtomInfpl_atom_tbl
 

Macro Definition Documentation

#define FC   /* define FC to force arch_dep.h to no use FC */
#define IF_NO_FD_FILE
#define MA_ARRAY   ma_array
#define MA_GLOBAL_VAR1   ma_global_var1
#define MA_GLOBAL_VAR2   ma_global_var2
#define PRINTRET   void *adr = _AddressOfReturnAddress(); printf("adr return: %p\n", adr)

Function Documentation

void FC Allocate ( int  x)
void Call_Pl ( void(*)()  code,
int  must_succeed 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void error ( void  )

Here is the caller graph for this function:

void Init_CP ( WamCont  p)

Here is the caller graph for this function:

void Initializer ( void  )
int Is_Win32_SEGV ( void *  exp)
void ma_test_arg_double ( void  )

Here is the caller graph for this function:

void ma_test_arg_fd_array ( void  )

Here is the caller graph for this function:

void ma_test_arg_fl_array ( void  )

Here is the caller graph for this function:

void ma_test_arg_int ( void  )

Here is the caller graph for this function:

void ma_test_arg_mem_l ( void  )

Here is the caller graph for this function:

void ma_test_arg_mixed ( void  )

Here is the caller graph for this function:

void ma_test_arg_string ( void  )

Here is the caller graph for this function:

void ma_test_arg_x ( void  )

Here is the caller graph for this function:

void ma_test_arg_y ( void  )

Here is the caller graph for this function:

void ma_test_call_c ( void  )

Here is the caller graph for this function:

void ma_test_call_c_lot_args ( void  )

Here is the caller graph for this function:

void ma_test_fail_ret ( void  )

Here is the caller graph for this function:

void ma_test_jump_and_c_ret ( void  )

Here is the caller graph for this function:

void ma_test_jump_ret ( void  )

Here is the caller graph for this function:

void ma_test_move_ret_fd ( void  )

Here is the caller graph for this function:

void ma_test_move_ret_fl ( void  )

Here is the caller graph for this function:

void ma_test_move_ret_mem ( void  )

Here is the caller graph for this function:

void ma_test_move_ret_x ( void  )

Here is the caller graph for this function:

void ma_test_move_ret_y ( void  )

Here is the caller graph for this function:

void ma_test_move_x_y ( void  )

Here is the caller graph for this function:

void ma_test_move_y_x ( void  )

Here is the caller graph for this function:

void ma_test_pl_call_and_pl_ret_and_pl_fail ( void  )

Here is the caller graph for this function:

void ma_test_pl_jump_and_pl_ret ( void  )

Here is the caller graph for this function:

void ma_test_prep_cp_and_here_cp ( void  )

Here is the caller graph for this function:

void ma_test_switch_ret ( void  )

Here is the caller graph for this function:

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

Here is the call graph for this function:

int Pl_Create_Atom ( char *  name)

Here is the call graph for this function:

void FC Pl_Create_Choice_Point ( CodePtr  codep_alt,
int  arity 
)
void* Pl_Dummy_Ptr ( void *  p)
void Pl_Fatal_Error ( char *  format,
  ... 
)
void Pl_Fd_Init_Engine ( void  )
void Pl_Fd_Init_Solver ( void  )

Here is the call graph for this function:

void Pl_Fd_Reset_Solver ( void  )

Here is the call graph for this function:

void Pl_Find_Linked_Objects ( void  )
void Pl_Init_Atom ( void  )

Here is the call graph for this function:

void Pl_Init_Machine ( void  )

Here is the call graph for this function:

void Pl_Init_Oper ( void  )

Here is the call graph for this function:

void Pl_Init_Pred ( void  )

Here is the call graph for this function:

PredInf* FC Pl_Lookup_Pred ( int  func,
int  arity 
)

Here is the call graph for this function:

void Restore_CP ( )
void Save_CP ( )

Here is the caller graph for this function:

void Several_Calls ( )

Here is the call graph for this function:

void SIGSEGV_Handler ( void  )

Here is the caller graph for this function:

void test_arg_double ( void  )

Here is the call graph for this function:

void FC test_arg_double1 ( double  a,
double  b,
double  c,
double  d,
double  e,
double  f 
)

Here is the call graph for this function:

void test_arg_fd_array ( void  )

Here is the call graph for this function:

void FC test_arg_fd_array1 ( double  a,
double  b,
double *  c,
double *  d 
)

Here is the call graph for this function:

void test_arg_fl_array ( void  )

Here is the call graph for this function:

void FC test_arg_fl_array1 ( PlLong  a,
PlLong  b,
PlLong c,
PlLong d 
)

Here is the call graph for this function:

void test_arg_int ( void  )

Here is the call graph for this function:

void FC test_arg_int1 ( int  a,
int  b,
int  c,
int  d 
)

Here is the call graph for this function:

void test_arg_mem_l ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void FC test_arg_mem_l1 ( PlLong  a,
PlLong  b,
PlLong c,
PlLong  d,
PlLong  e,
PlLong f 
)

Here is the call graph for this function:

void test_arg_mixed ( void  )

Here is the call graph for this function:

void FC test_arg_mixed1 ( int  ai,
double  a,
double  b,
int  bi,
int  ci,
double  c,
int  di 
)

Here is the call graph for this function:

void test_arg_string ( void  )

Here is the call graph for this function:

void FC test_arg_string1 ( char *  a,
char *  b 
)

Here is the call graph for this function:

void test_arg_x ( void  )

Here is the call graph for this function:

void FC test_arg_x1 ( WamWord  a,
WamWord b,
WamWord  c,
WamWord d 
)

Here is the call graph for this function:

void test_arg_y ( void  )

Here is the call graph for this function:

void FC test_arg_y1 ( WamWord  a,
WamWord b,
WamWord  c,
WamWord d 
)

Here is the call graph for this function:

void test_call_c ( void  )

Here is the call graph for this function:

void FC test_call_c1 ( void  )
void test_call_c_lot_args ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void FC test_call_c_lot_args1 ( WamWord  n0,
WamWord  n1,
WamWord  n2,
WamWord  n3,
WamWord  n4,
WamWord  n5,
void(*)()  a,
PlLong  b,
int  c,
int  d,
double  e,
char *  f,
WamWord  g,
WamWord h,
WamWord  i,
WamWord j,
WamWord  k,
WamWord l,
WamWord  m,
WamWord n,
double  o 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void test_declaration ( void  )

Here is the call graph for this function:

void test_fail_ret ( void  )

Here is the call graph for this function:

int FC test_fail_ret1 ( void  )
void test_initializer ( void  )

Here is the call graph for this function:

void test_jump_and_c_ret ( void  )

Here is the call graph for this function:

void test_jump_ret ( void  )

Here is the call graph for this function:

PlLong FC test_jump_ret1 ( PlLong  addr)
void FC test_jump_ret2 ( void  )
void test_move_ret_fd ( void  )

Here is the call graph for this function:

double FC test_move_ret_fd1 ( void  )
void test_move_ret_fl ( void  )

Here is the call graph for this function:

PlLong FC test_move_ret_fl1 ( void  )
void test_move_ret_mem ( void  )

Here is the call graph for this function:

PlLong FC test_move_ret_mem1 ( void  )
void test_move_ret_x ( void  )

Here is the call graph for this function:

PlLong FC test_move_ret_x1 ( void  )
void test_move_ret_y ( void  )

Here is the call graph for this function:

PlLong FC test_move_ret_y1 ( void  )
void test_move_x_y ( void  )

Here is the call graph for this function:

void test_move_y_x ( void  )

Here is the call graph for this function:

void test_pl_call_and_pl_ret_and_pl_fail ( void  )

Here is the call graph for this function:

void test_pl_jump_and_pl_ret ( void  )

Here is the call graph for this function:

void test_prep_cp_and_here_cp ( void  )

Here is the call graph for this function:

void test_switch_ret ( void  )

Here is the call graph for this function:

PlLong FC test_switch_ret1 ( void  )
void FC test_switch_ret2 ( int  k)

Here is the call graph for this function:

void Write_Long ( PlLong  x)

Variable Documentation

PlLong i
int initialised = 0
PlLong MA_ARRAY[5000]
PlLong MA_GLOBAL_VAR1
PlLong MA_GLOBAL_VAR2
PlLong MA_LOCAL_VAR2
AtomInf* pl_atom_tbl
double* pl_base_fd = pl_foreign_double
PlLong* pl_base_fl = pl_foreign_long
double pl_foreign_double[NB_OF_X_REGS]
PlLong pl_foreign_long[NB_OF_X_REGS]
PlULong pl_max_atom
PlLong ret
WamCont save_CP
WamWord stack[4096]
PlLong swt[] = { 0, 4, 15, 4095, 123456, 2456789, -1 }
void(* tbl[])()
PlLong x