The XSaiga package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


This package contains a Haskell implementation of the X-SAIGA project's parser combinators. The combinators enable fully-general attribute grammars to be implemented as executable specifications. Although the parser is top-down, and therefore highly modular, left-recursive productions are allowed and fully-general synthesized and inherited attribute dependencies are also allowed. The parse tree, which is decorated with attribute values, is built as a compact Tomita-style graph. Lazy evaluation enables attribute values to be evaluated only as needed. Time and space complexity are both O(n^4) where n is the length of the input. An example natural-language interface (called Solarman) to a semantic-web style RDF triplestore with approximately 3,000 facts about the solar system has been built as an executable specification of an attribute grammar. Solarman is included in this archive. Solarman computes answers to queries using an event-based denotational semantics which is based on Montague and Davidsonian semantics. A web site [3] has been created so that readers can enter queries and find out more about Solarman.





Change logNone available
Dependenciesbase (>=4.6 && <5), bifunctors, bytestring, cgi, containers (>=0.5), hsparql (>=0.2), mtl, network, pretty (>=1.1), rdf4h (>=1.2), text (>=0.11) [details]
AuthorDr. Rahmatullah Hafiz, Dr. Richard Frost (, Shane Peelar, Paul Callaghan, and Eric Matthews
CategoryParsing, Natural Language Processing, Memoization, ParserCombinators, Attribute Grammars, Text
Home page
UploadedFri Feb 9 01:02:52 UTC 2018 by InBetweenNames



Maintainers' corner

For package maintainers and hackage trustees