// begin of wasp2.pl code file. // begin of unit wasp2 code. final class wasp2_main_0 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: main case 0: m.allocate (1); //m.success = m.end_head (); break; case 1: // goal: text_area(_G419) m.put_y_value (0,1); /* 'Browser' */ m.call (dlplib.text_area_1); /*6*/ break; case 2: // goal: set_output(_G419) m.put_y_value (0,1); /* 'Browser' */ m.call (dlplib.set_output_1); /*6*/ break; case 3: // goal: format('Loading street1 from ~w~n', [url]) m.put_atom (data__1__0,1); m.put_list (2); m.set_z_value (0); /* url */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 4: // goal: loadURL(url) m.put_z_value (0,1); /* url */ m.call (3) /*2*/; /* loadURL_1 */ break; case 5: // goal: format('The bus1 is going to jump in front of you in 5 seconds,~n') m.put_atom (data__2__0,1); m.call (dlplib.format_1); /*6*/ break; case 6: // goal: format('then you can drive the bus for ~w seconds~n', [timelimit]) m.put_atom (data__3__0,1); m.put_list (2); m.set_z_value (1); /* timelimit */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 7: // goal: delay(5000) m.put_int (5000,1); m.call (dlplib.delay_1); /*6*/ break; case 8: // goal: jump_to(bus1) m.put_atom (bus1__0,1); m.call (1) /*2*/; /* jump_to_1 */ break; case 9: // goal: drive(bus1, timelimit) m.put_atom (bus1__0,1); m.put_z_value (1,2); /* timelimit */ m.deallocate (); m.exec (2); /* drive_2 */ break; case 10: m.end_rule (); break; } // switch return m.success; } // wasp2:main/0 exec() // wasp2:main/0 decls. public SymbolDescriptor data__1__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor sl_sr__0; public SymbolDescriptor data__2__0; public SymbolDescriptor data__3__0; public SymbolDescriptor bus1__0; // end of wasp2:main/0 decls. public boolean init (DLP m) { data__1__0 = m.define_symbol ("Loading street1 from ~w~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); sl_sr__0 = m.define_symbol ("[]".intern(), 0); data__2__0 = m.define_symbol ("The bus1 is going to jump in front of you in 5 seconds,~n".intern(), 0); data__3__0 = m.define_symbol ("then you can drive the bus for ~w seconds~n".intern(), 0); bus1__0 = m.define_symbol ("bus1".intern(), 0); return true; } // wasp2:main/0 init() } // wasp2:main/0 final class wasp2_jump_to_1 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: jump_to(_G413) case 0: m.allocate (4); //m.success = m.get_y_value (2,1); /* Object */ m.end_head (); break; case 1: // goal: getSFVec3f(proxSensor, position, _G423, _G424, _G425) m.put_atom (proxSensor__0,1); m.put_atom (position__0,2); m.put_y_value (1,3); /* 'X' */ m.put_v_varia (4); /* 'Unknown' */ m.put_y_value (3,5); /* 'Z' */ m.call (4) /*2*/; /* getSFVec3f_5 */ break; case 2: // goal: is_eval(_G425-5, _G430) m.put_struct (op__sub__2,1); m.set_y_value (3); /* 'Z' */ m.set_int (5); m.put_y_value (0,2); /* 'Z1' */ m.call (dlplib.is_eval_2); /*6*/ break; case 3: // goal: setPosition(_G413, _G423, 0, _G430) m.put_y_value (2,1); /* 'Object' */ m.put_y_value (1,2); /* 'X' */ m.put_float (0f,3); m.put_y_value (0,4); /* 'Z1' */ m.deallocate (); m.exec (5); /* setPosition_4 */ break; case 4: m.end_rule (); break; } // switch return m.success; } // wasp2:jump_to/1 exec() // wasp2:jump_to/1 decls. public SymbolDescriptor proxSensor__0; public SymbolDescriptor position__0; public SymbolDescriptor op__sub__2; // end of wasp2:jump_to/1 decls. public boolean init (DLP m) { proxSensor__0 = m.define_symbol ("proxSensor".intern(), 0); position__0 = m.define_symbol ("position".intern(), 0); op__sub__2 = m.define_symbol ("-".intern(), 2); return true; } // wasp2:jump_to/1 init() } // wasp2:jump_to/1 final class wasp2_drive_2 extends Code { public boolean exec (DLP m) { switch (m.PSreg) { // head: drive(_G413, 0) case 0: m.try_me_else (2); //m.success = m.get_v_varia (1); /* Unknown */ m.get_int (0,2); m.cut_neck (); m.end_head (); break; case 1: m.end_fact (); break; // head: drive(_G2198, _G2199) case 2: m.trust_or_fail (); m.allocate (8); //m.success = m.get_y_value (1,1); /* Object */ m.get_y_value (7,2); /* N */ m.end_head (); break; case 3: // goal: _G2199>0 m.put_y_value (7,1); /* 'N' */ m.put_int (0,2); m.call (dlplib.op_cmp_gt_2); /*6*/ break; case 4: // goal: is_eval(_G2199-1, _G2213) m.put_struct (op__sub__2,1); m.set_y_value (7); /* 'N' */ m.set_int (1); m.put_y_value (0,2); /* 'N1' */ m.call (dlplib.is_eval_2); /*6*/ break; case 5: // goal: format('time left: ~w seconds~n', [_G2199]) m.put_atom (data__4__0,1); m.put_list (2); m.set_y_value (7); /* 'N' */ m.set_nil (); m.call (dlplib.format_2); /*6*/ break; case 6: // goal: delay(1000) m.put_int (1000,1); m.call (dlplib.delay_1); /*6*/ break; case 7: // goal: getSFVec3f(proxSensor, position, _G2238, _G2239, _G2240) m.put_atom (proxSensor__0,1); m.put_atom (position__0,2); m.put_y_value (6,3); /* 'X' */ m.put_v_varia (4); /* 'Unknown' */ m.put_y_value (5,5); /* 'Z' */ m.call (4) /*2*/; /* getSFVec3f_5 */ break; case 8: // goal: getSFRotation(proxSensor, orientation, _G2247, _G2248, _G2249, _G2250) m.put_atom (proxSensor__0,1); m.put_atom (orientation__0,2); m.put_v_varia (3); /* 'Unknown' */ m.put_y_value (4,4); /* 'Y2' */ m.put_v_varia (5); /* 'Unknown' */ m.put_y_value (3,6); /* 'R2' */ m.call (6) /*2*/; /* getSFRotation_6 */ break; case 9: // goal: setPosition(_G2198, _G2238, 0, _G2240) m.put_y_value (1,1); /* 'Object' */ m.put_y_value (6,2); /* 'X' */ m.put_float (0f,3); m.put_y_value (5,4); /* 'Z' */ m.call (5) /*2*/; /* setPosition_4 */ break; case 10: // goal: is_eval(sign(_G2248)*_G2250+1.571, _G2267) m.put_struct (sign__1,13); m.set_y_value (4); /* 'Y2' */ m.put_struct (op__mul__2,14); m.set_x_value (13); /* 'Xtmp' */ m.set_y_value (3); /* 'R2' */ m.put_struct (op__add__2,1); m.set_x_value (14); /* 'Xtmp' */ m.set_float (1.571f); m.put_y_value (2,2); /* 'R3' */ m.call (dlplib.is_eval_2); /*6*/ break; case 11: // goal: setRotation(_G2198, 0, 1, 0, _G2267) m.put_y_value (1,1); /* 'Object' */ m.put_float (0f,2); m.put_float (1f,3); m.put_float (0f,4); m.put_y_value (2,5); /* 'R3' */ m.call (7) /*2*/; /* setRotation_5 */ break; case 12: // goal: drive(_G2198, _G2213) m.put_y_value (1,1); /* 'Object' */ m.put_y_value (0,2); /* 'N1' */ m.deallocate (); m.exec (2); /* drive_2 */ break; case 13: m.end_rule (); break; } // switch return m.success; } // wasp2:drive/2 exec() // wasp2:drive/2 decls. public SymbolDescriptor op__sub__2; public SymbolDescriptor data__4__0; public SymbolDescriptor op__dot__2; public SymbolDescriptor sl_sr__0; public SymbolDescriptor proxSensor__0; public SymbolDescriptor position__0; public SymbolDescriptor orientation__0; public SymbolDescriptor op__add__2; public SymbolDescriptor op__mul__2; public SymbolDescriptor sign__1; // end of wasp2:drive/2 decls. public boolean init (DLP m) { op__sub__2 = m.define_symbol ("-".intern(), 2); data__4__0 = m.define_symbol ("time left: ~w seconds~n".intern(), 0); op__dot__2 = m.define_symbol (".".intern(), 2); sl_sr__0 = m.define_symbol ("[]".intern(), 0); proxSensor__0 = m.define_symbol ("proxSensor".intern(), 0); position__0 = m.define_symbol ("position".intern(), 0); orientation__0 = m.define_symbol ("orientation".intern(), 0); op__add__2 = m.define_symbol ("+".intern(), 2); op__mul__2 = m.define_symbol ("*".intern(), 2); sign__1 = m.define_symbol ("sign".intern(), 1); return true; } // wasp2:drive/2 init() } // wasp2:drive/2 final class wasp2_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, './street/street5.wrl') m.put_this (1); m.put_nreg (2); m.put_int (0,3); m.put_atom (data__5__0,4); m.call (dlplib.assign_nlv_term_4); /*6*/ break; case 2: // goal: assign_nlv_term(this, nreg, 1, 300) m.put_this (1); m.put_nreg (2); m.put_int (1,3); m.put_int (300,4); m.deallocate (); m.exec (dlplib.assign_nlv_term_4); break; case 3: m.end_rule (); break; } // switch return m.success; } // wasp2:init_vars/0 exec() // wasp2:init_vars/0 decls. public SymbolDescriptor data__5__0; // end of wasp2:init_vars/0 decls. public boolean init (DLP m) { data__5__0 = m.define_symbol ("./street/street5.wrl".intern(), 0); return true; } // wasp2:init_vars/0 init() } // wasp2:init_vars/0 class wasp2 extends Code { public static ObjectDescriptor object; public static ObjectDescriptor _bcilib; public static MethodDescriptor main_0; public static MethodDescriptor jump_to_1; public static MethodDescriptor drive_2; public static MethodDescriptor loadURL_1; public static MethodDescriptor getSFVec3f_5; public static MethodDescriptor setPosition_4; public static MethodDescriptor getSFRotation_6; public static MethodDescriptor setRotation_5; public boolean init (DLP m) { object = m.define_object ("wasp2".intern(), 1, 8, 2); _bcilib = m.header_object (object, "bcilib".intern(), 0); main_0 = m.define_method (object, 0, "main".intern(), 0); jump_to_1 = m.define_method (object, 1, "jump_to".intern(), 1); drive_2 = m.define_method (object, 2, "drive".intern(), 2); loadURL_1 = m.extern_method (object, 3, "loadURL".intern(), 1); getSFVec3f_5 = m.extern_method (object, 4, "getSFVec3f".intern(), 5); setPosition_4 = m.extern_method (object, 5, "setPosition".intern(), 4); getSFRotation_6 = m.extern_method (object, 6, "getSFRotation".intern(), 6); setRotation_5 = m.extern_method (object, 7, "setRotation".intern(), 5); m.define_nonlog (object, "url".intern(), 0); m.define_nonlog (object, "timelimit".intern(), 1); return true; } // wasp2 init() } // class wasp2 // end of unit wasp2 code. // end of wasp2.pl code file.