/****************************************************************************
Prolog to Wam Compiler INRIA Rocquencourt - ChLoE Project
Version 2.21 Daniel Diaz - 1994
File : const.c
Main : no_main
****************************************************************************/
#define DEBUG_LEVEL 0
#include "wam_engine.h"
#include "const.h"
#include "const.usr"
#define ASCII_PRED "atom_length"
#define PRED X61746F6D5F6C656E677468
#define ARITY 2
Begin_Public_Pred
pragma_c(Atom_Length_2)
proceed
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_concat"
#define PRED X61746F6D5F636F6E636174
#define ARITY 3
Begin_Public_Pred
allocate(4)
get_y_variable(3,0)
get_y_variable(2,1)
get_y_variable(1,2)
put_y_value(3,0)
put_y_value(2,1)
put_y_value(1,2)
put_y_variable(0,3)
call(Pred_Name(X61746F6D5F636F6E6361745F646574,4),1,1,"atom_concat_det",4) /* begin sub 1 */
put_y_value(3,0)
put_y_value(2,1)
put_y_value(1,2)
put_y_unsafe_value(0,3)
deallocate
execute(Pred_Name(X61746F6D5F636F6E6361745F2461757831,4),1,"atom_concat_$aux1",4)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_concat_$aux1"
#define PRED X61746F6D5F636F6E6361745F2461757831
#define ARITY 4
Begin_Private_Pred
try_me_else(1)
put_integer(1,0)
builtin_2(term_eq,3,0)
neck_cut
proceed
label(1)
trust_me_else_fail
put_integer(2,4)
builtin_2(term_eq,3,4)
execute(Pred_Name(X61746F6D5F636F6E6361745F6E6F6E5F646574,3),1,"atom_concat_non_det",3)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_concat_det"
#define PRED X61746F6D5F636F6E6361745F646574
#define ARITY 4
Begin_Private_Pred
pragma_c(Atom_Concat_Det_4)
proceed
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_concat_non_det"
#define PRED X61746F6D5F636F6E6361745F6E6F6E5F646574
#define ARITY 3
Begin_Private_Pred
allocate(5)
get_y_variable(3,0)
get_y_variable(1,1)
put_x_value(2,0)
put_y_variable(4,1)
call(Pred_Name(X61746F6D5F636F646573,2),1,1,"atom_codes",2) /* begin sub 1 */
put_y_variable(2,0)
put_y_variable(0,1)
put_y_value(4,2)
call(Pred_Name(X617070656E64,3),0,2,"append",3) /* begin sub 2 */
put_y_value(3,0)
put_y_value(2,1)
call(Pred_Name(X61746F6D5F636F646573,2),1,3,"atom_codes",2) /* begin sub 3 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X61746F6D5F636F646573,2),1,"atom_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "sub_atom"
#define PRED X7375625F61746F6D
#define ARITY 4
Begin_Public_Pred
allocate(11)
get_y_variable(10,0)
get_y_variable(9,1)
get_y_variable(7,2)
get_y_variable(1,3)
put_y_value(10,0)
put_y_variable(4,1)
call(Pred_Name(X61746F6D5F636F646573,2),1,1,"atom_codes",2) /* begin sub 1 */
put_y_value(10,0)
put_y_variable(8,1)
call(Pred_Name(X61746F6D5F6C656E677468,2),1,2,"atom_length",2) /* begin sub 2 */
put_y_value(9,0)
put_y_value(8,1)
call(Pred_Name(X7375625F61746F6D5F2461757832,2),1,3,"sub_atom_$aux2",2) /* begin sub 3 */
math_load_y_value(9,0)
function_1(dec,0,0)
get_y_variable(6,0)
put_y_value(7,0)
put_y_value(8,1)
put_y_value(6,2)
call(Pred_Name(X7375625F61746F6D5F2461757833,3),1,4,"sub_atom_$aux3",3) /* begin sub 4 */
put_y_variable(0,0)
put_y_value(7,1)
call(Pred_Name(X6C656E677468,2),0,5,"length",2) /* begin sub 5 */
put_y_variable(3,0)
put_y_value(6,1)
call(Pred_Name(X6C656E677468,2),0,6,"length",2) /* begin sub 6 */
math_load_y_value(8,1)
math_load_y_value(7,0)
function_2(sub,1,1,0)
math_load_y_value(6,0)
function_2(sub,1,1,0)
put_y_variable(5,0)
call(Pred_Name(X6C656E677468,2),0,7,"length",2) /* begin sub 7 */
put_y_variable(2,0)
put_y_value(5,1)
put_y_value(4,2)
call(Pred_Name(X617070656E64,3),0,8,"append",3) /* begin sub 8 */
put_y_value(3,0)
put_y_value(0,1)
put_y_value(2,2)
call(Pred_Name(X617070656E64,3),0,9,"append",3) /* begin sub 9 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X61746F6D5F636F646573,2),1,"atom_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "sub_atom_$aux3"
#define PRED X7375625F61746F6D5F2461757833
#define ARITY 3
Begin_Private_Pred
try_me_else(1)
builtin_1(integer,0)
neck_cut
proceed
label(1)
trust_me_else_fail
allocate(2)
get_y_variable(1,0)
math_load_x_value(1,1)
math_load_x_value(2,2)
function_2(sub,1,1,2)
put_integer(0,0)
put_y_variable(0,2)
call(Pred_Name(X6C6973745F695F6A,3),1,1,"list_i_j",3) /* begin sub 1 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X6D656D626572,2),0,"member",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "sub_atom_$aux2"
#define PRED X7375625F61746F6D5F2461757832
#define ARITY 2
Begin_Private_Pred
try_me_else(1)
builtin_1(integer,0)
neck_cut
math_load_x_value(0,0)
put_integer(1,2)
builtin_2(gte,0,2)
math_load_x_value(0,0)
math_load_x_value(1,1)
builtin_2(lte,0,1)
proceed
label(1)
trust_me_else_fail
allocate(2)
get_y_variable(1,0)
put_integer(1,0)
put_y_variable(0,2)
call(Pred_Name(X6C6973745F695F6A,3),1,1,"list_i_j",3) /* begin sub 1 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X6D656D626572,2),0,"member",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "list_i_j"
#define PRED X6C6973745F695F6A
#define ARITY 3
Begin_Private_Pred
execute(Pred_Name(X6C6973745F695F6A5F2461757834,3),1,"list_i_j_$aux4",3)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "list_i_j_$aux4"
#define PRED X6C6973745F695F6A5F2461757834
#define ARITY 3
Begin_Private_Pred
try_me_else(1)
math_load_x_value(0,0)
math_load_x_value(1,1)
builtin_2(gt,0,1)
neck_cut
get_nil(2)
proceed
label(1)
trust_me_else_fail
get_x_variable(3,0)
math_load_x_value(3,3)
function_1(inc,0,3)
get_list(2)
unify_x_local_value(3)
unify_x_variable(2)
execute(Pred_Name(X6C6973745F695F6A,3),1,"list_i_j",3)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "char_code"
#define PRED X636861725F636F6465
#define ARITY 2
Begin_Public_Pred
pragma_c(Char_Code_2)
proceed
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "number_atom"
#define PRED X6E756D6265725F61746F6D
#define ARITY 2
Begin_Public_Pred
pragma_c(Number_Atom_2)
proceed
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_codes"
#define PRED X61746F6D5F636F646573
#define ARITY 2
Begin_Public_Pred
pragma_c(Atom_Codes_2)
proceed
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "chars_codes"
#define PRED X63686172735F636F646573
#define ARITY 2
Begin_Public_Pred
switch_on_term(G_label(1),G_label(2),fail,G_label(4),fail)
label(1)
try_me_else(3)
label(2)
get_nil(0)
get_nil(1)
proceed
label(3)
trust_me_else_fail
label(4)
allocate(2)
get_list(0)
unify_x_variable(0)
unify_y_variable(1)
get_list(1)
unify_x_variable(1)
unify_y_variable(0)
call(Pred_Name(X636861725F636F6465,2),1,1,"char_code",2) /* begin sub 1 */
put_y_value(1,0)
put_y_value(0,1)
deallocate
execute(Pred_Name(X63686172735F636F646573,2),1,"chars_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "number_codes"
#define PRED X6E756D6265725F636F646573
#define ARITY 2
Begin_Public_Pred
execute(Pred_Name(X6E756D6265725F636F6465735F2461757835,2),1,"number_codes_$aux5",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "number_codes_$aux5"
#define PRED X6E756D6265725F636F6465735F2461757835
#define ARITY 2
Begin_Private_Pred
try_me_else(1)
allocate(2)
get_y_variable(0,1)
builtin_1(nonvar,0)
neck_cut
put_y_variable(1,1)
call(Pred_Name(X6E756D6265725F61746F6D,2),1,1,"number_atom",2) /* begin sub 1 */
put_y_unsafe_value(1,0)
put_y_value(0,1)
deallocate
execute(Pred_Name(X61746F6D5F636F646573,2),1,"atom_codes",2)
label(1)
trust_me_else_fail
allocate(2)
get_y_variable(1,0)
builtin_1(nonvar,1)
put_y_variable(0,0)
call(Pred_Name(X61746F6D5F636F646573,2),1,2,"atom_codes",2) /* begin sub 2 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X6E756D6265725F61746F6D,2),1,"number_atom",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "number_chars"
#define PRED X6E756D6265725F6368617273
#define ARITY 2
Begin_Public_Pred
execute(Pred_Name(X6E756D6265725F63686172735F2461757836,2),1,"number_chars_$aux6",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "number_chars_$aux6"
#define PRED X6E756D6265725F63686172735F2461757836
#define ARITY 2
Begin_Private_Pred
try_me_else(1)
allocate(2)
get_y_variable(1,1)
builtin_1(nonvar,0)
neck_cut
put_y_variable(0,1)
call(Pred_Name(X6E756D6265725F636F646573,2),1,1,"number_codes",2) /* begin sub 1 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X63686172735F636F646573,2),1,"chars_codes",2)
label(1)
trust_me_else_fail
allocate(2)
get_y_variable(1,0)
builtin_1(nonvar,1)
put_x_value(1,0)
put_y_variable(0,1)
call(Pred_Name(X63686172735F636F646573,2),1,2,"chars_codes",2) /* begin sub 2 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X6E756D6265725F636F646573,2),1,"number_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_chars"
#define PRED X61746F6D5F6368617273
#define ARITY 2
Begin_Public_Pred
execute(Pred_Name(X61746F6D5F63686172735F2461757837,2),1,"atom_chars_$aux7",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "atom_chars_$aux7"
#define PRED X61746F6D5F63686172735F2461757837
#define ARITY 2
Begin_Private_Pred
try_me_else(1)
allocate(2)
get_y_variable(1,1)
builtin_1(nonvar,0)
neck_cut
put_y_variable(0,1)
call(Pred_Name(X61746F6D5F636F646573,2),1,1,"atom_codes",2) /* begin sub 1 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X63686172735F636F646573,2),1,"chars_codes",2)
label(1)
trust_me_else_fail
allocate(2)
get_y_variable(1,0)
builtin_1(nonvar,1)
put_x_value(1,0)
put_y_variable(0,1)
call(Pred_Name(X63686172735F636F646573,2),1,2,"chars_codes",2) /* begin sub 2 */
put_y_value(1,0)
put_y_unsafe_value(0,1)
deallocate
execute(Pred_Name(X61746F6D5F636F646573,2),1,"atom_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "name"
#define PRED X6E616D65
#define ARITY 2
Begin_Public_Pred
execute(Pred_Name(X6E616D655F2461757838,2),1,"name_$aux8",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
#define ASCII_PRED "name_$aux8"
#define PRED X6E616D655F2461757838
#define ARITY 2
Begin_Private_Pred
try_me_else(1)
allocate(1)
get_y_bc_reg(0)
call(Pred_Name(X6E756D6265725F636F646573,2),1,1,"number_codes",2) /* begin sub 1 */
cut_y(0)
deallocate
proceed
label(1)
trust_me_else_fail
execute(Pred_Name(X61746F6D5F636F646573,2),1,"atom_codes",2)
End_Pred
#undef ASCII_PRED
#undef PRED
#undef ARITY
Begin_Init_Tables(const)
Define_Atom(X5B5D,"[]")
Define_Atom(X61746F6D5F6C656E677468,"atom_length")
Define_Atom(X61746F6D5F636F6E636174,"atom_concat")
Define_Atom(X61746F6D5F636F6E6361745F2461757831,"atom_concat_$aux1")
Define_Atom(X61746F6D5F636F6E6361745F646574,"atom_concat_det")
Define_Atom(X61746F6D5F636F6E6361745F6E6F6E5F646574,"atom_concat_non_det")
Define_Atom(X7375625F61746F6D,"sub_atom")
Define_Atom(X7375625F61746F6D5F2461757833,"sub_atom_$aux3")
Define_Atom(X7375625F61746F6D5F2461757832,"sub_atom_$aux2")
Define_Atom(X6C6973745F695F6A,"list_i_j")
Define_Atom(X6C6973745F695F6A5F2461757834,"list_i_j_$aux4")
Define_Atom(X636861725F636F6465,"char_code")
Define_Atom(X6E756D6265725F61746F6D,"number_atom")
Define_Atom(X61746F6D5F636F646573,"atom_codes")
Define_Atom(X63686172735F636F646573,"chars_codes")
Define_Atom(X6E756D6265725F636F646573,"number_codes")
Define_Atom(X6E756D6265725F636F6465735F2461757835,"number_codes_$aux5")
Define_Atom(X6E756D6265725F6368617273,"number_chars")
Define_Atom(X6E756D6265725F63686172735F2461757836,"number_chars_$aux6")
Define_Atom(X61746F6D5F6368617273,"atom_chars")
Define_Atom(X61746F6D5F63686172735F2461757837,"atom_chars_$aux7")
Define_Atom(X6E616D65,"name")
Define_Atom(X6E616D655F2461757838,"name_$aux8")
Define_Pred(X61746F6D5F6C656E677468,2,1)
Define_Pred(X61746F6D5F636F6E636174,3,1)
Define_Pred(X61746F6D5F636F6E6361745F2461757831,4,0)
Define_Pred(X61746F6D5F636F6E6361745F646574,4,0)
Define_Pred(X61746F6D5F636F6E6361745F6E6F6E5F646574,3,0)
Define_Pred(X7375625F61746F6D,4,1)
Define_Pred(X7375625F61746F6D5F2461757833,3,0)
Define_Pred(X7375625F61746F6D5F2461757832,2,0)
Define_Pred(X6C6973745F695F6A,3,0)
Define_Pred(X6C6973745F695F6A5F2461757834,3,0)
Define_Pred(X636861725F636F6465,2,1)
Define_Pred(X6E756D6265725F61746F6D,2,1)
Define_Pred(X61746F6D5F636F646573,2,1)
Define_Pred(X63686172735F636F646573,2,1)
Define_Pred(X6E756D6265725F636F646573,2,1)
Define_Pred(X6E756D6265725F636F6465735F2461757835,2,0)
Define_Pred(X6E756D6265725F6368617273,2,1)
Define_Pred(X6E756D6265725F63686172735F2461757836,2,0)
Define_Pred(X61746F6D5F6368617273,2,1)
Define_Pred(X61746F6D5F63686172735F2461757837,2,0)
Define_Pred(X6E616D65,2,1)
Define_Pred(X6E616D655F2461757838,2,0)
Init_Usr_File
End_Init_Tables
Begin_Exec_Directives(const)
End_Exec_Directives
syntax highlighted by Code2HTML, v. 0.9.1