69 #include "gprolog_cst.h" 73 #define PL_KEEP_FOR_PROLOG 2 77 #define PL_EXCEPTION 2 227 #define Pl_Get_Choice_Counter() pl_foreign_bkt_counter 229 #define Pl_Get_Choice_Buffer(t) ((t) pl_foreign_bkt_buffer) 263 PlBool
Pl_Unif(PlTerm term1, PlTerm term2);
450 PlBool
Pl_Un_Chars(
const char *value, PlTerm term);
454 PlBool
Pl_Un_Codes(
const char *value, PlTerm term);
474 PlBool
Pl_Un_Term(PlTerm term1, PlTerm term2);
579 PlBool
Pl_Builtin_Arg(PlTerm arg_no, PlTerm term, PlTerm sub_term);
673 int Pl_Query_Start(
int func,
int arity, PlTerm *arg_adr, PlBool recoverable);
684 #define PL_PLV PL_REF 694 #ifndef __GPROLOG_FOREIGN_STRICT__ 699 # error "FALSE already defined with a value != 0" 711 # error "TRUE already defined with a value != 1" 727 #define type_atom pl_type_atom 728 #define type_atomic pl_type_atomic 729 #define type_byte pl_type_byte 730 #define type_callable pl_type_callable 731 #define type_character pl_type_character 732 #define type_compound pl_type_compound 733 #define type_evaluable pl_type_evaluable 734 #define type_float pl_type_float 735 #define type_boolean pl_type_boolean 736 #define type_in_byte pl_type_in_byte 737 #define type_in_character pl_type_in_character 738 #define type_integer pl_type_integer 739 #define type_list pl_type_list 740 #define type_number pl_type_number 741 #define type_predicate_indicator pl_type_predicate_indicator 742 #define type_variable pl_type_variable 744 #define type_fd_variable pl_type_fd_variable 745 #define type_fd_evaluable pl_type_fd_evaluable 746 #define type_fd_bool_evaluable pl_type_fd_bool_evaluable 749 #define domain_character_code_list pl_domain_character_code_list 750 #define domain_close_option pl_domain_close_option 751 #define domain_flag_value pl_domain_flag_value 752 #define domain_io_mode pl_domain_io_mode 753 #define domain_non_empty_list pl_domain_non_empty_list 754 #define domain_not_less_than_zero pl_domain_not_less_than_zero 755 #define domain_operator_priority pl_domain_operator_priority 756 #define domain_operator_specifier pl_domain_operator_specifier 757 #define domain_prolog_flag pl_domain_prolog_flag 758 #define domain_read_option pl_domain_read_option 759 #define domain_source_sink pl_domain_source_sink 760 #define domain_stream pl_domain_stream 761 #define domain_stream_option pl_domain_stream_option 762 #define domain_stream_or_alias pl_domain_stream_or_alias 763 #define domain_stream_position pl_domain_stream_position 764 #define domain_stream_property pl_domain_stream_property 765 #define domain_write_option pl_domain_write_option 766 #define domain_term_stream_or_alias pl_domain_term_stream_or_alias 767 #define domain_g_array_index pl_domain_g_array_index 768 #define domain_g_argument_selector pl_domain_g_argument_selector 769 #define domain_stream_seek_method pl_domain_stream_seek_method 770 #define domain_format_control_sequence pl_domain_format_control_sequence 771 #define domain_os_path pl_domain_os_path 772 #define domain_os_file_permission pl_domain_os_file_permission 773 #define domain_selectable_item pl_domain_selectable_item 774 #define domain_date_time pl_domain_date_time 777 #define existence_procedure pl_existence_procedure 778 #define existence_source_sink pl_existence_source_sink 779 #define existence_stream pl_existence_stream 780 #define existence_sr_descriptor pl_existence_sr_descriptor 783 #define permission_operation_access pl_permission_operation_access 784 #define permission_operation_close pl_permission_operation_close 785 #define permission_operation_create pl_permission_operation_create 786 #define permission_operation_input pl_permission_operation_input 787 #define permission_operation_modify pl_permission_operation_modify 788 #define permission_operation_open pl_permission_operation_open 789 #define permission_operation_output pl_permission_operation_output 790 #define permission_operation_reposition pl_permission_operation_reposition 793 #define permission_type_binary_stream pl_permission_type_binary_stream 794 #define permission_type_flag pl_permission_type_flag 795 #define permission_type_operator pl_permission_type_operator 796 #define permission_type_past_end_of_stream pl_permission_type_past_end_of_stream 797 #define permission_type_private_procedure pl_permission_type_private_procedure 798 #define permission_type_static_procedure pl_permission_type_static_procedure 799 #define permission_type_source_sink pl_permission_type_source_sink 800 #define permission_type_stream pl_permission_type_stream 801 #define permission_type_text_stream pl_permission_type_text_stream 804 #define representation_character pl_representation_character 805 #define representation_character_code pl_representation_character_code 806 #define representation_in_character_code pl_representation_in_character_code 807 #define representation_max_arity pl_representation_max_arity 808 #define representation_max_integer pl_representation_max_integer 809 #define representation_min_integer pl_representation_min_integer 810 #define representation_too_many_variables pl_representation_too_many_variables 812 #define evluation_float_overflow pl_evluation_float_overflow 813 #define evluation_int_overflow pl_evluation_int_overflow 814 #define evluation_undefined pl_evluation_undefined 815 #define evluation_underflow pl_evluation_underflow 816 #define evluation_zero_divisor pl_evluation_zero_divisor 819 #define resource_print_object_not_linked pl_resource_print_object_not_linked 820 #define resource_too_big_fd_constraint pl_resource_too_big_fd_constraint 824 #define Start_Prolog(argc, argv) Pl_Start_Prolog(argc, argv) 826 #define Stop_Prolog() Pl_Stop_Prolog() 828 #define Reset_Prolog() Pl_Reset_Prolog() 830 #define Try_Execute_Top_Level() Pl_Try_Execute_Top_Level() 836 #define Get_Choice_Counter() Pl_Get_Choice_Counter() 838 #define Get_Choice_Buffer(t) Pl_Get_Choice_Buffer(t) 840 #define No_More_Choice() Pl_No_More_Choice() 843 #define Atom_Name(a) Pl_Atom_Name(a) 845 #define Atom_Length(a) Pl_Atom_Length(a) 847 #define Atom_Needs_Quote(a) Pl_Atom_Needs_Quote(a) 849 #define Atom_Needs_Scan(a) Pl_Atom_Needs_Scan(a) 851 #define Is_Valid_Atom(a) Pl_Is_Valid_Atom(a) 853 #define Create_Atom(a) Pl_Create_Atom(a) 855 #define Create_Allocate_Atom(a) Pl_Create_Allocate_Atom(a) 857 #define Find_Atom(a) Pl_Find_Atom(a) 859 #define ATOM_CHAR(c) Pl_Atom_Char(c) 861 #define atom_nil Pl_Atom_Nil() 863 #define atom_false Pl_Atom_False() 865 #define atom_true Pl_Atom_True() 867 #define atom_end_of_file Pl_Atom_End_Of_File() 871 #define Rd_Integer_Check(term) Pl_Rd_Integer_Check(term) 873 #define Rd_Integer(term) Pl_Rd_Integer(term) 875 #define Rd_Positive_Check(term) Pl_Rd_Positive_Check(term) 877 #define Rd_Positive(term) Pl_Rd_Positive(term) 879 #define Rd_Float_Check(term) Pl_Rd_Float_Check(term) 881 #define Rd_Float(term) Pl_Rd_Float(term) 883 #define Rd_Number_Check(term) Pl_Rd_Number_Check(term) 885 #define Rd_Number(term) Pl_Rd_Number(term) 887 #define Rd_Atom_Check(term) Pl_Rd_Atom_Check(term) 889 #define Rd_Atom(term) Pl_Rd_Atom(term) 891 #define Rd_Boolean_Check(term) Pl_Rd_Boolean_Check(term) 893 #define Rd_Boolean(term) Pl_Rd_Boolean(term) 895 #define Rd_Char_Check(term) Pl_Rd_Char_Check(term) 897 #define Rd_Char(term) Pl_Rd_Char(term) 899 #define Rd_In_Char_Check(term) Pl_Rd_In_Char_Check(term) 901 #define Rd_In_Char(term) Pl_Rd_In_Char(term) 903 #define Rd_Code_Check(term) Pl_Rd_Code_Check(term) 905 #define Rd_Code(term) Pl_Rd_Code(term) 907 #define Rd_In_Code_Check(term) Pl_Rd_In_Code_Check(term) 909 #define Rd_In_Code(term) Pl_Rd_In_Code(term) 911 #define Rd_Byte_Check(term) Pl_Rd_Byte_Check(term) 913 #define Rd_Byte(term) Pl_Rd_Byte(term) 915 #define Rd_In_Byte_Check(term) Pl_Rd_In_Byte_Check(term) 917 #define Rd_In_Byte(term) Pl_Rd_In_Byte(term) 919 #define Rd_String_Check(term) Pl_Rd_String_Check(term) 921 #define Rd_String(term) Pl_Rd_String(term) 923 #define Rd_Chars_Check(term) Pl_Rd_Chars_Check(term) 925 #define Rd_Chars(term) Pl_Rd_Chars(term) 927 #define Rd_Codes_Check(term) Pl_Rd_Codes_Check(term) 929 #define Rd_Codes(term) Pl_Rd_Codes(term) 931 #define Rd_Chars_Str_Check(term, str) Pl_Rd_Chars_Str_Check(term, str) 933 #define Rd_Chars_Str(term, str) Pl_Rd_Chars_Str(term, str) 935 #define Rd_Codes_Str_Check(term, str) Pl_Rd_Codes_Str_Check(term, str) 937 #define Rd_Codes_Str(term, str) Pl_Rd_Codes_Str(term, str) 939 #define Rd_List_Check(term) Pl_Rd_List_Check(term) 941 #define Rd_List(term) Pl_Rd_List(term) 943 #define Rd_Proper_List_Check(term, arg) Pl_Rd_Proper_List_Check(term, arg) 945 #define Rd_Proper_List(term, arg) Pl_Rd_Proper_List(term, arg) 947 #define Rd_Compound_Check(term, func, arity) Pl_Rd_Compound_Check(term, func, arity) 949 #define Rd_Compound(term, func, arity) Pl_Rd_Compound(term, func, arity) 951 #define Rd_Callable_Check(term, func, arity) Pl_Rd_Callable_Check(term, func, arity) 953 #define Rd_Callable(term, func, arity) Pl_Rd_Callable(term, func, arity) 957 #define Check_For_Un_Integer(term) Pl_Check_For_Un_Integer(term) 959 #define Check_For_Un_Positive(term) Pl_Check_For_Un_Positive(term) 961 #define Check_For_Un_Float(term) Pl_Check_For_Un_Float(term) 963 #define Check_For_Un_Number(term) Pl_Check_For_Un_Number(term) 965 #define Check_For_Un_Atom(term) Pl_Check_For_Un_Atom(term) 967 #define Check_For_Un_Boolean(term) Pl_Check_For_Un_Boolean(term) 969 #define Check_For_Un_Char(term) Pl_Check_For_Un_Char(term) 971 #define Check_For_Un_In_Char(term) Pl_Check_For_Un_In_Char(term) 973 #define Check_For_Un_Code(term) Pl_Check_For_Un_Code(term) 975 #define Check_For_Un_In_Code(term) Pl_Check_For_Un_In_Code(term) 977 #define Check_For_Un_Byte(term) Pl_Check_For_Un_Byte(term) 979 #define Check_For_Un_In_Byte(term) Pl_Check_For_Un_In_Byte(term) 981 #define Check_For_Un_String(term) Pl_Check_For_Un_String(term) 983 #define Check_For_Un_Chars(term) Pl_Check_For_Un_Chars(term) 985 #define Check_For_Un_Codes(term) Pl_Check_For_Un_Codes(term) 987 #define Check_For_Un_List(term) Pl_Check_For_Un_List(term) 989 #define Check_For_Un_Compound(term) Pl_Check_For_Un_Compound(term) 991 #define Check_For_Un_Callable(term) Pl_Check_For_Un_Callable(term) 993 #define Check_For_Un_Variable(term) Pl_Check_For_Un_Variable(term) 997 #define Un_Integer_Check(value, term) Pl_Un_Integer_Check(value, term) 999 #define Un_Integer(value, term) Pl_Un_Integer(value, term) 1001 #define Un_Positive_Check(value, term) Pl_Un_Positive_Check(value, term) 1003 #define Un_Positive(value, term) Pl_Un_Positive(value, term) 1005 #define Un_Float_Check(value, term) Pl_Un_Float_Check(value, term) 1007 #define Un_Float(value, term) Pl_Un_Float(value, term) 1009 #define Un_Number_Check(value, term) Pl_Un_Number_Check(value, term) 1011 #define Un_Number(value, term) Pl_Un_Number(value, term) 1013 #define Un_Atom_Check(value, term) Pl_Un_Atom_Check(value, term) 1015 #define Un_Atom(value, term) Pl_Un_Atom(value, term) 1017 #define Un_Boolean_Check(value, term) Pl_Un_Boolean_Check(value, term) 1019 #define Un_Boolean(value, term) Pl_Un_Boolean(value, term) 1021 #define Un_Char_Check(value, term) Pl_Un_Char_Check(value, term) 1023 #define Un_Char(value, term) Pl_Un_Char(value, term) 1025 #define Un_In_Char_Check(value, term) Pl_Un_In_Char_Check(value, term) 1027 #define Un_In_Char(value, term) Pl_Un_In_Char(value, term) 1029 #define Un_Code_Check(value, term) Pl_Un_Code_Check(value, term) 1031 #define Un_Code(value, term) Pl_Un_Code(value, term) 1033 #define Un_In_Code_Check(value, term) Pl_Un_In_Code_Check(value, term) 1035 #define Un_In_Code(value, term) Pl_Un_In_Code(value, term) 1037 #define Un_Byte_Check(value, term) Pl_Un_Byte_Check(value, term) 1039 #define Un_Byte(value, term) Pl_Un_Byte(value, term) 1041 #define Un_In_Byte_Check(value, term) Pl_Un_In_Byte_Check(value, term) 1043 #define Un_In_Byte(value, term) Pl_Un_In_Byte(value, term) 1045 #define Un_String_Check(value, term) Pl_Un_String_Check(value, term) 1047 #define Un_String(value, term) Pl_Un_String(value, term) 1049 #define Un_Chars_Check(value, term) Pl_Un_Chars_Check(value, term) 1051 #define Un_Chars(value, term) Pl_Un_Chars(value, term) 1053 #define Un_Codes_Check(value, term) Pl_Un_Codes_Check(value, term) 1055 #define Un_Codes(value, term) Pl_Un_Codes(value, term) 1057 #define Un_List_Check(arg, term) Pl_Un_List_Check(arg, term) 1059 #define Un_List(arg, term) Pl_Un_List(arg, term) 1061 #define Un_Proper_List_Check(n, arg, term) Pl_Un_Proper_List_Check(n, arg, term) 1063 #define Un_Proper_List(n, arg, term) Pl_Un_Proper_List(n, arg, term) 1065 #define Un_Compound_Check(func, arity, arg, term) Pl_Un_Compound_Check(func, arity, arg, term) 1067 #define Un_Compound(func, arity, arg, term) Pl_Un_Compound(func, arity, arg, term) 1069 #define Un_Callable_Check(func, arity, arg, term) Pl_Un_Callable_Check(func, arity, arg, term) 1071 #define Un_Callable(func, arity, arg, term) Pl_Un_Callable(func, arity, arg, term) 1073 #define Un_Term(term1, term2) Pl_Un_Term(term1, term2) 1077 #define Mk_Integer(value) Pl_Mk_Integer(value) 1079 #define Mk_Positive(value) Pl_Mk_Positive(value) 1081 #define Mk_Float(value) Pl_Mk_Float(value) 1083 #define Mk_Number(value) Pl_Mk_Number(value) 1085 #define Mk_Atom(value) Pl_Mk_Atom(value) 1087 #define Mk_Boolean(value) Pl_Mk_Boolean(value) 1089 #define Mk_Char(value) Pl_Mk_Char(value) 1091 #define Mk_In_Char(value) Pl_Mk_In_Char(value) 1093 #define Mk_Code(value) Pl_Mk_Code(value) 1095 #define Mk_In_Code(value) Pl_Mk_In_Code(value) 1097 #define Mk_Byte(value) Pl_Mk_Byte(value) 1099 #define Mk_In_Byte(value) Pl_Mk_In_Byte(value) 1101 #define Mk_String(value) Pl_Mk_String(value) 1103 #define Mk_Chars(value) Pl_Mk_Chars(value) 1105 #define Mk_Codes(value) Pl_Mk_Codes(value) 1107 #define Mk_List(arg) Pl_Mk_List(arg) 1109 #define Mk_Proper_List(n, arg) Pl_Mk_Proper_List(n, arg) 1111 #define Mk_Compound(func, arity, arg) Pl_Mk_Compound(func, arity, arg) 1113 #define Mk_Callable(func, arity, arg) Pl_Mk_Callable(func, arity, arg) 1115 #define Mk_Variable() Pl_Mk_Variable() 1120 #define Blt_Var(term) Pl_Builtin_Var(term) 1122 #define Blt_Non_Var(term) Pl_Builtin_Non_Var(term) 1124 #define Blt_Atom(term) Pl_Builtin_Atom(term) 1126 #define Blt_Integer(term) Pl_Builtin_Integer(term) 1128 #define Blt_Float(term) Pl_Builtin_Float(term) 1130 #define Blt_Number(term) Pl_Builtin_Number(term) 1132 #define Blt_Atomic(term) Pl_Builtin_Atomic(term) 1134 #define Blt_Compound(term) Pl_Builtin_Compound(term) 1136 #define Blt_Callable(term) Pl_Builtin_Callable(term) 1138 #define Blt_Fd_Var(term) Pl_Builtin_Fd_Var(term) 1140 #define Blt_Non_Fd_Var(term) Pl_Builtin_Non_Fd_Var(term) 1142 #define Blt_Generic_Var(term) Pl_Builtin_Generic_Var(term) 1144 #define Blt_Non_Generic_Var(term) Pl_Builtin_Non_Generic_Var(term) 1146 #define Blt_List(term) Pl_Builtin_List(term) 1148 #define Blt_Partial_List(term) Pl_Builtin_Partial_List(term) 1150 #define Blt_List_Or_Partial_List(term) Pl_Builtin_List_Or_Partial_List(term) 1153 #define Blt_Term_Eq(term1, term2) Pl_Builtin_Term_Eq(term1, term2) 1155 #define Blt_Term_Neq(term1, term2) Pl_Builtin_Term_Neq(term1, term2) 1157 #define Blt_Term_Lt(term1, term2) Pl_Builtin_Term_Lt(term1, term2) 1159 #define Blt_Term_Lte(term1, term2) Pl_Builtin_Term_Lte(term1, term2) 1161 #define Blt_Term_Gt(term1, term2) Pl_Builtin_Term_Gt(term1, term2) 1163 #define Blt_Term_Gte(term1, term2) Pl_Builtin_Term_Gte(term1, term2) 1166 #define Blt_Eq(expr1, expr2) Pl_Builtin_Eq(expr1, expr2) 1168 #define Blt_Neq(expr1, expr2) Pl_Builtin_Neq(expr1, expr2) 1170 #define Blt_Lt(expr1, expr2) Pl_Builtin_Lt(expr1, expr2) 1172 #define Blt_Lte(expr1, expr2) Pl_Builtin_Lte(expr1, expr2) 1174 #define Blt_Gt(expr1, expr2) Pl_Builtin_Gt(expr1, expr2) 1176 #define Blt_Gte(expr1, expr2) Pl_Builtin_Gte(expr1, expr2) 1179 #define Math_Load_Value(expr, result) Pl_Math_Evaluate(expr, result) 1185 #define Type_Of_Term(term) Pl_Type_Of_Term(term) 1189 #define Term_Size(term) Pl_Term_Size(term) 1191 #define Copy_Term(dst_term, src_term) Pl_Copy_Term(dst_term, src_term) 1193 #define Copy_Contiguous_Term(dst_term, src_term) Pl_Copy_Contiguous_Term(dst_term, src_term) 1197 #define Set_C_Bip_Name(functor, arity) Pl_Set_C_Bip_Name(functor, arity) 1199 #define Unset_C_Bip_Name() Pl_Unset_C_Bip_Name() 1203 #define Emit_Syntax_Error(file_name, err_line, err_col, err_msg) \ 1204 Pl_Emit_Syntax_Error(file_name, err_line, err_col, err_msg) 1208 #define Os_Error() Pl_Os_Error() 1220 #define INT_LOWEST_VALUE PL_MIN_INTEGER 1221 #define INT_GREATEST_VALUE PL_MAX_INTEGER 1224 #define Unify(term1, term2) Pl_Unif(term1, term2) 1226 #define Unify_With_Occurs_Check(term1, term2) Pl_Unif_With_Occurs_Check(term1, term2) PlBool Pl_Builtin_Lt(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:992
int Pl_Rd_Char_Check(PlTerm term)
Definition: c_supp.c:453
int pl_domain_os_file_permission
void Pl_Check_For_Un_Float(PlTerm term)
Definition: c_supp.c:1280
PlBool Pl_Un_In_Char_Check(int value, PlTerm term)
Definition: c_supp.c:1803
int pl_existence_procedure
PlBool Pl_Is_Valid_Atom(int atom)
Definition: foreign_supp.c:549
int pl_permission_operation_open
PlBool Pl_Builtin_Non_Var(PlTerm term)
Definition: foreign_supp.c:665
PlTerm Pl_Mk_In_Code(int value)
Definition: c_supp.c:2390
void Pl_Check_For_Un_Number(PlTerm term)
Definition: c_supp.c:1293
void Pl_Check_For_Un_List(PlTerm term)
Definition: c_supp.c:1512
PlBool Pl_Builtin_Non_Fd_Var(PlTerm term)
Definition: foreign_supp.c:773
int pl_domain_stream_or_alias
int pl_existence_source_sink
int Pl_Atom_Char(char c)
Definition: foreign_supp.c:561
PlBool Pl_Builtin_Eq(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:968
PlBool Pl_Builtin_List(PlTerm term)
Definition: foreign_supp.c:809
PlLong Pl_Rd_Integer(PlTerm term)
Definition: c_supp.c:238
intptr_t PlTerm
Definition: gprolog.h:92
char * Pl_Rd_Chars_Check(PlTerm term)
Definition: c_supp.c:717
void Pl_Check_For_Un_In_Byte(PlTerm term)
Definition: c_supp.c:1397
int pl_representation_max_arity
int Pl_Rd_In_Code(PlTerm term)
Definition: c_supp.c:595
int pl_domain_character_code_list
PlBool Pl_Builtin_Gte(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:1028
int Pl_Rd_Char(PlTerm term)
Definition: c_supp.c:477
int Pl_Query_Next_Solution(void)
Definition: foreign_supp.c:383
PlBool Pl_Un_Atom_Check(int value, PlTerm term)
Definition: c_supp.c:1719
void Pl_Copy_Term(PlTerm *dst_term, PlTerm *src_term)
Definition: term_supp.c:337
void Pl_Check_For_Un_Boolean(PlTerm term)
Definition: c_supp.c:1319
void Pl_Check_For_Un_Integer(PlTerm term)
Definition: c_supp.c:1254
int pl_representation_too_many_variables
int pl_permission_operation_close
int pl_domain_operator_priority
int Pl_Rd_Boolean(PlTerm term)
Definition: c_supp.c:433
int pl_existence_sr_descriptor
int Pl_List_Length(PlTerm list)
Definition: term_supp.c:248
PlBool Pl_Un_List(PlTerm *arg, PlTerm term)
Definition: c_supp.c:2094
int pl_evluation_int_overflow
PlBool Pl_Un_Callable(int func, int arity, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2240
double Pl_Rd_Number_Check(PlTerm term)
Definition: c_supp.c:325
PlBool Pl_Un_Float_Check(double value, PlTerm term)
Definition: c_supp.c:1654
PlBool Pl_Builtin_Term_Gte(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:906
PlBool Pl_Builtin_Univ(PlTerm term, PlTerm list)
Definition: foreign_supp.c:955
int pl_permission_operation_output
PlTerm * Pl_Rd_Compound(PlTerm term, int *func, int *arity)
Definition: c_supp.c:1133
PlBool Pl_Builtin_Compound(PlTerm term)
Definition: foreign_supp.c:737
int Pl_Rd_In_Char(PlTerm term)
Definition: c_supp.c:521
static CHAR32_T c
Definition: scan_supp.c:65
PlTerm Pl_Mk_Char(int value)
Definition: c_supp.c:2351
PlBool unify
Definition: gprolog.h:97
PlBool Pl_Un_Code_Check(int value, PlTerm term)
Definition: c_supp.c:1833
char * Pl_Rd_Chars(PlTerm term)
Definition: c_supp.c:731
PlTerm Pl_Mk_Code(int value)
Definition: c_supp.c:2377
int pl_domain_g_argument_selector
int Pl_Rd_Byte_Check(PlTerm term)
Definition: c_supp.c:608
void Pl_Query_Begin(PlBool recoverable)
int Pl_Rd_Boolean_Check(PlTerm term)
Definition: c_supp.c:409
PlBool Pl_Un_Positive(PlLong value, PlTerm term)
Definition: c_supp.c:1641
PlBool Pl_Builtin_Arg(PlTerm arg_no, PlTerm term, PlTerm sub_term)
Definition: foreign_supp.c:931
PlBool Pl_Builtin_Generic_Var(PlTerm term)
Definition: foreign_supp.c:785
int pl_domain_read_option
int pl_domain_term_stream_or_alias
char * Pl_Write_Canonical_To_String(PlTerm term)
Definition: const_io_c.c:161
PlTerm Pl_Mk_Callable(int func, int arity, const PlTerm *arg)
int pl_domain_prolog_flag
PlTerm Pl_Mk_In_Byte(int value)
Definition: c_supp.c:2416
char * Pl_Rd_Codes(PlTerm term)
Definition: c_supp.c:759
int pl_permission_type_operator
int pl_domain_stream_seek_method
int pl_resource_too_big_fd_constraint
PlBool Pl_Un_String_Check(const char *value, PlTerm term)
void Pl_Err_Resource(int atom_resource)
Definition: error_supp.c:656
void Pl_Check_For_Un_Atom(PlTerm term)
Definition: c_supp.c:1306
int pl_domain_format_control_sequence
int pl_permission_type_stream
char * Pl_Display_To_String(PlTerm term)
Definition: const_io_c.c:180
PlBool Pl_Builtin_Term_Gt(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:894
PlTerm Pl_Mk_Variable(void)
Definition: c_supp.c:2607
PlBool Pl_Un_In_Code_Check(int value, PlTerm term)
Definition: c_supp.c:1861
PlBool Pl_Un_Byte_Check(int value, PlTerm term)
Definition: c_supp.c:1889
int pl_representation_character_code
PlBool Pl_Builtin_Functor(PlTerm term, PlTerm functor, PlTerm arity)
Definition: foreign_supp.c:943
int pl_permission_operation_modify
int pl_permission_operation_create
static char * err_msg
Definition: scan_supp.c:68
int pl_type_fd_bool_evaluable
void Pl_Err_Permission(int atom_oper, int atom_perm, PlTerm term)
Definition: error_supp.c:609
int Pl_Rd_Chars_Str_Check(PlTerm term, char *str)
Definition: c_supp.c:773
char * Pl_Atom_Name(int atom)
Definition: foreign_supp.c:498
PlBool Pl_Builtin_Term_Neq(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:858
void Pl_Err_Instantiation(void)
Definition: error_supp.c:532
void Pl_Err_Domain(int atom_domain, PlTerm term)
Definition: error_supp.c:577
PlTerm * Pl_Rd_List_Check(PlTerm term)
Definition: c_supp.c:929
int pl_domain_close_option
int Pl_Type_Of_Term(PlTerm term)
Definition: foreign_supp.c:481
void Pl_Write(PlTerm term)
Definition: write_supp.c:252
int Pl_Rd_Code_Check(PlTerm term)
Definition: c_supp.c:544
PlBool Pl_Builtin_Gt(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:1016
intptr_t PlLong
Definition: gprolog.h:88
PlBool Pl_Builtin_Partial_List(PlTerm term)
Definition: foreign_supp.c:821
void Pl_Check_For_Un_Callable(PlTerm term)
Definition: c_supp.c:1572
int pl_evluation_float_overflow
PlBool
Definition: gprolog.h:86
PlBool Pl_Try_Execute_Top_Level(void)
Definition: engine.c:322
PlBool Pl_Un_Float(double value, PlTerm term)
Definition: c_supp.c:1669
PlTerm Pl_Mk_Number(double value)
Definition: c_supp.c:2305
PlLong Pl_Rd_Integer_Check(PlTerm term)
Definition: c_supp.c:216
PlBool Pl_Unif_With_Occurs_Check(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:635
PlBool Pl_Builtin_Integer(PlTerm term)
Definition: foreign_supp.c:689
PlBool Pl_Un_Chars_Check(const char *value, PlTerm term)
PlTerm Pl_Mk_Integer(PlLong value)
Definition: c_supp.c:2266
int pl_type_predicate_indicator
PlBool Pl_Un_Term(PlTerm term1, PlTerm term2)
Definition: c_supp.c:2253
int pl_evluation_undefined
PlTerm Pl_Mk_Atom(int value)
Definition: c_supp.c:2325
PlBool Pl_Builtin_Term_Eq(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:846
PlBool Pl_Builtin_Atom(PlTerm term)
Definition: foreign_supp.c:677
ArgInf arg[MAX_ARGS]
Definition: ma_parser.c:114
PlTerm * Pl_Rd_Callable(PlTerm term, int *func, int *arity)
Definition: c_supp.c:1213
PlBool Pl_Un_Proper_List(int n, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2125
PlTerm Pl_Get_Exception(void)
Definition: foreign_supp.c:452
int Pl_Rd_In_Byte_Check(PlTerm term)
Definition: c_supp.c:645
PlBool Pl_Un_Number(double value, PlTerm term)
Definition: c_supp.c:1701
void Pl_Check_For_Un_String(PlTerm term)
Definition: c_supp.c:1465
double d
Definition: asm.c:27
int Pl_Query_Start(int func, int arity, PlTerm *arg_adr, PlBool recoverable)
int pl_evluation_zero_divisor
PlBool Pl_Builtin_Term_Lt(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:870
int pl_representation_character
void Pl_Err_Type(int atom_type, PlTerm term)
Definition: error_supp.c:561
PlTerm Pl_Mk_Boolean(int value)
Definition: c_supp.c:2338
void Pl_Err_Existence(int atom_object, PlTerm term)
Definition: error_supp.c:593
int pl_representation_min_integer
int Pl_Rd_In_Char_Check(PlTerm term)
Definition: c_supp.c:496
char * Pl_Rd_Codes_Check(PlTerm term)
Definition: c_supp.c:745
int pl_domain_stream_option
PlBool Pl_Builtin_Compare(PlTerm cmp, PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:919
PlTerm Pl_Mk_Codes(const char *value)
PlBool Pl_Un_In_Char(int value, PlTerm term)
Definition: c_supp.c:1819
PlTerm * Pl_Rd_Callable_Check(PlTerm term, int *func, int *arity)
Definition: c_supp.c:1167
void Pl_Check_For_Un_Char(PlTerm term)
Definition: c_supp.c:1332
PlTerm Pl_Mk_Positive(PlLong value)
Definition: c_supp.c:2279
PlBool Pl_Un_List_Check(PlTerm *arg, PlTerm term)
Definition: c_supp.c:2063
void Pl_Check_For_Un_Variable(PlTerm term)
Definition: c_supp.c:1585
int pl_permission_type_private_procedure
int Pl_Rd_Atom_Check(PlTerm term)
Definition: c_supp.c:370
void Pl_Check_For_Un_Code(PlTerm term)
Definition: c_supp.c:1358
int Pl_Rd_In_Byte(PlTerm term)
Definition: c_supp.c:669
void Pl_Check_For_Un_Chars(PlTerm term)
Definition: c_supp.c:1431
void Pl_No_More_Choice(void)
Definition: foreign_supp.c:468
PlBool Pl_Builtin_Fd_Var(PlTerm term)
Definition: foreign_supp.c:761
PlBool Bool
Definition: gprolog.h:721
PlTerm * Pl_Rd_Compound_Check(PlTerm term, int *func, int *arity)
Definition: c_supp.c:1095
int pl_permission_type_source_sink
void Pl_Stop_Prolog(void)
Definition: engine.c:230
void Pl_Check_For_Un_In_Code(PlTerm term)
Definition: c_supp.c:1371
void Pl_Check_For_Un_Compound(PlTerm term)
Definition: c_supp.c:1559
char * pl_foreign_bkt_buffer
PlBool Pl_Un_Boolean(int value, PlTerm term)
Definition: c_supp.c:1762
PlTerm Pl_Mk_Compound(int func, int arity, const PlTerm *arg)
PlBool Pl_Un_Compound_Check(int func, int arity, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2149
void Pl_Check_For_Un_Byte(PlTerm term)
Definition: c_supp.c:1384
int Pl_Query_Call(int func, int arity, PlTerm *arg_adr)
Definition: foreign_supp.c:339
void Pl_Emit_Syntax_Error(char *file_name, int err_line, int err_col, char *err_msg)
Definition: foreign_supp.c:233
PlBool Pl_Un_Boolean_Check(int value, PlTerm term)
Definition: c_supp.c:1747
int Pl_Rd_Atom(PlTerm term)
Definition: c_supp.c:392
int Pl_Rd_Byte(PlTerm term)
Definition: c_supp.c:632
PlBool Pl_Un_Number_Check(double value, PlTerm term)
Definition: c_supp.c:1682
PlBool Pl_Un_String(const char *value, PlTerm term)
int pl_representation_max_integer
int pl_domain_operator_specifier
int Pl_Create_Atom(const char *atom)
int pl_domain_write_option
void Pl_Err_Evaluation(int pl_atom_error)
Definition: error_supp.c:641
PlBool Pl_Un_Atom(int value, PlTerm term)
Definition: c_supp.c:1734
int pl_permission_type_binary_stream
PlBool Pl_Builtin_Atomic(PlTerm term)
Definition: foreign_supp.c:725
PlBool Pl_Builtin_Non_Generic_Var(PlTerm term)
Definition: foreign_supp.c:797
PlBool Pl_Un_Proper_List_Check(int n, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2110
PlBool Pl_Un_Compound(int func, int arity, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2181
PlBool Pl_Builtin_Float(PlTerm term)
Definition: foreign_supp.c:701
PlTerm Pl_Mk_Proper_List(int n, const PlTerm *arg)
PlBool Pl_Un_Integer_Check(PlLong value, PlTerm term)
Definition: c_supp.c:1598
int Pl_Create_Allocate_Atom(const char *atom)
void Pl_Exec_Continuation(int func, int arity, PlTerm *arg_adr)
Definition: foreign_supp.c:288
void Pl_Query_End(int op)
Definition: foreign_supp.c:400
int pl_foreign_bkt_counter
void Pl_Copy_Contiguous_Term(PlTerm *dst_term, PlTerm *src_term)
Definition: term_supp.c:483
Definition: foreign_supp.h:62
int Pl_Term_Size(PlTerm term)
Definition: term_supp.c:279
PlLong Pl_Term_Compare(PlTerm term1, PlTerm term2)
Definition: term_supp.c:89
PlBool Pl_Un_Positive_Check(PlLong value, PlTerm term)
Definition: c_supp.c:1626
PlBool Pl_Unif(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:621
PlBool Pl_Un_Byte(int value, PlTerm term)
Definition: c_supp.c:1904
PlBool Pl_Builtin_Var(PlTerm term)
Definition: foreign_supp.c:653
int Pl_Rd_Chars_Str(PlTerm term, char *str)
Definition: c_supp.c:817
void Pl_Math_Evaluate(PlTerm expr, PlTerm *result)
Definition: foreign_supp.c:1041
void Pl_Reset_Prolog(void)
Definition: engine.c:248
int Pl_Atom_False(void)
Definition: foreign_supp.c:584
PlBool Pl_Un_Codes(const char *value, PlTerm term)
int Pl_Rd_Codes_Str_Check(PlTerm term, char *str)
Definition: c_supp.c:852
void Pl_Err_Syntax(int pl_atom_error)
Definition: error_supp.c:671
int pl_representation_in_character_code
PlBool Pl_Atom_Needs_Quote(int atom)
Definition: foreign_supp.c:524
int pl_domain_selectable_item
char * Pl_Writeq_To_String(PlTerm term)
Definition: const_io_c.c:142
char * Pl_Rd_String_Check(PlTerm term)
Definition: c_supp.c:682
PlLong Pl_Rd_Positive(PlTerm term)
Definition: c_supp.c:273
int Pl_Rd_Proper_List_Check(PlTerm term, PlTerm *arg)
Definition: c_supp.c:979
PlTerm Pl_Mk_Byte(int value)
Definition: c_supp.c:2403
PlBool Pl_Un_Char_Check(int value, PlTerm term)
PlTerm Pl_Mk_In_Char(int value)
Definition: c_supp.c:2364
int pl_domain_source_sink
PlBool Pl_Builtin_Term_Lte(PlTerm term1, PlTerm term2)
Definition: foreign_supp.c:882
void Pl_Err_System(int pl_atom_error)
Definition: error_supp.c:686
int pl_permission_operation_access
int pl_permission_type_static_procedure
void Pl_Throw(PlTerm ball)
Definition: foreign_supp.c:301
int Pl_Start_Prolog(int argc, char *argv[])
Definition: engine.c:122
int pl_domain_not_less_than_zero
int pl_permission_operation_reposition
void Pl_Set_C_Bip_Name(const char *functor, int arity)
int Pl_Find_Atom(const char *atom)
int Pl_Rd_In_Code_Check(PlTerm term)
Definition: c_supp.c:576
void Pl_Err_Representation(int atom_flag)
Definition: error_supp.c:626
PlBool Pl_Un_In_Code(int value, PlTerm term)
Definition: c_supp.c:1876
PlBool Pl_Un_Callable_Check(int func, int arity, PlTerm *arg, PlTerm term)
Definition: c_supp.c:2209
PlBool Pl_Builtin_Number(PlTerm term)
Definition: foreign_supp.c:713
int Pl_Atom_End_Of_File(void)
Definition: foreign_supp.c:608
double Pl_Rd_Float(PlTerm term)
Definition: c_supp.c:308
PlBool Pl_Un_In_Byte_Check(int value, PlTerm term)
Definition: c_supp.c:1917
int pl_permission_type_flag
void Pl_Unset_C_Bip_Name(void)
Definition: error_supp.c:329
int pl_domain_non_empty_list
int pl_permission_type_past_end_of_stream
int pl_permission_operation_input
PlTerm Pl_Mk_Chars(const char *value)
PlBool is_var
Definition: gprolog.h:96
PlTerm Pl_Mk_List(const PlTerm *arg)
int Pl_Rd_Code(PlTerm term)
Definition: c_supp.c:563
PlTerm Pl_Mk_Float(double value)
Definition: c_supp.c:2292
PlBool Pl_Un_Integer(PlLong value, PlTerm term)
Definition: c_supp.c:1613
PlLong Pl_Rd_Positive_Check(PlTerm term)
Definition: c_supp.c:255
PlBool Pl_Atom_Needs_Scan(int atom)
Definition: foreign_supp.c:537
PlBool Pl_Builtin_Lte(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:1004
int pl_domain_g_array_index
PlBool Pl_Builtin_List_Or_Partial_List(PlTerm term)
Definition: foreign_supp.c:833
int Pl_Rd_Proper_List(PlTerm term, PlTerm *arg)
Definition: c_supp.c:1063
int pl_evluation_underflow
double Pl_Rd_Number(PlTerm term)
Definition: c_supp.c:350
int Pl_Atom_True(void)
Definition: foreign_supp.c:596
PlBool Pl_Builtin_Callable(PlTerm term)
Definition: foreign_supp.c:749
int Pl_Atom_Nil(void)
Definition: foreign_supp.c:573
int pl_permission_type_text_stream
double Pl_Rd_Float_Check(PlTerm term)
Definition: c_supp.c:286
PlBool Pl_Un_Char(int value, PlTerm term)
char * Pl_Write_To_String(PlTerm term)
Definition: const_io_c.c:123
void Pl_Check_For_Un_Codes(PlTerm term)
Definition: c_supp.c:1478
PlBool Pl_Un_In_Byte(int value, PlTerm term)
Definition: c_supp.c:1932
PlTerm * Pl_Rd_List(PlTerm term)
Definition: c_supp.c:957
int Pl_Atom_Length(int atom)
Definition: foreign_supp.c:511
PlTerm Pl_Mk_String(const char *value)
PlBool Pl_Builtin_Neq(PlTerm expr1, PlTerm expr2)
Definition: foreign_supp.c:980
void Pl_Check_For_Un_Positive(PlTerm term)
Definition: c_supp.c:1267
PlFIOArg FIOArg
Definition: gprolog.h:725
PlBool Pl_Un_Code(int value, PlTerm term)
Definition: c_supp.c:1848
void Pl_Check_For_Un_In_Char(PlTerm term)
Definition: c_supp.c:1345
uintptr_t PlULong
Definition: gprolog.h:90
PlBool Pl_Un_Chars(const char *value, PlTerm term)
char * Pl_Rd_String(PlTerm term)
Definition: c_supp.c:704
int pl_resource_print_object_not_linked
PlBool Pl_Un_Codes_Check(const char *value, PlTerm term)
PlTerm Pl_Read_From_String(const char *str)
int pl_domain_stream_position
int Pl_Rd_Codes_Str(PlTerm term, char *str)
Definition: c_supp.c:896
int pl_domain_stream_property