|File: [cvs.NetBSD.org] / pkgsrc / textproc / link-grammar / buildlink3.mk (download)
Revision 1.3, Wed Aug 26 12:23:01 2015 UTC (4 years, 10 months ago) by wiz
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, HEAD
Changes since 1.2: +2 -1
Update to 5.2.5:
[ANNOUNCE] Link Grammar version 5.2.0 is now available.
This is a major release of the parser, with many important changes in
it. The internals of the parser have been re-organized, resulting in
a speedup of 2x to 4x for typical English texts. Multiple multi-
threading bugs were fixed, and there is now a simple multi-threading
unit test. A memory leak was fixed, and a memory over-consumption
bug was fixed. These changes were enabled by the final removal of the
"fat link" code from the parser.
Parser internals work continues apace: it is expected that a version
5.3.0 will follow shortly, featuring a completely re-designed tokenizer.
This redesign should enable simpler and better morphology support.
The ChangeLog notes other fixes as well:
Version 5.2.0 (27 December 2014)
* y'all, ain't, gonna, y'gotta: Beverly Hillbillies basilect.
* Permanent removal of the fat-link code.
* Remove deprecated constituent tree code.
* Windows: add terminal screen resizing support.
* Windows: a build fix.
* reign, rule, run, leave, come: can take predicative adjective.
* Rework costs for many verb-derived adjectives.
* Handle (predicative) adjectival modifiers for assorted perfect verbs.
* Fixes for various color names.
* Fixes for various affirmative answers.
* Add 100 missing verbs.
* Add preliminary lxc-docker (docker.io) support.
* Remove MSVC6 support.
* Fix memleak introduced in version 5.1.0
* Speedup of 1.7x to 4x (depending on text) from linkage processing redesign.
* Fix multi-threading safety bug.
* Fix link-and-domain printing alignment (to handle utf8 char widths).
* Windows: fixes for MSVC12 support.
* Fix memory consumption bug (EMPTY_WORD) introduced in version 4.7.10.
* Get rid of xrealloc, which clashes with libbfd symbol xrealloc.
* Add multi-threaded parsing unit test.
Link Grammar version 5.1.2 is now available. Download from:
The most serious fix in this release is a build-break fix for Apple OSX Mavericks.
Other fixes, from the ChangeLog:
* Fix greeting: "How do you do?"
* Fix indirect object in 'what' questions: 'To what do you owe your success?'
* Fix assorted questions with verb "to be".
* Compile fixes for Apple OSX version "Mavericks"
[ANNOUNCE] link-grammar version 5.1.0
This version includes a number of important changes. One of these is
that the connectors can now be given a direction (head and tail
indicators), so that link-grammar dependencies can now be true,
hierarchical dependency arrows. This is of marginal importance for
English, where dependency directions are implicit, but is vital for
free-word-order languages, where bi-directional links are not enough.
Another important change is that costs can now be arbitrary floating
point numbers. This is particularly useful for providing fine-grained
parse ranking. The LG cost system assigns a "cost" to every connector,
and the sum-total of costs for a sentence determines the parse ranking.
Since costs are additive, they behave as entropies (log P -- the
logarithm of a probability: probabilities are multiplicative, logarithms
Under the covers, there's been some major work on the tokenization
(splitting sentences into words) and morphology (splitting words into
morphemes) code. This work is ongoing, and should eventually result in
much better support for non-English languages.
Other notable changes include an updated Russian dictionary, and an
assortment of changes to the English dictionary. An intriguing step
towards phonology: LG can now distinguish between the use of the
determiners "a" and "an" preceding nouns that start with consonants
or vowels. Whether fancier phonology support is possible is a curious
The full changelog is below:
* Updated Russian dictionaries from Sergei Protasov.
* Added morphology-based unknown-word handling for Russian, from Sergei.
* Fix up fat-linkage code, which was recently broken...
* API cleanup: many command-line options never belonged in the API.
* New emoticon support was clobbering certain dictionary words.
* Fix: "Go to spot X", "It happens at time T."
* Add a dozen missing verbs.
* Minor work on greetings.
* Add mechanism for denoting fractional costs in the file-backed dict.
* Fix: broken handling of gerunds (due to bad verb-wall connectors)
* Major redesign of morpheme splitting mechanism (from AmirP)
* Minor extensions to support numeric formulas, e.g. 1 + 1 = 2.
* Remove fat linkage support from the SAT solver.
* Enable build of SAT solver by default.
* Fix multiple bugs with unit stripping.
* Add bounds-checking to the C API.
* Fix the old disjunct-printing implementation.
* Add support for easy-to-use link direction indicator.
* Add random morphology generator tool.
* Partial support for phonetic use of "a" vs. "an" for English.
* Rework how coordination between conjunctions works: "either... or ...", etc.
* Major redesign of tokenization mechanism (from AmirP)
Version 5.0.0 of the Link Grammar Parser is now available.
(Yes, its April 1st. No, this is not a joke. Maybe I'll think of
something snarky next year.)
We are proud to announce a major new release of the Link Grammar Parser!
It contains many important changes and new additions. One of the most
significant changes is that the license has been changed from the BSD
license to the LGPL. This was done to enable considerably more
flexibility in accepting contributions to the project: it seems that
few are particularly interested in contributing to a BSD-licensed project.
This change has enabled folding in some new work:
o Arabic and Persion dictionaries! These were previously maintained
as separate add-ons. Including them as part of the distribution
should make it easier for interested users.
o A new 'bindings' directory, containing code for Java, Python, Common
Lisp, OCaML and AutoIt programming languages. The Python bindings
are an updated version of the older pylinkgrammar-0.2.13 bindings.
A SWIG interface file should make it easy to create other language
bindigns as well.
o Improved morphology support. This will be invisible to most users,
but it lays the groundwork for add Hebrew support to the parser.
o Expanded Lithuanian support. This remains a simplistic prototype, but
it now performs a more sophisticated morphological analysis.
o Experimental Turkish and Hebrew dictionaries.
o A demo of the JSON parser server: it shows how to run the server,
which will accept accept raw sentences on a socket, and returns the
o Some slightly incompatible changes to the API: it was time for some
o Misc minor updates to the English Language dictionaries.
o Preliminary work for SQL-backed dynamic dictionaries. This should
enable certain types of automated language learning.
The full changelog is shown below.
Version 5.0.0 (1 April 2014)
* License upgrade to LGPLv2.1
* Arabic dictionaries, from Jon Dehdari
* Persian dictionaries, from Jon Dehdari
* Support for Hebrew tokenization, from Amir P.
* Fix wild-card matching for user-supplied word lookup.
* Prototype Turkish dictionary from Can Bruce.
* Re-arrange programming language bindings directory.
* Adopt the orphaned/unsupported pylinkgrammar Python bindings.
* Deprecate the obsolete CNode interface.
* Provide low-level perl bindings.
* Adopt the orphaned/unsupported OCaML bindings.
* Support affirmative replies: "Who did it?" "John's evil twin."
* Expanded Lithuanian dictionary.
* Minor disjunct printing fixes.
* Fix: "Mary is too XXX to talk to."
* Prototype Hebrew dictionary from Amir P.
* Change !suffixes flag to !morphology.
* Introduce a bi-directional connector, for free-word-order languages.
* Introduce a symmetric-AND operator, for free-word-order languages.
* Add demo shell script for running the JSON parse server.
* Bugfix: Java server failing when input sentence has commas in it!
* New !test and !debug commands for selective debugging support.
* Print post-processing rejection message, when !bad is enabled.
* Remove some deprecated functions for C API.
* Remove all deprecated functions from Java API.
* Initial support for an SQL-backed dynamic dictionary.
Version 4.8.5 of the Link Grammar Parser is now available.
This is the third release in about a week; each prompted by a
build-break in the previous version. Sorry! There's been assorted
(minor) new work, and this has been enough to cause trouble for
Some notable changes in the last 6 weeks:
* Improved Russian (UTF-8) support for MSWindows users.
* Build files for MSVC12
* Several Java binding fixes
* English dictionary: add a verb-wall connector for present participles.
A full list of changes is given below. If none of these seem to affect
you, there is no particular need to upgrade.
Version 4.8.5 (5 January 2014)
* Update memory usage accounting; fix accounting bugs.
* Fix Java garbage collection bug.
* Fix numerous compiler warnings in the SAT-solver code.
* Fix build-break involving multiple declaration of 'Boolean'.
Version 4.8.4 (30 December 2013)
* Fix build break for Mac OSX.
Version 4.8.3 (30 December 2013)
* Create new msvc12 build files, restore old msvc9 files.
* Revert location of the Windows mbrtowc declaration.
* Add verb-wall connector for present participles.
* Fix build-time include file directory paths.
* Provide the 'any' language to enumerate all possible linkages.
* Fix recognition of U+00A0, c2 a0, NO-BREAK SPACE as whitespace.
* Improve parse-time performance of exceptionally long sentences.
* Fix crash on certain sentences containing equals sign.
Version 4.8.2 (25 November 2013)
* More MSWindows UTF-8/multi-byte fixes (for Russian).
* Add missing JSONUtils file.
Version 4.8.1 (21 November 2013)
* Ongoing work on viterbi.
* Updated MSVC9 project files from Jand Hashemi (Lucky--)
* Fix important bug in Java services: return top parses, not random ones.
* Java: for the link-diagram string, do not limit to 80 char term width.
* Windows: UTF-8 fixes so that Russian works in most MSWindows locales.
Version 4.8.0 of the Link Grammar Parser is now available.
This is the start of a new version series, containing an important
change to the English language dictionary. Three new link types are
introduced WV, CV and IV. These are used to connect the left-wall to
the primary verb of the sentence (WV), to connect the ruling clause
to the primary verb of a dependent clause (CV), and a similar link
for certain infinitive verbs (IV). The goal of these links is to
make it easier to locate verbs, and thus to provide a more direct
mapping from the link-grammar formalism to a dependency parse (as
dependency parses always put the verb at the root of a sentence).
These are not the first links that explicitly indicate root verbs:
several other link types already play this role: The AF, CP, Eq, COq
and B links already play this role. The new WV, CV and IV links
round out this capability and do so in a very general form. See
With this release, we expect that all (non-auxiliary) verbs in a
sentence will be linked either to the wall, or to a controlling parent.
We also expect there to be some additional fixes and tightening-up
to occur in future releases, especially in regards to comparative
This release also includes a variety of fixes to the Java API/server.
In addition, some ancient, deprecated C code was removed.
Version 4.8.0 (24 October 2013)
* Fix "he answered yes"
* Support bulleted, numbered lists.
* New link types from Lian Ruiting, for identifying the head-verb.
* Java: fix bug when totaling WordNet word-sense score.
* Java: add info to README about using the JSON parse server.
* Java: remove many deprecated functions.
* C API: remove some deprecated functions.
* Java: fix silent failure when library is not found.
* Java: Add support for fetching the ASCII-art diagram string.
* Java: Fix insane language selection initialization.
* Fix: "The pig runs SLOWER than the cat."
* Fix: conjoined superlatives: "... the longest and the farthest."
* Fix: "inside" can be used with conjunction: "near or inside..."
* Fix: conjoined question modifiers: "exactly when and precisely where..."
* Fix: issue 59: crash/corruption when dictionary opened twice.
* Fix: assorted exclamations!
Version 4.7.12 of the Link Grammar Parser is now available.
The biggest change in this version is a sharply updated Russian
dictionary, which fixes a large number of bugs generated during
during the initial release. Thanks to Sergey Protasov who did
almost all this work!
The other notable change is that the fat-link code is no longer
build by default. It will be permanently removed in some future
version, "real soon now".
A miscellany of other minor changes are listed below.
The link-grammar homepage:
WHAT IS LINK GRAMMAR?
The Link Grammar Parser is a syntactic parser of English (and other
languages as well), based on link grammar, an original theory of English
syntax. Given a sentence, the system assigns to it a syntactic
structure, which consists of a set of labelled links connecting pairs of
words. The parser also produces a "constituent" (Penn tree-bank style
phrase tree) representation of a sentence (showing noun phrases, verb
phrases, etc.). The RelEx extension provides dependency-parse output.
Version 4.7.12 (25 May 2013)
* Large fixes to the Russian dictionaries.
* Windows: Explicitly fail if cygwin version is too old.
* Tweak the lt dict to work again with the modern parser.
* Make the fat linkages code be compile-time configurable.
* Disable fat linkages by default; mark as deprecated.
* Fix SAT-solver build; recent changes had broken it.
* Export read-dict.h as a public API.
* Ongoing development of the Viterbi prototype.
* Windows: some UTF8/widechar refactoring.
* Java bindings: add method to set the language.
* CMake: add version checking to the CMakefile
* Fix: failed handling of capitalized first word for Russian.
* Fix: stemming failures in many cases (for Russian dictionaries)
* Add flag to suppress stem-suffix printing.
* Windows: Fixes to MSVC6 build files.
* Fix: hash-table bug affecting Russian dictionaries