47 #include "EST_SCFG_Chart.h"
52 static int scfg_parse_main(
int argc,
char **argv);
55 int main(
int argc,
char **argv)
58 scfg_parse_main(argc,argv);
64 static int scfg_parse_main(
int argc,
char **argv)
77 "Summary: Parse a corpus with a stochastic context free grammar\n"+
78 "-grammar <ifile> Grammar file, one rule per line.\n"+
79 "-corpus <ifile> Corpus file, one bracketed sentence per line.\n"+
80 "-brackets Output bracketing only.\n"+
81 "-o <ofile> Output file for parsed sentences.\n",
85 outfile = al.
val(
"-o");
93 rules = vload(al.
val(
"-grammar"),1);
98 cerr <<
"scfg_parse: no grammar specified" << endl;
104 if ((corpus = fopen(al.
val(
"-corpus"),
"r")) == NULL)
106 cerr <<
"scfg_parse: can't open corpus file \"" <<
107 al.
val(
"-corpus") <<
"\" for reading " << endl;
113 cerr <<
"scfg_parse: no corpus specified" << endl;
119 if ((output=fopen(al.
val(
"-o"),
"w")) == NULL)
121 cerr <<
"scfg_parse: can't open output file \"" <<
122 al.
val(
"-o") <<
"\" for writing " << endl;
131 for (i=0; ((s=lreadf(corpus)) != get_eof_val()); i++)
133 parse = scfg_parse(s,rules);
136 LISP bparse = scfg_bracketing_only(parse);
139 pprint_to_fd(output,bparse);
142 pprint_to_fd(output,parse);
147 if (output != stdout)
150 gc_unprotect(&parse);
151 gc_unprotect(&rules);
const int present(const K &rkey) const
Returns true if key is present.
const V & val(const K &rkey, bool m=0) const
return value according to key (const)
A class for parsing with a probabilistic grammars.