I’ve just released a new binary distribution of LKB-FOS (see the LkbFos wiki page for the download link). Source code is in the repository.
This new version contains all the improvements I’ve made since July, so please now delete any temporary fixes you might have in patches.lsp or .lkbrc files. Below is a summary of the changes, copied from the README.
John
- Implemented post-generation chart mapping (post-generation rules should be read in with
read-post-generation-mapping-file-aux
). - Fixed a bug that prevented chart mapping rules from capturing the empty string.
- Morphological generation is now smarter about the choice of upper-/lowercase in the output.
- Moved application of chart-dependencies from before lexical parsing to after (in line with other DELPH-IN processors). To avoid confusion, edges that do not survive chart-dependency processing are now completely removed from the chart - previously they were merely disabled, or ‘frozen’. Added variable
*cd-debug*
to help debug chart dependencies. - Fixed bit rot to get the SPPP input format working again (this format was used for the initial version of the Spanish Resource Grammar).
- Added two new Lisp functions to help diagnose inefficiencies in grammars:
print-chart-counts
outputs the number of parser edges in each chart cell (excluding packed edges); andcheck-subsume-edges
prints paths/types causing subsumption failure between a pair of parser edges. Examples of calling these functions:(print-chart-counts)
(check-subsume-edges 107 108)
- During grammar loading, warnings are now issued for Common Lisp code loaded from lkb/user-fns.lsp etc that is faulty.
- The parameter
*non-empty-list-type*
is no longer used; instead the type is inferred via the list head and tail features. (This parameter is not documented in the LKB User Manual, and many DELPH-IN grammars fail to reset the parameter when they use a different name for this type than the default.) - Several internal improvements in the areas of chart mapping rule management, parsing vpm files, and quickcheck path collection.