// begin of gg_cast.pl code file. // begin of unit gg_server code. final class gg_server_gg_server_init_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_server_init(_G401) case 0: m.allocate (2); //m.success = m.get_y_value (1,1); /* ServerPort */ m.end_head (); break; case 1: // goal: gg_init_free_name_list m.call (7) /*2*/; /* gg_init_free_name_list_0 */ break; case 2: // goal: gg_init_used_name_list m.call (8) /*2*/; /* gg_init_used_name_list_0 */ break; case 3: // goal: tcp_server(_G401, _G416) m.put_y_value (1,1); /* 'ServerPort' */ m.put_y_value (0,2); /* 'Socket' */ m.call (dlplib.tcp_server_2); /*6*/ break; case 4: // goal: format('~w : socket = ~w~n', [this, _G416]) m.put_list (10); m.set_y_value (0); /* 'Socket' */ m.set_nil (); m.put_atom (data__1__0,1); m.put_list (2); m.set_this (); m.set_x_value (10); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 5: // goal: mk_server(_G416) m.put_y_value (0,1); /* 'Socket' */ m.call (14) /*2*/; /* mk_server_1 */ break; case 6: // goal: format('end of ~w gg_server_init~n', [this]) m.put_atom (data__2__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.deallocate (); m.exec (dlplib.format_2); break; case 7: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_server_init/1 exec() // gg_server:gg_server_init/1 decls. public SymbolDescriptor data__1__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__2__0; // end of gg_server:gg_server_init/1 decls. public boolean init (DLP m) { data__1__0 = m.define_symbol ("~w : socket = ~w~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__2__0 = m.define_symbol ("end of ~w gg_server_init~n".intern(), 0); return true; } // gg_server:gg_server_init/1 init() } // gg_server:gg_server_init/1 final class gg_server_gg_server_loop_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_server_loop(_G401) case 0: m.allocate (4); //m.success = m.get_y_value (2,1); /* Socket */ m.end_head (); break; case 1: // goal: format('~w : running ...~n', [this]) m.put_atom (data__3__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 2: // goal: next_free_name(_G418) m.put_y_value (3,1); /* 'ClientName' */ m.call (9) /*2*/; /* next_free_name_1 */ break; case 3: // goal: assign_nlv_term(this, nreg, 1, _G418) m.put_this (1); m.put_nreg (2); m.put_int (1,3); m.put_y_value (3,4); /* 'ClientName' */ m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 4: // goal: format('~w : next client name = ~w~n', [this, client_name]) m.put_list (10); m.set_z_value (1); /* client_name */ m.set_nil (); m.put_atom (data__4__0,1); m.put_list (2); m.set_this (); m.set_x_value (10); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 5: // goal: tcp_accept(_G401, _G442, _G443) m.put_y_value (2,1); /* 'Socket' */ m.put_y_value (1,2); /* 'StreamIn' */ m.put_y_value (0,3); /* 'StreamOut' */ m.call (dlplib.tcp_accept_3); /*6*/ break; case 6: // goal: format('~w : accepting new client connection~n', [this]) m.put_atom (data__5__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 7: // goal: mk_server(_G401) m.put_y_value (2,1); /* 'Socket' */ m.call (14) /*2*/; /* mk_server_1 */ break; case 8: // goal: gg_server_loop(_G442, _G443) m.put_y_value (1,1); /* 'StreamIn' */ m.put_y_value (0,2); /* 'StreamOut' */ m.deallocate (); m.exec (2); /* gg_server_loop_2 */ break; case 9: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_server_loop/1 exec() // gg_server:gg_server_loop/1 decls. public SymbolDescriptor data__3__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__4__0; public SymbolDescriptor data__5__0; // end of gg_server:gg_server_loop/1 decls. public boolean init (DLP m) { data__3__0 = m.define_symbol ("~w : running ...~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__4__0 = m.define_symbol ("~w : next client name = ~w~n".intern(), 0); data__5__0 = m.define_symbol ("~w : accepting new client connection~n".intern(), 0); return true; } // gg_server:gg_server_loop/1 init() } // gg_server:gg_server_loop/1 final class gg_server_gg_server_loop_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_server_loop(_G401, _G402) case 0: m.allocate (7); //m.success = m.get_y_value (1,1); /* StreamIn */ m.get_y_value (0,2); /* StreamOut */ m.cut_level (2); m.end_head (); break; case 1: // goal: repeat m.call (dlplib.repeat_0); /*6*/ break; case 2: // goal: get_msecs(_G413) m.put_y_value (4,1); /* 'Init' */ m.call (dlplib.get_msecs_1); /*6*/ break; case 3: // goal: tcp_get_term(_G401, _G419) m.put_y_value (1,1); /* 'StreamIn' */ m.put_y_value (6,2); /* 'InputTerm' */ m.call (dlplib.tcp_get_term_2); /*6*/ break; case 4: // goal: gg_server_input(_G419, _G425) m.put_y_value (6,1); /* 'InputTerm' */ m.put_y_value (3,2); /* 'ReplyTerm' */ m.call (4) /*2*/; /* gg_server_input_2 */ break; case 5: // goal: tcp_put_term(_G402, _G425) m.put_y_value (0,1); /* 'StreamOut' */ m.put_y_value (3,2); /* 'ReplyTerm' */ m.call (dlplib.tcp_put_term_2); /*6*/ break; case 6: // goal: get_msecs(_G436) m.put_y_value (5,1); /* 'Stop' */ m.call (dlplib.get_msecs_1); /*6*/ break; case 7: // goal: is_eval(_G436-_G413, _G441) m.put_struct (op__sub__2,1); m.set_y_value (5); /* 'Stop' */ m.set_y_value (4); /* 'Init' */ m.put_v_varia (2); /* 'Time' */ m.call (dlplib.is_eval_2); /*6*/ break; case 8: // goal: server_thread_exit(_G425) m.put_y_value (3,1); /* 'ReplyTerm' */ m.call (3) /*2*/; /* server_thread_exit_1 */ break; case 9: // goal: ! m.cut_body (2); break; case 10: // goal: tcp_close(_G401) m.put_y_value (1,1); /* 'StreamIn' */ m.call (dlplib.tcp_close_1); /*6*/ break; case 11: // goal: tcp_close(_G402) m.put_y_value (0,1); /* 'StreamOut' */ m.deallocate (); m.exec (dlplib.tcp_close_1); break; case 12: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_server_loop/2 exec() // gg_server:gg_server_loop/2 decls. public SymbolDescriptor op__sub__2; // end of gg_server:gg_server_loop/2 decls. public boolean init (DLP m) { op__sub__2 = m.define_symbol ("-".intern(), 2); return true; } // gg_server:gg_server_loop/2 init() } // gg_server:gg_server_loop/2 final class gg_server_server_thread_exit_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: server_thread_exit(_G401) case 0: m.try_me_else (4); m.allocate (1); //m.success = m.get_x_varia (10,1); /* ReplyTerm */ m.cut_level (0); m.end_head (); break; case 1: // goal: _G401=[reply, unregister, _G418] m.put_list (11); m.set_v_varia (); /* 'Unknown' */ m.set_nil (); m.put_list (13); m.set_atom (unregister__0); m.set_x_value (11); /* 'Xtmp' */ m.put_x_value (10,1); /* 'ReplyTerm' */ m.put_list (2); m.set_atom (reply__0); m.set_x_value (13); /* 'Xtmp' */ m.call (dlplib.op_eq_2); /*6*/ break; case 2: // goal: ! m.cut_tail (0); m.deallocate (); break; case 3: m.end_rule (); break; // head: server_thread_exit(_G3561) case 4: m.trust_or_fail (); //m.success = m.get_x_varia (10,1); /* ReplyTerm */ m.end_head (); break; case 5: // goal: _G3561=shutdown m.put_x_value (10,1); /* 'ReplyTerm' */ m.put_atom (shutdown__0,2); m.exec (dlplib.op_eq_2); break; case 6: m.end_rule (); break; } // switch return m.success; } // gg_server:server_thread_exit/1 exec() // gg_server:server_thread_exit/1 decls. public SymbolDescriptor op__dot__2; public SymbolDescriptor reply__0; public SymbolDescriptor unregister__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor shutdown__0; // end of gg_server:server_thread_exit/1 decls. public boolean init (DLP m) { op__dot__2 = m.define_symbol (".".intern(), 2); reply__0 = m.define_symbol ("reply".intern(), 0); unregister__0 = m.define_symbol ("unregister".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); shutdown__0 = m.define_symbol ("shutdown".intern(), 0); return true; } // gg_server:server_thread_exit/1 init() } // gg_server:server_thread_exit/1 final class gg_server_gg_server_input_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_server_input(_G401, _G402) case 0: m.allocate (0); //m.success = m.get_x_varia (10,1); /* Input */ m.get_x_varia (11,2); /* Reply */ m.end_head (); break; case 1: // goal: server_reply(_G401, _G402) m.put_x_value (10,1); /* 'Input' */ m.put_x_value (11,2); /* 'Reply' */ m.call (5) /*2*/; /* server_reply_2 */ break; case 2: // goal: true m.deallocate (); m.exec (dlplib.true_0); break; case 3: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_server_input/2 exec() // gg_server:gg_server_input/2 decls. // end of gg_server:gg_server_input/2 decls. public boolean init (DLP m) { return true; } // gg_server:gg_server_input/2 init() } // gg_server:gg_server_input/2 final class gg_server_server_reply_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: server_reply(_G401, _G402) case 0: //m.success = m.get_v_varia (1); /* Unknown */ m.get_v_varia (2); /* Unknown */ m.end_head (); break; case 1: // goal: format('~n~w : server_reply/2 not implemented~n', [this]) m.put_atom (data__6__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_server:server_reply/2 exec() // gg_server:server_reply/2 decls. public SymbolDescriptor data__6__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_server:server_reply/2 decls. public boolean init (DLP m) { data__6__0 = m.define_symbol ("~n~w : server_reply/2 not implemented~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_server:server_reply/2 init() } // gg_server:server_reply/2 final class gg_server_free_name_list_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: free_name_list(_G401) case 0: //m.success = m.get_v_varia (1); /* Unknown */ m.end_head (); break; case 1: // goal: format('~n~w : free_name_list/1 not implemented~n', [this]) m.put_atom (data__7__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_server:free_name_list/1 exec() // gg_server:free_name_list/1 decls. public SymbolDescriptor data__7__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_server:free_name_list/1 decls. public boolean init (DLP m) { data__7__0 = m.define_symbol ("~n~w : free_name_list/1 not implemented~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_server:free_name_list/1 init() } // gg_server:free_name_list/1 final class gg_server_gg_init_free_name_list_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_init_free_name_list case 0: m.allocate (1); //m.success = m.end_head (); break; case 1: // goal: free_name_list(_G407) m.put_y_value (0,1); /* 'FreeList' */ m.call (6) /*2*/; /* free_name_list_1 */ break; case 2: // goal: set_field(free_name_list, _G407) m.put_atom (free_name_list__0,1); m.put_y_value (0,2); /* 'FreeList' */ m.deallocate (); m.exec (dlplib.set_field_2); break; case 3: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_init_free_name_list/0 exec() // gg_server:gg_init_free_name_list/0 decls. public SymbolDescriptor free_name_list__0; // end of gg_server:gg_init_free_name_list/0 decls. public boolean init (DLP m) { free_name_list__0 = m.define_symbol ("free_name_list".intern(), 0); return true; } // gg_server:gg_init_free_name_list/0 init() } // gg_server:gg_init_free_name_list/0 final class gg_server_gg_init_used_name_list_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_init_used_name_list case 0: //m.success = m.end_head (); break; case 1: // goal: set_field(used_name_list, []) m.put_atom (used_name_list__0,1); m.put_nil (2); m.exec (dlplib.set_field_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_init_used_name_list/0 exec() // gg_server:gg_init_used_name_list/0 decls. public SymbolDescriptor used_name_list__0; public SymbolDescriptor sl_sr__0; // end of gg_server:gg_init_used_name_list/0 decls. public boolean init (DLP m) { used_name_list__0 = m.define_symbol ("used_name_list".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_server:gg_init_used_name_list/0 init() } // gg_server:gg_init_used_name_list/0 final class gg_server_next_free_name_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: next_free_name(_G401) case 0: m.allocate (3); //m.success = m.get_y_value (1,1); /* UserName */ m.end_head (); break; case 1: // goal: get_field_event(free_name_list, _G410) m.put_atom (free_name_list__0,1); m.put_y_value (2,2); /* 'FreeList' */ m.call (dlplib.get_field_event_2); /*6*/ break; case 2: // goal: _G410=[_G401|_G419] m.put_y_value (2,1); /* 'FreeList' */ m.put_list (2); m.set_y_value (1); /* 'UserName' */ m.set_y_value (0); /* 'ListTail' */ m.call (dlplib.op_eq_2); /*6*/ break; case 3: // goal: format('Object ~w : next_free_list = ~w~n', [this, _G419]) m.put_list (10); m.set_y_value (0); /* 'ListTail' */ m.set_nil (); m.put_atom (data__8__0,1); m.put_list (2); m.set_this (); m.set_x_value (10); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 4: // goal: set_field(free_name_list, _G419) m.put_atom (free_name_list__0,1); m.put_y_value (0,2); /* 'ListTail' */ m.deallocate (); m.exec (dlplib.set_field_2); break; case 5: m.end_rule (); break; } // switch return m.success; } // gg_server:next_free_name/1 exec() // gg_server:next_free_name/1 decls. public SymbolDescriptor free_name_list__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor data__8__0; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_server:next_free_name/1 decls. public boolean init (DLP m) { free_name_list__0 = m.define_symbol ("free_name_list".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); data__8__0 = m.define_symbol ("Object ~w : next_free_list = ~w~n".intern(), 0); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_server:next_free_name/1 init() } // gg_server:next_free_name/1 final class gg_server_next_used_name_list_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: next_used_name_list(_G401, _G402) case 0: m.allocate (4); //m.success = m.get_y_value (3,1); /* UserHost */ m.get_y_value (2,2); /* UserName */ m.end_head (); break; case 1: // goal: get_field_event(used_name_list, _G411) m.put_atom (used_name_list__0,1); m.put_y_value (1,2); /* 'UserList' */ m.call (dlplib.get_field_event_2); /*6*/ break; case 2: // goal: format('This user list = ~w~n', [_G411]) m.put_atom (data__9__0,1); m.put_list (2); m.set_y_value (1); /* 'UserList' */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 3: // goal: _G425=[user(_G401, _G402)|_G411] m.put_struct (user__2,10); m.set_y_value (3); /* 'UserHost' */ m.set_y_value (2); /* 'UserName' */ m.put_y_value (0,1); /* 'NextUserList' */ m.put_list (2); m.set_x_value (10); /* 'Xtmp' */ m.set_y_value (1); /* 'UserList' */ m.call (dlplib.op_eq_2); /*6*/ break; case 4: // goal: format('Next user list = ~w~n', [_G425]) m.put_atom (data__10__0,1); m.put_list (2); m.set_y_value (0); /* 'NextUserList' */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 5: // goal: set_field(used_name_list, _G425) m.put_atom (used_name_list__0,1); m.put_y_value (0,2); /* 'NextUserList' */ m.deallocate (); m.exec (dlplib.set_field_2); break; case 6: m.end_rule (); break; } // switch return m.success; } // gg_server:next_used_name_list/2 exec() // gg_server:next_used_name_list/2 decls. public SymbolDescriptor used_name_list__0; public SymbolDescriptor data__9__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor sl_sr__0; public SymbolDescriptor user__2; public SymbolDescriptor data__10__0; // end of gg_server:next_used_name_list/2 decls. public boolean init (DLP m) { used_name_list__0 = m.define_symbol ("used_name_list".intern(), 0); data__9__0 = m.define_symbol ("This user list = ~w~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); sl_sr__0 = m.define_symbol ("[]".intern(), 0); user__2 = m.define_symbol ("user".intern(), 2); data__10__0 = m.define_symbol ("Next user list = ~w~n".intern(), 0); return true; } // gg_server:next_used_name_list/2 init() } // gg_server:next_used_name_list/2 final class gg_server_gg_register_client_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_register_client(_G401, _G402) case 0: m.allocate (2); //m.success = m.get_y_value (1,1); /* ClientHost */ m.get_y_value (0,2); /* ClientName */ m.end_head (); break; case 1: // goal: _G402=client_name m.put_y_value (0,1); /* 'ClientName' */ m.put_z_value (1,2); /* client_name */ m.call (dlplib.op_eq_2); /*6*/ break; case 2: // goal: next_used_name_list(_G401, _G402) m.put_y_value (1,1); /* 'ClientHost' */ m.put_y_value (0,2); /* 'ClientName' */ m.deallocate (); m.exec (10); /* next_used_name_list_2 */ break; case 3: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_register_client/2 exec() // gg_server:gg_register_client/2 decls. // end of gg_server:gg_register_client/2 decls. public boolean init (DLP m) { return true; } // gg_server:gg_register_client/2 init() } // gg_server:gg_register_client/2 final class gg_server_gg_unregister_client_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_unregister_client(_G401, _G402, _G403) case 0: m.allocate (5); //m.success = m.get_y_value (2,1); /* Host */ m.get_y_value (1,2); /* Name */ m.get_x_varia (11,3); /* Length */ m.end_head (); break; case 1: // goal: queue_length(_G401, _G402, _G403) m.put_y_value (2,1); /* 'Host' */ m.put_y_value (1,2); /* 'Name' */ m.put_x_value (11,3); /* 'Length' */ m.call (dlplib.queue_length_3); /*6*/ break; case 2: // goal: get_field_event(free_name_list, _G419) m.put_atom (free_name_list__0,1); m.put_y_value (4,2); /* 'FreeList' */ m.call (dlplib.get_field_event_2); /*6*/ break; case 3: // goal: set_field(free_name_list, [_G402|_G419]) m.put_atom (free_name_list__0,1); m.put_list (2); m.set_y_value (1); /* 'Name' */ m.set_y_value (4); /* 'FreeList' */ m.call (dlplib.set_field_2); /*6*/ break; case 4: // goal: get_field_event(used_name_list, _G434) m.put_atom (used_name_list__0,1); m.put_y_value (3,2); /* 'UserList' */ m.call (dlplib.get_field_event_2); /*6*/ break; case 5: // goal: format('Curr user list = ~q~n', [_G434]) m.put_atom (data__11__0,1); m.put_list (2); m.set_y_value (3); /* 'UserList' */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 6: // goal: unregister_client_loop(_G434, user(_G401, _G402), _G450) m.put_y_value (3,1); /* 'UserList' */ m.put_struct (user__2,2); m.set_y_value (2); /* 'Host' */ m.set_y_value (1); /* 'Name' */ m.put_y_value (0,3); /* 'NextUserList' */ m.call (13) /*2*/; /* unregister_client_loop_3 */ break; case 7: // goal: format('Exit user list = ~q~n', [_G450]) m.put_atom (data__12__0,1); m.put_list (2); m.set_y_value (0); /* 'NextUserList' */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 8: // goal: set_field(used_name_list, _G450) m.put_atom (used_name_list__0,1); m.put_y_value (0,2); /* 'NextUserList' */ m.deallocate (); m.exec (dlplib.set_field_2); break; case 9: m.end_rule (); break; } // switch return m.success; } // gg_server:gg_unregister_client/3 exec() // gg_server:gg_unregister_client/3 decls. public SymbolDescriptor free_name_list__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor used_name_list__0; public SymbolDescriptor data__11__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor user__2; public SymbolDescriptor data__12__0; // end of gg_server:gg_unregister_client/3 decls. public boolean init (DLP m) { free_name_list__0 = m.define_symbol ("free_name_list".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); used_name_list__0 = m.define_symbol ("used_name_list".intern(), 0); data__11__0 = m.define_symbol ("Curr user list = ~q~n".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); user__2 = m.define_symbol ("user".intern(), 2); data__12__0 = m.define_symbol ("Exit user list = ~q~n".intern(), 0); return true; } // gg_server:gg_unregister_client/3 init() } // gg_server:gg_unregister_client/3 final class gg_server_unregister_client_loop_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: unregister_client_loop([], _G402, []) case 0: m.try_me_else (4); m.allocate (1); //m.success = m.get_nil (1); m.get_x_varia (11,2); /* User */ m.get_nil (3); m.cut_level (0); m.end_head (); break; case 1: // goal: format('~w : exit client, ~q not found~n', [this, _G402]) m.put_list (12); m.set_x_value (11); /* 'User' */ m.set_nil (); m.put_atom (data__13__0,1); m.put_list (2); m.set_this (); m.set_x_value (12); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 2: // goal: ! m.cut_tail (0); m.deallocate (); break; case 3: m.end_rule (); break; // head: unregister_client_loop([_G3317|_G3318], _G3317, _G3318) case 4: m.retry_me_else (8); m.allocate (1); //m.success = m.get_list (1); m.uni_x_varia (11); /* User */ m.uni_x_varia (12); /* List */ m.get_x_value (11,2); /* User */ m.get_x_value (12,3); /* List */ m.cut_level (0); m.end_head (); break; case 5: // goal: format('~w : exit client, ~q found~n', [this, _G3317]) m.put_list (13); m.set_x_value (11); /* 'User' */ m.set_nil (); m.put_atom (data__14__0,1); m.put_list (2); m.set_this (); m.set_x_value (13); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 6: // goal: ! m.cut_tail (0); m.deallocate (); break; case 7: m.end_rule (); break; // head: unregister_client_loop([_G6150|_G6151], _G6144, [_G6150|_G6154]) case 8: m.trust_or_fail (); //m.success = m.get_list (1); m.uni_x_varia (11); /* Next */ m.uni_x_varia (12); /* List */ m.get_x_varia (13,2); /* UserData */ m.get_list (3); m.uni_x_value (11); /* Next */ m.uni_x_varia (14); /* NextList */ m.end_head (); break; case 9: // goal: unregister_client_loop(_G6151, _G6144, _G6154) m.put_x_value (12,1); /* 'List' */ m.put_x_value (13,2); /* 'UserData' */ m.put_x_value (14,3); /* 'NextList' */ m.exec (13); /* unregister_client_loop_3 */ break; case 10: m.end_rule (); break; } // switch return m.success; } // gg_server:unregister_client_loop/3 exec() // gg_server:unregister_client_loop/3 decls. public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__13__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor data__14__0; // end of gg_server:unregister_client_loop/3 decls. public boolean init (DLP m) { sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__13__0 = m.define_symbol ("~w : exit client, ~q not found~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); data__14__0 = m.define_symbol ("~w : exit client, ~q found~n".intern(), 0); return true; } // gg_server:unregister_client_loop/3 init() } // gg_server:unregister_client_loop/3 final class gg_server_init_vars_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: init_vars case 0: m.allocate (0); //m.success = m.end_head (); break; case 1: // goal: assign_nlv_term(this, nreg, 0, null) m.put_this (1); m.put_nreg (2); m.put_int (0,3); m.put_atom (null__0,4); m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 2: // goal: assign_nlv_term(this, nreg, 1, null) m.put_this (1); m.put_nreg (2); m.put_int (1,3); m.put_atom (null__0,4); m.deallocate (); m.exec (dlplib.assign_nlv_term_4); break; case 3: m.end_rule (); break; } // switch return m.success; } // gg_server:init_vars/0 exec() // gg_server:init_vars/0 decls. public SymbolDescriptor null__0; // end of gg_server:init_vars/0 decls. public boolean init (DLP m) { null__0 = m.define_symbol ("null".intern(), 0); return true; } // gg_server:init_vars/0 init() } // gg_server:init_vars/0 class gg_server extends Code { public static ObjectDescriptor object; public static MethodDescriptor gg_server_init_1; public static MethodDescriptor gg_server_loop_1; public static MethodDescriptor gg_server_loop_2; public static MethodDescriptor server_thread_exit_1; public static MethodDescriptor gg_server_input_2; public static MethodDescriptor server_reply_2; public static MethodDescriptor free_name_list_1; public static MethodDescriptor gg_init_free_name_list_0; public static MethodDescriptor gg_init_used_name_list_0; public static MethodDescriptor next_free_name_1; public static MethodDescriptor next_used_name_list_2; public static MethodDescriptor gg_register_client_2; public static MethodDescriptor gg_unregister_client_3; public static MethodDescriptor unregister_client_loop_3; public static MethodDescriptor mk_server_1; public boolean init (DLP m) { object = m.define_object ("gg_server".intern(), 0, 15, 2); gg_server_init_1 = m.define_method (object, 0, "gg_server_init".intern(), 1); gg_server_loop_1 = m.define_method (object, 1, "gg_server_loop".intern(), 1); gg_server_loop_2 = m.define_method (object, 2, "gg_server_loop".intern(), 2); server_thread_exit_1 = m.define_method (object, 3, "server_thread_exit".intern(), 1); gg_server_input_2 = m.define_method (object, 4, "gg_server_input".intern(), 2); server_reply_2 = m.define_method (object, 5, "server_reply".intern(), 2); free_name_list_1 = m.define_method (object, 6, "free_name_list".intern(), 1); gg_init_free_name_list_0 = m.define_method (object, 7, "gg_init_free_name_list".intern(), 0); gg_init_used_name_list_0 = m.define_method (object, 8, "gg_init_used_name_list".intern(), 0); next_free_name_1 = m.define_method (object, 9, "next_free_name".intern(), 1); next_used_name_list_2 = m.define_method (object, 10, "next_used_name_list".intern(), 2); gg_register_client_2 = m.define_method (object, 11, "gg_register_client".intern(), 2); gg_unregister_client_3 = m.define_method (object, 12, "gg_unregister_client".intern(), 3); unregister_client_loop_3 = m.define_method (object, 13, "unregister_client_loop".intern(), 3); mk_server_1 = m.extern_method (object, 14, "mk_server".intern(), 1); m.define_nonlog (object, "client_host".intern(), 0); m.define_nonlog (object, "client_name".intern(), 1); return true; } // gg_server init() } // class gg_server // end of unit gg_server code. // begin of unit gg_echo code. final class gg_echo_broadcast_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: broadcast(_G401, _G402, _G403) case 0: m.allocate (4); //m.success = m.get_y_value (2,1); /* UserHost */ m.get_y_value (1,2); /* UserName */ m.get_y_value (0,3); /* Message */ m.end_head (); break; case 1: // goal: get_field(used_name_list, _G412) m.put_atom (used_name_list__0,1); m.put_y_value (3,2); /* 'UserList' */ m.call (dlplib.get_field_2); /*6*/ break; case 2: // goal: broadcast_loop(_G412, user(_G401, _G402), _G403) m.put_y_value (3,1); /* 'UserList' */ m.put_struct (user__2,2); m.set_y_value (2); /* 'UserHost' */ m.set_y_value (1); /* 'UserName' */ m.put_y_value (0,3); /* 'Message' */ m.deallocate (); m.exec (1); /* broadcast_loop_3 */ break; case 3: m.end_rule (); break; } // switch return m.success; } // gg_echo:broadcast/3 exec() // gg_echo:broadcast/3 decls. public SymbolDescriptor used_name_list__0; public SymbolDescriptor user__2; // end of gg_echo:broadcast/3 decls. public boolean init (DLP m) { used_name_list__0 = m.define_symbol ("used_name_list".intern(), 0); user__2 = m.define_symbol ("user".intern(), 2); return true; } // gg_echo:broadcast/3 init() } // gg_echo:broadcast/3 final class gg_echo_broadcast_loop_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: broadcast_loop([], _G402, _G403) case 0: m.try_me_else (2); //m.success = m.get_nil (1); m.get_v_varia (2); /* Unknown */ m.get_v_varia (3); /* Unknown */ m.cut_neck (); m.end_head (); break; case 1: m.end_fact (); break; // head: broadcast_loop([_G2426|_G2433], _G2426, _G2427) case 2: m.retry_me_else (5); //m.success = m.get_list (1); m.uni_x_varia (11); /* User */ m.uni_x_varia (12); /* List */ m.get_x_value (11,2); /* User */ m.get_x_varia (13,3); /* Message */ m.cut_neck (); m.end_head (); break; case 3: // goal: broadcast_loop(_G2433, _G2426, _G2427) m.put_x_value (12,1); /* 'List' */ m.put_x_value (11,2); /* 'User' */ m.put_x_value (13,3); /* 'Message' */ m.exec (1); /* broadcast_loop_3 */ break; case 4: m.end_rule (); break; // head: broadcast_loop([_G5225|_G5226], _G5219, _G5220) case 5: m.trust_or_fail (); m.allocate (5); //m.success = m.get_list (1); m.uni_x_varia (11); /* User */ m.uni_y_value (2); /* List */ m.get_y_value (1,2); /* FromUser */ m.get_y_value (0,3); /* Message */ m.end_head (); break; case 6: // goal: _G5225=user(_G5234, _G5235) m.put_x_value (11,1); /* 'User' */ m.put_struct (user__2,2); m.set_y_value (4); /* 'NextHost' */ m.set_y_value (3); /* 'NextName' */ m.call (dlplib.op_eq_2); /*6*/ break; case 7: // goal: broadcast_mesg(_G5234, _G5235, _G5220) m.put_y_value (4,1); /* 'NextHost' */ m.put_y_value (3,2); /* 'NextName' */ m.put_y_value (0,3); /* 'Message' */ m.call (2) /*2*/; /* broadcast_mesg_3 */ break; case 8: // goal: broadcast_loop(_G5226, _G5219, _G5220) m.put_y_value (2,1); /* 'List' */ m.put_y_value (1,2); /* 'FromUser' */ m.put_y_value (0,3); /* 'Message' */ m.deallocate (); m.exec (1); /* broadcast_loop_3 */ break; case 9: m.end_rule (); break; } // switch return m.success; } // gg_echo:broadcast_loop/3 exec() // gg_echo:broadcast_loop/3 decls. public SymbolDescriptor sl_sr__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor user__2; // end of gg_echo:broadcast_loop/3 decls. public boolean init (DLP m) { sl_sr__0 = m.define_symbol ("[]".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); user__2 = m.define_symbol ("user".intern(), 2); return true; } // gg_echo:broadcast_loop/3 init() } // gg_echo:broadcast_loop/3 final class gg_echo_broadcast_mesg_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: broadcast_mesg(_G401, _G402, _G403) case 0: m.try_me_else (5); m.allocate (3); //m.success = m.get_y_value (2,1); /* Host */ m.get_y_value (1,2); /* Name */ m.get_v_varia (3); /* Unknown */ m.cut_level (0); m.end_head (); break; case 1: // goal: queue_full(_G401, _G402) m.put_y_value (2,1); /* 'Host' */ m.put_y_value (1,2); /* 'Name' */ m.call (dlplib.queue_full_2); /*6*/ break; case 2: // goal: format('~w : QUEUE ~w:~w FULL~n', [this, _G401, _G402]) m.put_list (12); m.set_y_value (1); /* 'Name' */ m.set_nil (); m.put_list (13); m.set_y_value (2); /* 'Host' */ m.set_x_value (12); /* 'Xtmp' */ m.put_atom (data__15__0,1); m.put_list (2); m.set_this (); m.set_x_value (13); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 3: // goal: ! m.cut_tail (0); m.deallocate (); break; case 4: m.end_rule (); break; // head: broadcast_mesg(_G4143, _G4144, _G4145) case 5: m.trust_or_fail (); m.allocate (3); //m.success = m.get_y_value (1,1); /* Host */ m.get_y_value (2,2); /* Name */ m.get_x_varia (11,3); /* Message */ m.end_head (); break; case 6: // goal: set_queue(_G4143, _G4144, _G4145) m.put_y_value (1,1); /* 'Host' */ m.put_y_value (2,2); /* 'Name' */ m.put_x_value (11,3); /* 'Message' */ m.call (dlplib.set_queue_3); /*6*/ break; case 7: // goal: queue_length(_G4143, _G4144, _G4162) m.put_y_value (1,1); /* 'Host' */ m.put_y_value (2,2); /* 'Name' */ m.put_y_value (0,3); /* 'Length' */ m.call (dlplib.queue_length_3); /*6*/ break; case 8: // goal: format('~w: queue of ~w on ~w (size = ~w)~n', [this, _G4144, _G4143, _G4162]) m.put_list (12); m.set_y_value (0); /* 'Length' */ m.set_nil (); m.put_list (13); m.set_y_value (1); /* 'Host' */ m.set_x_value (12); /* 'Xtmp' */ m.put_list (14); m.set_y_value (2); /* 'Name' */ m.set_x_value (13); /* 'Xtmp' */ m.put_atom (data__16__0,1); m.put_list (2); m.set_this (); m.set_x_value (14); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 9: // goal: true m.deallocate (); m.exec (dlplib.true_0); break; case 10: m.end_rule (); break; } // switch return m.success; } // gg_echo:broadcast_mesg/3 exec() // gg_echo:broadcast_mesg/3 decls. public SymbolDescriptor data__15__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__16__0; // end of gg_echo:broadcast_mesg/3 decls. public boolean init (DLP m) { data__15__0 = m.define_symbol ("~w : QUEUE ~w:~w FULL~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__16__0 = m.define_symbol ("~w: queue of ~w on ~w (size = ~w)~n".intern(), 0); return true; } // gg_echo:broadcast_mesg/3 init() } // gg_echo:broadcast_mesg/3 final class gg_echo_get_broadcasted_data_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: get_broadcasted_data(user(_G407, _G408), _G402) case 0: m.try_me_else (6); m.allocate (2); //m.success = m.get_struct (user__2,1); m.uni_x_varia (10); /* Host */ m.uni_x_varia (11); /* Name */ m.get_y_value (0,2); /* Attributes */ m.cut_level (1); m.end_head (); break; case 1: // goal: queue_empty(_G407, _G408) m.put_x_value (10,1); /* 'Host' */ m.put_x_value (11,2); /* 'Name' */ m.call (dlplib.queue_empty_2); /*6*/ break; case 2: // goal: ! m.cut_body (1); break; case 3: // goal: default_server_reply(_G402) m.put_y_value (0,1); /* 'Attributes' */ m.call (4) /*2*/; /* default_server_reply_1 */ break; case 4: // goal: true m.deallocate (); m.exec (dlplib.true_0); break; case 5: m.end_rule (); break; // head: get_broadcasted_data(user(_G3749, _G3750), _G3744) case 6: m.trust_or_fail (); m.allocate (5); //m.success = m.get_struct (user__2,1); m.uni_y_value (4); /* Host */ m.uni_y_value (3); /* Name */ m.get_y_value (2,2); /* Attributes */ m.end_head (); break; case 7: // goal: get_queue(_G3749, _G3750, _G3757) m.put_y_value (4,1); /* 'Host' */ m.put_y_value (3,2); /* 'Name' */ m.put_y_value (0,3); /* 'Message' */ m.call (dlplib.get_queue_3); /*6*/ break; case 8: // goal: queue_length(_G3749, _G3750, _G3764) m.put_y_value (4,1); /* 'Host' */ m.put_y_value (3,2); /* 'Name' */ m.put_y_value (1,3); /* 'Length' */ m.call (dlplib.queue_length_3); /*6*/ break; case 9: // goal: _G3744=[_G3764, _G3757] m.put_list (10); m.set_y_value (0); /* 'Message' */ m.set_nil (); m.put_y_value (2,1); /* 'Attributes' */ m.put_list (2); m.set_y_value (1); /* 'Length' */ m.set_x_value (10); /* 'Xtmp' */ m.call (dlplib.op_eq_2); /*6*/ break; case 10: // goal: true m.deallocate (); m.exec (dlplib.true_0); break; case 11: m.end_rule (); break; } // switch return m.success; } // gg_echo:get_broadcasted_data/2 exec() // gg_echo:get_broadcasted_data/2 decls. public SymbolDescriptor user__2; public SymbolDescriptor op__dot__2; public SymbolDescriptor sl_sr__0; // end of gg_echo:get_broadcasted_data/2 decls. public boolean init (DLP m) { user__2 = m.define_symbol ("user".intern(), 2); op__dot__2 = m.define_symbol (".".intern(), 2); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_echo:get_broadcasted_data/2 init() } // gg_echo:get_broadcasted_data/2 final class gg_echo_default_server_reply_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: default_server_reply(_G401) case 0: m.allocate (4); //m.success = m.get_y_value (1,1); /* Attributes */ m.end_head (); break; case 1: // goal: get_field(ball, position, _G411) m.put_atom (ball__0,1); m.put_atom (position__0,2); m.put_y_value (3,3); /* 'Position' */ m.call (dlplib.get_field_3); /*6*/ break; case 2: // goal: _G416=[ball, _G411] m.put_list (10); m.set_y_value (3); /* 'Position' */ m.set_nil (); m.put_y_value (2,1); /* 'Data' */ m.put_list (2); m.set_atom (ball__0); m.set_x_value (10); /* 'Xtmp' */ m.call (dlplib.op_eq_2); /*6*/ break; case 3: // goal: _G428=[tell, ball_position, _G416] m.put_list (11); m.set_y_value (2); /* 'Data' */ m.set_nil (); m.put_list (12); m.set_atom (ball_position__0); m.set_x_value (11); /* 'Xtmp' */ m.put_y_value (0,1); /* 'Message' */ m.put_list (2); m.set_atom (tell__0); m.set_x_value (12); /* 'Xtmp' */ m.call (dlplib.op_eq_2); /*6*/ break; case 4: // goal: sleep(200) m.put_int (200,1); m.call (dlplib.sleep_1); /*6*/ break; case 5: // goal: _G401=[0, _G428] m.put_list (13); m.set_y_value (0); /* 'Message' */ m.set_nil (); m.put_y_value (1,1); /* 'Attributes' */ m.put_list (2); m.set_int (0); m.set_x_value (13); /* 'Xtmp' */ m.deallocate (); m.exec (dlplib.op_eq_2); break; case 6: m.end_rule (); break; } // switch return m.success; } // gg_echo:default_server_reply/1 exec() // gg_echo:default_server_reply/1 decls. public SymbolDescriptor ball__0; public SymbolDescriptor position__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor sl_sr__0; public SymbolDescriptor tell__0; public SymbolDescriptor ball_position__0; // end of gg_echo:default_server_reply/1 decls. public boolean init (DLP m) { ball__0 = m.define_symbol ("ball".intern(), 0); position__0 = m.define_symbol ("position".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); sl_sr__0 = m.define_symbol ("[]".intern(), 0); tell__0 = m.define_symbol ("tell".intern(), 0); ball_position__0 = m.define_symbol ("ball_position".intern(), 0); return true; } // gg_echo:default_server_reply/1 init() } // gg_echo:default_server_reply/1 class gg_echo extends Code { public static ObjectDescriptor object; public static MethodDescriptor broadcast_3; public static MethodDescriptor broadcast_loop_3; public static MethodDescriptor broadcast_mesg_3; public static MethodDescriptor get_broadcasted_data_2; public static MethodDescriptor default_server_reply_1; public boolean init (DLP m) { object = m.define_object ("gg_echo".intern(), 0, 5, 0); broadcast_3 = m.define_method (object, 0, "broadcast".intern(), 3); broadcast_loop_3 = m.define_method (object, 1, "broadcast_loop".intern(), 3); broadcast_mesg_3 = m.define_method (object, 2, "broadcast_mesg".intern(), 3); get_broadcasted_data_2 = m.define_method (object, 3, "get_broadcasted_data".intern(), 2); default_server_reply_1 = m.define_method (object, 4, "default_server_reply".intern(), 1); return true; } // gg_echo init() } // class gg_echo // end of unit gg_echo code. // begin of unit gg_client code. final class gg_client_gg_client_loop_3 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: gg_client_loop(_G401, _G402, _G403) case 0: m.try_me_else (11); m.allocate (4); //m.success = m.get_x_varia (11,1); /* ClientHost */ m.get_y_value (2,2); /* ServerHost */ m.get_y_value (3,3); /* ServerPort */ m.end_head (); break; case 1: // goal: assign_nlv_term(this, nreg, 2, _G401) m.put_this (1); m.put_nreg (2); m.put_int (2,3); m.put_x_value (11,4); /* 'ClientHost' */ m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 2: // goal: assign_nlv_term(this, nreg, 1, _G402) m.put_this (1); m.put_nreg (2); m.put_int (1,3); m.put_y_value (2,4); /* 'ServerHost' */ m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 3: // goal: assign_nlv_term(this, nreg, 0, _G403) m.put_this (1); m.put_nreg (2); m.put_int (0,3); m.put_y_value (3,4); /* 'ServerPort' */ m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 4: // goal: tcp_client(_G402, _G403, 10, _G432, _G433) m.put_y_value (2,1); /* 'ServerHost' */ m.put_y_value (3,2); /* 'ServerPort' */ m.put_int (10,3); m.put_y_value (1,4); /* 'StreamIn' */ m.put_y_value (0,5); /* 'StreamOut' */ m.call (dlplib.tcp_client_5); /*6*/ break; case 5: // goal: format('~w : connection accepted from ~w~n', [this, _G402]) m.put_list (12); m.set_y_value (2); /* 'ServerHost' */ m.set_nil (); m.put_atom (data__17__0,1); m.put_list (2); m.set_this (); m.set_x_value (12); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 6: // goal: format('~w : ~q client running~n', [this, client_host]) m.put_list (13); m.set_z_value (2); /* client_host */ m.set_nil (); m.put_atom (data__18__0,1); m.put_list (2); m.set_this (); m.set_x_value (13); /* 'Xtmp' */ m.call (dlplib.format_2); /*6*/ break; case 7: // goal: client_loop(_G432, _G433) m.put_y_value (1,1); /* 'StreamIn' */ m.put_y_value (0,2); /* 'StreamOut' */ m.call (1) /*2*/; /* client_loop_2 */ break; case 8: // goal: tcp_close(_G432) m.put_y_value (1,1); /* 'StreamIn' */ m.call (dlplib.tcp_close_1); /*6*/ break; case 9: // goal: tcp_close(_G433) m.put_y_value (0,1); /* 'StreamOut' */ m.deallocate (); m.exec (dlplib.tcp_close_1); break; case 10: m.end_rule (); break; // head: gg_client_loop(_G7019, _G7020, _G7021) case 11: m.trust_or_fail (); //m.success = m.get_v_varia (1); /* Unknown */ m.get_v_varia (2); /* Unknown */ m.get_v_varia (3); /* Unknown */ m.end_head (); break; case 12: // goal: format('~w : exit (2)~n', [this]) m.put_atom (data__19__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 13: m.end_rule (); break; } // switch return m.success; } // gg_client:gg_client_loop/3 exec() // gg_client:gg_client_loop/3 decls. public SymbolDescriptor data__17__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__18__0; public SymbolDescriptor data__19__0; // end of gg_client:gg_client_loop/3 decls. public boolean init (DLP m) { data__17__0 = m.define_symbol ("~w : connection accepted from ~w~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__18__0 = m.define_symbol ("~w : ~q client running~n".intern(), 0); data__19__0 = m.define_symbol ("~w : exit (2)~n".intern(), 0); return true; } // gg_client:gg_client_loop/3 init() } // gg_client:gg_client_loop/3 final class gg_client_client_loop_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: client_loop(_G401, _G402) case 0: m.allocate (5); //m.success = m.get_y_value (2,1); /* StreamIn */ m.get_y_value (4,2); /* StreamOut */ m.cut_level (0); m.end_head (); break; case 1: // goal: client_request(_G410) m.put_y_value (3,1); /* 'ServerInput' */ m.call (2) /*2*/; /* client_request_1 */ break; case 2: // goal: tcp_put_term(_G402, _G410) m.put_y_value (4,1); /* 'StreamOut' */ m.put_y_value (3,2); /* 'ServerInput' */ m.call (dlplib.tcp_put_term_2); /*6*/ break; case 3: // goal: tcp_get_term(_G401, _G422) m.put_y_value (2,1); /* 'StreamIn' */ m.put_y_value (1,2); /* 'ServerReply' */ m.call (dlplib.tcp_get_term_2); /*6*/ break; case 4: // goal: server_reply(_G422) m.put_y_value (1,1); /* 'ServerReply' */ m.call (3) /*2*/; /* server_reply_1 */ break; case 5: // goal: client_exit(_G422) m.put_y_value (1,1); /* 'ServerReply' */ m.call (4) /*2*/; /* client_exit_1 */ break; case 6: // goal: ! m.cut_tail (0); m.deallocate (); break; case 7: m.end_rule (); break; } // switch return m.success; } // gg_client:client_loop/2 exec() // gg_client:client_loop/2 decls. // end of gg_client:client_loop/2 decls. public boolean init (DLP m) { return true; } // gg_client:client_loop/2 init() } // gg_client:client_loop/2 final class gg_client_client_request_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: client_request(_G401) case 0: //m.success = m.get_v_varia (1); /* Unknown */ m.end_head (); break; case 1: // goal: format('~n~w : client_request/1 not implemented~n', [this]) m.put_atom (data__20__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_client:client_request/1 exec() // gg_client:client_request/1 decls. public SymbolDescriptor data__20__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_client:client_request/1 decls. public boolean init (DLP m) { data__20__0 = m.define_symbol ("~n~w : client_request/1 not implemented~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_client:client_request/1 init() } // gg_client:client_request/1 final class gg_client_server_reply_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: server_reply(_G401) case 0: //m.success = m.get_v_varia (1); /* Unknown */ m.end_head (); break; case 1: // goal: format('~n~w : server_reply/1 not implemented~n', [this]) m.put_atom (data__21__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_client:server_reply/1 exec() // gg_client:server_reply/1 decls. public SymbolDescriptor data__21__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_client:server_reply/1 decls. public boolean init (DLP m) { data__21__0 = m.define_symbol ("~n~w : server_reply/1 not implemented~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_client:server_reply/1 init() } // gg_client:server_reply/1 final class gg_client_client_exit_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: client_exit(_G401) case 0: //m.success = m.get_v_varia (1); /* Unknown */ m.end_head (); break; case 1: // goal: format('~n~w : client_exit/1 not implemented~n', [this]) m.put_atom (data__22__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.exec (dlplib.format_2); break; case 2: m.end_rule (); break; } // switch return m.success; } // gg_client:client_exit/1 exec() // gg_client:client_exit/1 decls. public SymbolDescriptor data__22__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_client:client_exit/1 decls. public boolean init (DLP m) { data__22__0 = m.define_symbol ("~n~w : client_exit/1 not implemented~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_client:client_exit/1 init() } // gg_client:client_exit/1 final class gg_client_main_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: main case 0: m.allocate (3); //m.success = m.end_head (); break; case 1: // goal: text_area(_G407) m.put_y_value (2,1); /* 'TextArea' */ m.call (dlplib.text_area_1); /*6*/ break; case 2: // goal: set_output(_G407) m.put_y_value (2,1); /* 'TextArea' */ m.call (dlplib.set_output_1); /*6*/ break; case 3: // goal: code_base_host(_G417) m.put_y_value (0,1); /* 'ServerHost' */ m.call (dlplib.code_base_host_1); /*6*/ break; case 4: // goal: _G422='a computer' m.put_y_value (1,1); /* 'ClientHost' */ m.put_atom (data__23__0,2); m.call (dlplib.op_eq_2); /*6*/ break; case 5: // goal: gg_client_loop(_G422, _G417, server_port) m.put_y_value (1,1); /* 'ClientHost' */ m.put_y_value (0,2); /* 'ServerHost' */ m.put_z_value (0,3); /* server_port */ m.call (0) /*2*/; /* gg_client_loop_3 */ break; case 6: // goal: format('end of ~w main~n', [this]) m.put_atom (data__24__0,1); m.put_list (2); m.set_this (); m.set_nil (); m.deallocate (); m.exec (dlplib.format_2); break; case 7: m.end_rule (); break; } // switch return m.success; } // gg_client:main/0 exec() // gg_client:main/0 decls. public SymbolDescriptor data__23__0; public SymbolDescriptor data__24__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor this__0; public SymbolDescriptor sl_sr__0; // end of gg_client:main/0 decls. public boolean init (DLP m) { data__23__0 = m.define_symbol ("a computer".intern(), 0); data__24__0 = m.define_symbol ("end of ~w main~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); this__0 = m.define_symbol ("this".intern(), 0); sl_sr__0 = m.define_symbol ("[]".intern(), 0); return true; } // gg_client:main/0 init() } // gg_client:main/0 final class gg_client_init_vars_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: init_vars case 0: m.allocate (0); //m.success = m.end_head (); break; case 1: // goal: assign_nlv_term(this, nreg, 0, 4321) m.put_this (1); m.put_nreg (2); m.put_int (0,3); m.put_int (4321,4); m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 2: // goal: assign_nlv_term(this, nreg, 1, unknown) m.put_this (1); m.put_nreg (2); m.put_int (1,3); m.put_atom (unknown__0,4); m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 3: // goal: assign_nlv_term(this, nreg, 2, unknown) m.put_this (1); m.put_nreg (2); m.put_int (2,3); m.put_atom (unknown__0,4); m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 4: // goal: assign_nlv_term(this, nreg, 3, unknown) m.put_this (1); m.put_nreg (2); m.put_int (3,3); m.put_atom (unknown__0,4); m.deallocate (); m.exec (dlplib.assign_nlv_term_4); break; case 5: m.end_rule (); break; } // switch return m.success; } // gg_client:init_vars/0 exec() // gg_client:init_vars/0 decls. public SymbolDescriptor unknown__0; // end of gg_client:init_vars/0 decls. public boolean init (DLP m) { unknown__0 = m.define_symbol ("unknown".intern(), 0); return true; } // gg_client:init_vars/0 init() } // gg_client:init_vars/0 class gg_client extends Code { public static ObjectDescriptor object; public static MethodDescriptor gg_client_loop_3; public static MethodDescriptor client_loop_2; public static MethodDescriptor client_request_1; public static MethodDescriptor server_reply_1; public static MethodDescriptor client_exit_1; public static MethodDescriptor main_0; public boolean init (DLP m) { object = m.define_object ("gg_client".intern(), 0, 6, 4); gg_client_loop_3 = m.define_method (object, 0, "gg_client_loop".intern(), 3); client_loop_2 = m.define_method (object, 1, "client_loop".intern(), 2); client_request_1 = m.define_method (object, 2, "client_request".intern(), 1); server_reply_1 = m.define_method (object, 3, "server_reply".intern(), 1); client_exit_1 = m.define_method (object, 4, "client_exit".intern(), 1); main_0 = m.define_method (object, 5, "main".intern(), 0); m.define_nonlog (object, "server_port".intern(), 0); m.define_nonlog (object, "server_host".intern(), 1); m.define_nonlog (object, "client_host".intern(), 2); m.define_nonlog (object, "client_name".intern(), 3); return true; } // gg_client init() } // class gg_client // end of unit gg_client code. // end of gg_cast.pl code file.