X-Git-Url: https://ruin.nu/git/?p=popboot.git;a=blobdiff_plain;f=parser.y;h=1fec19db31f6f6704f3f1564e185c34ae6679542;hp=c3192e33861130542aa2b74065d1e9c0f9506fcf;hb=fdcf46671ca1dab0dadb490bb4375dc3dd2fc9a4;hpb=41efed0d6ee664fb79ea21a0e7239edcf51926d8 diff --git a/parser.y b/parser.y index c3192e3..1fec19d 100644 --- a/parser.y +++ b/parser.y @@ -64,23 +64,23 @@ action : id preconds '\n' exec effects '\n' { //--------------------------------------------- // Debug test print : - cout << "id: " << *$1 << endl; + cerr << "id: " << *$1 << endl; // Precondition flags: - cout << "a: " << (*$2)["a"] << endl; - cout << "b: " << (*$2)["b"] << endl; - cout << "c: " << (*$2)["c"] << endl; - cout << "d: " << (*$2)["d"] << endl; - cout << "e: " << (*$2)["e"] << endl; + cerr << "a: " << (*$2)["a"] << endl; + cerr << "b: " << (*$2)["b"] << endl; + cerr << "c: " << (*$2)["c"] << endl; + cerr << "d: " << (*$2)["d"] << endl; + cerr << "e: " << (*$2)["e"] << endl; - cout << "exe: " << *$4 << endl; + cerr << "exe: " << *$4 << endl; // Print number of effects - cout << "1: " << (*$5)[1].size() << endl; - cout << "99: " << (*$5)[99].size() << endl; - cout << "88: " << (*$5)[88].size() << endl; + cerr << "0: " << (*$5)[0].size() << endl; + cerr << "99: " << (*$5)[99].size() << endl; + cerr << "88: " << (*$5)[88].size() << endl; - cout << endl; + cerr << endl; //---------------------------------------------- } ; @@ -226,13 +226,14 @@ int main (int argc, char** argv) { - if (argc!=4) + if (argc < 3) { - cout << "Syntax: " << argv[0] << + cerr << "Syntax: " << argv[0] << " \"init state\"" << endl; return 1; } + Literals init = argc >= 4 ? stringToVector(argv[3]) : Literals(); ifstream file(argv[1]); if (!file) { @@ -247,11 +248,11 @@ main (int argc, char** argv) yyparse(); - cout << (*runlevels)[2].size() << endl; - cout << (*runlevels)[3].size() << endl; - cout << (*runlevels)[4].size() << endl; - cout << (*runlevels)[5].size() << endl; + cerr << (*runlevels)[2].size() << endl; + cerr << (*runlevels)[3].size() << endl; + cerr << (*runlevels)[4].size() << endl; + cerr << (*runlevels)[5].size() << endl; - Planner p(*actions, stringToVector(argv[3]), (*runlevels)[atoi(argv[2])]); + Planner p(*actions, init, (*runlevels)[atoi(argv[2])]); p.execute(); }