24 template <
class Agent>
inline void
31 fprintf (stderr,
"Failed to create Agent\n");
47 const char* fname = 0;
53 if ((argv[argp][0] ==
'-')
54 && (argv[argp][1] ==
'l')
55 && (argp + 1 < argc)) {
58 }
else if ((argv[argp][0] ==
'-')
59 && (argv[argp][1] ==
'c')
60 && (argp + 1 < argc)) {
63 }
else if (fname == 0) {
66 fprintf (stderr,
"Bad argument '%s'\nUsage: %s [name.ycp]\n",
90 fprintf (stderr,
"Failed to create Parser\n");
98 fprintf (stderr,
"Failed to create Y2StdioComponent\n");
103 if (fname && load_scr)
105 int len = strlen (fname);
107 && strcmp (&fname[len-4],
".ycp") == 0)
109 char* cname = strdup (fname);
110 strcpy (&cname[len-4],
".scr");
111 if (access (cname, R_OK) == 0)
115 || !confval->isTerm ())
117 fprintf (stderr,
"Failed to read '%s'\n", cname);
118 fprintf (stderr,
"Read result: %s\n", confval->toString().c_str());
121 YCPTerm term = confval->asTerm();
122 for (
int i = 0; i < term->
size (); i++)
131 FILE* infile = stdin;
134 infile = fopen (fname,
"r");
137 fprintf (stderr,
"Failed to open '%s'\n", fname);
152 value = parser->
parse ();
157 YCPValue result = value->evaluate ();
158 printf (
"(%s)\n", result->toString ().c_str ());
166 delete user_interface;