These are the files used for some of the experiments reported 
in my article in Computational Linguistics,
`Efficient and Robust Parsing with the Head-corner Parser'.

NOTICE: cf. the file README in the Anlt directory, concerning the
Alvey NL Tools, which states:

  These files were supplied by John Carroll, johnca@cogs.susx.ac.uk,
  and are derived from a version of the ALVEY Natural Language Tools. Current
  information about these ALVEY NL Tools is available at
  <http://www.cl.cam.ac.uk/Research/NL/anlt.html>

REQUIREMENTS:

This package requires Hdrug 3.099 / SICStus 3 #3. It's ready to be
plugged in, just change the paths in the scripts sh and shg. Hdrug
is available at http://www.let.rug.nl/~vannoord/Hdrug/. Please contact
me in case of problems: vannoord@let.rug.nl. 

DESCRIPTION:

See the article for details. The directory contains two
different grammars. The English MiMo2 grammar, 
and a version of the Alvey NLT Grammar. These grammars are used to
compare a number of different parsers with respect to practical
efficiency. The test-sets are here too. There's also a tiny grammar in
tree.g which was used to explain parse forests in the article.

Then there is a couple of parsers. 

INSTALL/USAGE:

Make sure you have Hdrug. Edit the scripts sh, shg and shgm. These
scripts take three arguments, resp. the parser, the compiled grammar,
and the suite file, e.g.:

% ./shg lc_mixtus anlt_lc anlt.suite

For fast loading, you should do a `make' in order to construct each
of the .ql files. This takes a while. 

For interactive usage, use the ./sh script. This version saves objects
after each parse which can be inspected with Hdrug's visualisation
tools. The Hdrug X environment is started with the command x.

FILES:

Anlt: directory with the original Alvey files, as I received them from
      John Carroll. Used to do the same experiment as in Carroll's
      ACL 1994 paper, the experiment with 129 sentences, page 290,
      and the experiment with 100 sentences, few pages later. Note
      that this grammar is slightly different from the grammar that 
      was used in Carrolls ACL paper. Carroll re-did the experiment
      with this newer version, and he reports: 

>I've just run both sets of sentences with this grammar and my 
>bottom-up active chart parser with packing on a Sun 
>UltraSparc 1/140 and get total parse times of
>
>		129 shorter sentences - 14.1 secs
>		100 longer sentences - 225.4 secs
>
>(well these are actually recognition times since I turned off tree
>construction). I don't know how an HP 9000/735 compares, but
>I've found that a 9000/715 is about half the speed of my Ultra

And later we concluded that:

>>update on the machine-story: there are (at least) two models of the
>>HP 715, either with 50Mhz or with 100Mhz. I have a 712 80Mhz.
>>A particular test on the 735 took 52 seconds, on the
>>712/80Mhz took 80 seconds. This makes the 735 1.54 times faster than
>>my 712. This 712 should be somewhere between the two models of the
>>715 (as the Mhz suggests).

>The 715 I was comparing to my Ultra is a 100Mhz machine, so if
>
>		Ultra = 2 * 715@100Mhz
>		735 = 1.54 * 712@80Mhz
>
>where * = times faster, then assuming the 712 and 715 scale up as one
>would expect,
>
>	Ultra = 1.62 * 735

Which would seem to indicate that my left-corner parser is more than
two times faster for the more difficult set, and about as fast for
the easy set. 

FILES:

Anlt: original Anlt grammar as I got it from John Carroll

Bak:  misc. stuff I don't use anymore.

Makefile: used to construct compiled grammar, ql files, etc.

MiMo2: directory with the MiMo2 dumped grammar.

README: you're reading it

act2.pl: active chart parser, based on algorithm by Mark-Jan
Nederhof. No packing.

anlt.conv: interface to construct anlt.g from stuff in Anlt/*

anlt.g: Alvey grammar in DCG format, compatible with MJ Nederhof's
parser generators.

anlt.pl: Output of MJ Nederhof's parser generator for anlt.g

anlt.suite: The 129 test sentences as selected by John Carroll (used
in his ACL 94 paper).

anlt.suite.full: 175 sentences. The full set from which John Carroll
selected the 129 test sentences.

anlt.long.suite: 100 difficult and very ambiguous test sentences, as
used in Carroll's second experiment.

anlt_bu.pl: compiled Alvey grammar for _bu_ parser.

anlt_hc.pl: compiled Alvey grammar for _hc_ parser.

anlt_hc_lc.pl: compiled Alvey grammar for _hc_ parser in left-corner mode.

anlt_inact_p.pl: compiled Alvey grammar for _inact_p parser.

anlt_lc.pl: compiled Alvey grammar for _lc_ parser.

bu.pl: bottom up active and inactive chart parser, with packing.

decl.pl: declarations for Hdrug.

hc.pl: head-corner parser

hc_compile.pl: head-corner grammar compiler

hc_head: used for Mixtus partial evaluation of hc.pl -> hc_mixtus.pl

hc_mixtus.pl: partially evaluated version of hc.pl

hc_out: used for Mixtus partial evaluation of hc.pl -> hc_mixtus.pl

hcw.pl: version of head-corner parser with explicit goal-weakening

inact_p.pl: inactive chart parser with packing.

lc.pl: left-corner parser

lc_compile.pl: grammar compiler for left-corner parser.

lc_head: used for Mixtus partial evaluation of lc.pl -> lc_mixtus.pl

lc_mixtus.pl: Mixtus partially evaluated version of lc.pl

lc_out: used for Mixtus partial evaluation of lc.pl -> lc_mixtus.pl

mimo.conv: interface between MiMo grammar in MiMo2 and Hdrug.

mimo.conv.lc: version of mimo grammar to construct left-corner parser
without gaps.

mimo.g: MiMo2 grammar in DCG format, compatible with MJ Nederhof's
parser generators.

mimo.pl: Output of MJ Nederhof's parser generator for mimo.g

mimo.suite: 25 test sentences for MiMo grammar.

mimo.suite.l: 9 most difficult sentences from mimo.suite

mimo.suite.s: 16 easiest sentences from mimo.suite

mimo_bu.pl: compiled MiMo2 grammar for _bu_ parser

mimo_hc.pl: compiled MiMo2 grammar for _hc_ parser

mimo_hc_lc.pl: compiled MiMo2 grammar for _hc_ parser (left-corner mode)

mimo_inact_p.pl: compiled MiMo2 grmmaar for _inact_p parser

mimo_lc.pl: compiled MiMo2 grammar for _lc_ parser

mj_compile.pl: compiler for bu and act2 and inact_p parsers. Interface
to MJ Nederhof's parsergenerator.

sh: script to start Hdrug with one of the grammars, parsers and suites
from this directory. Usage: ./sh Parser CompiledGrammar TestSuite

shg: as sh, but runs all test-sentences in batch mode.

shgm: as shg, but uses a time-out of 60 seconds. 
