Source: libmarpa Section: libs Priority: optional Build-Depends: debhelper-compat (= 13), d-shlibs, pkg-kde-tools, Maintainer: Jonas Smedegaard 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.