Lingua::LinkParser 1.16
Copyright 2000-2011 by Danny Brian

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


LINUX USERS:

There is a namespace compatability conflict documented at:

http://rt.cpan.org/NoAuth/Bug.html?id=4428

If you get segfaults or "dictionary creation" errors, follow the advice of Alan Buckeridge:

     There's a routine called 'advance' in the file 'read-dict.c' in the
     parser's source directory.  By replacing each occurrence of "advance"
     with something else (I used "ad_vance") and recompiling the parser, I
     was able to 'make' and 'make test' for Lingua::LinkParser.

This has fixed the problem in all cases, as far as I'm aware. Thanks Alan.

DESCRIPTION

To quote the Link Grammar documentation, "the Link Grammar Parser is a syntactic parser of English, based on link grammar, an original theory of English syntax. Given a sentence, the system assigns to it a syntactic structure, which consists of set of labeled links connecting pairs of words." Version 1.10 of this module implements the 4.x parser API currently maintained by AbiSource and available from http://www.abisource.com/projects/link-grammar/ .

REQUIREMENTS

To install Lingua::LinkParser you must have already downloaded, compiled and installed the Link Parser package. This package is tested compatible with at least link-grammar 4.7.4.

This module has been compiled and tested with Perl 5.6 and 5.8 on Linux 2.2.13 & 2.2.14, and Perl 5.6 and 5.8 on OS X. Any incompatibilities should be the result of lib issues within the Link Parser itself, but these seem very stable.

INSTALLATION

Before you build this package, it is highly recommended that you install the link parser package with 'make install', which will put the libs, headers, and dictionary files in standard locations. This build no longer prompts for package directories, so if you want to build with non-standard locations, you'll need to edit Makefile.PL to make that happen. In particular, pay attention to the INCLUDE parameter.

To begin installation type:

perl Makefile.PL

Once the Makefile is written, you can build and test with:

      make
      make test

The test will load the parser dictionary files and parse a sample sentence. If they do not, back up and figure out why before installation. To install:

make install

BUILD PROBLEMS

On Linux, the make displays several warnings about redefined macros - these messages may be ignored.

I have noticed recently that Perls >= 5.8.8 on newer Linux installs do not write the Makefile properly. After perl Makefile.PL, be sure your resulting Makefile has the block:

     # --- MakeMaker const_loadlibs section:
     # Lingua::LinkParser might depend on some other libraries:
     # See ExtUtils::Liblist for details
     #
     EXTRALIBS = -llink-grammar
     LDLOADLIBS = -llink-grammar
     BSLOADLIBS =
     LD_RUN_PATH = /usr/local/lib

Or include the path to your libs. You also need to have the lib path in your /etc/ld.so.conf, and to run ldconfig afterwards. If anybody knows why MakeMaker isn't writing the above for the Makefile, please let me know.

DOCUMENTATION

Full documentation is available in pod format within the .pm file:

perldoc Lingua::LinkParser

The scripts in 'scripts/' demonstrate a general overview of the functionality.

TODO

I need to add quite a few tests. I'd like there to be a large test suite of sentences.

AUTHOR

Danny Brian <danny@brians.org>