Source: libmarpa
Section: libs
Priority: optional
Build-Depends:
 debhelper-compat (= 13),
 d-shlibs,
 pkg-kde-tools,
Maintainer: Jonas Smedegaard <dr@jones.dk>
Standards-Version: 4.6.0
Homepage: https://jeffreykegler.github.io/Marpa-web-site/libmarpa.html
Vcs-Git: https://salsa.debian.org/debian/libmarpa.git
Vcs-Browser: https://salsa.debian.org/debian/libmarpa
Rules-Requires-Root: no

Package: libmarpa0
Section: libs
Architecture: any
Depends: ${shlibs:Depends},
 ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends},
Multi-Arch: same
Description: BNF grammar parser - runtime library
 Libmarpa is a C implementation
 of the core of Marpa parsing algorithm.
 .
  * Marpa parses anything you can write in BNF,
    including ambiguous and even infinitely ambiguous grammars.
  * Marpa easily and efficiently handles both left- and right-recursion.
  * If a grammar is in one of the classes in practical use today,
    Marpa parses it in O(n) (linear) time.
  * Marpa never goes exponential.
    Worst case, even for wildly ambiguous grammars,
    is O(n3) (cubic) time.
  * Marpa's run-time error detection is revolutionary.
    Marpa has complete situational awareness.
    It knows at all times which rules it is attempting to apply,
    how far it has progressed in them,
    and exactly which tokens it can accept.
    And Marpa can communicate its situational awareness
    back to the application.
  * Marpa allows the application to efficiently retry rejected input.
    This, combined with its situational awareness,
    allows "Ruby Slippers" parsing:
    When an application has a token rejected,
    it can ask the parse engine which tokens would be acceptable.
    It can then create a virtual token
    that allows the parse to continue --
    the application can make the parse engine's "wishes" come true.
    The Ruby Slippers are easy to use
    and surprisingly wide in their application.
 .
 Marpa is named after the legendary 11th century Tibetan translator,
 Marpa Lotsawa.

Package: libmarpa-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libmarpa0 (= ${binary:Version}),
 ${devlibs:Depends},
 ${misc:Depends}
Suggests: libmarpa-doc
Description: BNF grammar parser - development headers
 Libmarpa is a C implementation
 of the core of Marpa parsing algorithm.
 .
  * Marpa parses anything you can write in BNF,
    including ambiguous and even infinitely ambiguous grammars.
  * Marpa easily and efficiently handles both left- and right-recursion.
  * If a grammar is in one of the classes in practical use today,
    Marpa parses it in O(n) (linear) time.
  * Marpa never goes exponential.
    Worst case, even for wildly ambiguous grammars,
    is O(n3) (cubic) time.
  * Marpa's run-time error detection is revolutionary.
    Marpa has complete situational awareness.
    It knows at all times which rules it is attempting to apply,
    how far it has progressed in them,
    and exactly which tokens it can accept.
    And Marpa can communicate its situational awareness
    back to the application.
  * Marpa allows the application to efficiently retry rejected input.
    This, combined with its situational awareness,
    allows "Ruby Slippers" parsing:
    When an application has a token rejected,
    it can ask the parse engine which tokens would be acceptable.
    It can then create a virtual token
    that allows the parse to continue --
    the application can make the parse engine's "wishes" come true.
    The Ruby Slippers are easy to use
    and surprisingly wide in their application.
 .
 Marpa is named after the legendary 11th century Tibetan translator,
 Marpa Lotsawa.
 .
 This package provides development header files.