1:- ensure_loaded('util'). 2:- consult('/home/andrewdo/lib/swipl/pack/wam_common_lisp/prolog/wam_cl/printers'). 3 4prolog_to_verb(Prolog,Verb) :- 5 convert_prolog_to_f_print_input(Prolog,FPrintInput), 6 view([fPrintInput,FPrintInput]), 7 with_output_to(atom(TmpVerb),f_print(FPrintInput,_)), 8 downcase_atom(TmpVerb,Verb). 9 10convert_prolog_to_f_print_input(Prolog,FPrintInput) :- 11 ( is_list(Prolog) -> 12 ( Prolog = [P|R], 13 findall(O,(member(I,R),convert_prolog_to_f_print_input(I,O)),Os), 14 FPrintInput = [P|Os]) ; 15 ( atomic(Prolog) -> 16 FPrintInput = Prolog ; 17 ( var(Prolog) -> 18 FPrintInput = Prolog ; 19 ( compound_name_arguments(Prolog,P,R), 20 findall(O,(member(I,R),convert_prolog_to_f_print_input(I,O)),Os), 21 FPrintInput = [P|Os])))). 22 23 24 25test_prolog_to_verb :- 26 prolog_to_verb(define(problem(flp1),':domain'(flp),[':objects',driving,walking,-,modeOfTransportation,bluetoothKeyboard,tissues,-,object,andrewDougherty,meredithMcGhan,-,person,auroraIllinois,flintMichigan,-,physicalLocation,townhomeOfEleanorAndAndrewAndMeredith,-,residence,bluetoothKeyboard,-,tool,andrewDoughertysHypotheticalCar,meredithMcGhansCar,-,vehicle],[':init',autonomous(andrewDougherty),autonomous(meredithMcGhan),location(andrewDougherty,townhomeOfEleanorAndAndrewAndMeredith),location(andrewDoughertysHypotheticalCar,auroraIllinois),location(bluetoothKeyboard,townhomeOfEleanorAndAndrewAndMeredith),location(meredithMcGhan,flintMichigan),location(meredithMcGhansCar,flintMichigan),mobile(andrewDoughertysHypotheticalCar),mobile(bluetoothKeyboard),mobile(meredithMcGhansCar),'travel-path'(driving,auroraIllinois,townhomeOfEleanorAndAndrewAndMeredith),'travel-path'(driving,flintMichigan,auroraIllinois),'travel-distance'(driving,auroraIllinois,townhomeOfEleanorAndAndrewAndMeredith)='5','travel-distance'(driving,flintMichigan,auroraIllinois)='500','travel-duration'(driving,auroraIllinois,townhomeOfEleanorAndAndrewAndMeredith)='0.15','travel-duration'(driving,flintMichigan,auroraIllinois)='7'],[':goal',[and,'directly-holding'(andrewDougherty,bluetoothKeyboard)]],':metric'(minimize,'total-time'())),Verb), 27 view([output,Verb])