summaryrefslogtreecommitdiff
path: root/p/frown/debian/control
blob: e9ec510db2f2af35bccc709c303288843a010272 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Source: frown
Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Uploaders:
 Joachim Breitner <nomeata@debian.org>,
Priority: extra
Section: haskell
Build-Depends:
 cdbs,
 debhelper (>= 9),
 ghc (>= 8),
 haskell-devscripts (>= 0.13),
 hevea,
 lhs2tex,
 texlive-generic-recommended,
 texlive-latex-extra,
Standards-Version: 3.9.8
Homepage: http://hackage.haskell.org/package/frown
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-haskell/DHG_packages.git/tree/p/frown
Vcs-Git: https://anonscm.debian.org/git/pkg-haskell/DHG_packages.git
X-Description: LALR(k) parser generator
 Frown is an LALR(k) parser generator for Haskell 98 written in Haskell 98.
 .
 Its salient features are:
    -  The generated parsers are time and space efficient. On the downside, the
       parsers are quite large.
    -  Frown generates four different types of parsers. as a common
       characteristic, the parsers are genuinely functional (ie ‘table-free’);
       the states of the underlying LR automaton are encoded as mutually
       recursive functions. Three output formats use a typed stack
       representation, and one format due to Ross Paterson (code=stackless)
       works even without a stack.
    -  Encoding states as functions means that each state can be treated
       individually as opposed to a table-driven approach, which necessitates a
       uniform treatment of states. For instance, look-ahead is only used when
       necessary to resolve conflicts.
    -  Frown comes with debugging and tracing facilities; the standard output
       format due to Doaitse Swierstra (code=standard) may be useful for
       teaching LR parsing.
    -  Common grammatical patterns such as repetition of symbols can be
       captured using rule schemata. There are several predefined rule
       schemata.
    -  Terminal symbols are arbitrary variable-free Haskell patterns or guards.
       Both terminal and nonterminal symbols may have an arbitrary number of
       synthesized attributes.
    -  Frown comes with extensive documentation; several example grammars are
       included. Furthermore, Frown supports the use of monadic lexers, monadic
       semantic actions, precedences, and associativity, the generation of
       backtracking parsers, multiple start symbols, error reporting, and a
       weak form of error correction.

Package: frown
Architecture: any
Section: misc
Depends:
 ${haskell:Depends},
 ${misc:Depends},
 ${shlibs:Depends},
Recommends:
 frown-doc (= ${source:Version}),
 ${haskell:Recommends},
Suggests:
 ${haskell:Suggests},
Conflicts:
 ${haskell:Conflicts},
Provides:
 ${haskell:Provides},
Multi-Arch: foreign
Description: ${haskell:ShortDescription}
 ${haskell:LongDescription}

Package: frown-doc
Architecture: all
Section: doc
Depends:
 ${misc:Depends},
 ${shlibs:Depends},
Suggests:
 doc-base,
Description: ${haskell:ShortDescription} -- documentation
 ${haskell:LongDescription}