etch  ] [  etch-m68k  ] [  lenny  ] [  squeeze  ] [  sid  ]
[ Quellcode: frown  ]

Paket: frown (0.6.1-9)

LALR(k) parser generator for Haskell 98

Frown is inspired by the parser generator Happy and uses a syntax quite simular as the syntax used by Happy. Happy only handles LALR(1) grammars while Frown can use more extensive LALR(k) grammars and the parsers generated by Frown are also faster than the parsers generated by Happy.

The salient features of Frown 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, 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.

Markierungen: Software-Entwicklung: Code-Erzeugung, Haskell-Entwicklung, Implementiert in: Haskell, Benutzer-Schnittstellen: Kommandozeile, Rolle: Programm, Zweck: Hilfswerkzeug, Arbeitet mit: Quellcode

Andere Pakete mit Bezug zu frown

  • hängt ab von
  • empfiehlt
  • schlägt vor
  • dep: libc0.1 (>= 2.3) [kfreebsd-i386]
    GNU C-Bibliothek: Dynamische Bibliotheken
    auch ein virtuelles Paket, bereitgestellt durch libc0.1-udeb
  • dep: libc0.3 (>= 2.7-1) [hurd-i386]
    GNU C-Bibliothek: Dynamische Bibliotheken
    auch ein virtuelles Paket, bereitgestellt durch libc0.3-udeb
  • dep: libc6 (>= 2.5-5) [m68k]
    GNU C-Bibliothek: Dynamische Bibliotheken
    auch ein virtuelles Paket, bereitgestellt durch libc6-udeb
    dep: libc6 (>= 2.7-1) [nicht alpha, hurd-i386, ia64, kfreebsd-i386, m68k]
  • dep: libc6.1 (>= 2.7-1) [alpha, ia64]
    GNU C-Bibliothek: Dynamische Bibliotheken
    auch ein virtuelles Paket, bereitgestellt durch libc6.1-udeb
  • dep: libffi5 (>= 3.0.9~rc3-1) [kfreebsd-i386]
    Fremdes Funktionsinterface, Laufzeitbibliothek
  • dep: libgcc1 (>= 1:4.3) [armel]
    GCC Support-Bibliothek
  • dep: libgmp3c2
    Mehrfachgenaue, arithmetische Bibliothek
  • rec: frown-doc (= 0.6.1-9)
    Manual of the frown parser generator for Haskell 98

frown herunterladen

Download für alle verfügbaren Architekturen
Architektur Paketgröße Größe (installiert) Dateien
alpha 1 698,7 kB9812 kB [Liste der Dateien]
amd64 480,0 kB2124 kB [Liste der Dateien]
armel 1 196,2 kB8068 kB [Liste der Dateien]
hppa 1 673,7 kB8104 kB [Liste der Dateien]
hurd-i386 833,9 kB5016 kB [Liste der Dateien]
i386 442,1 kB1512 kB [Liste der Dateien]
ia64 1 852,9 kB15760 kB [Liste der Dateien]
kfreebsd-i386 479,6 kB1674 kB [Liste der Dateien]
m68k (inoffizielle Portierung) 841,2 kB5212 kB [Liste der Dateien]
mips 1 765,0 kB11788 kB [Liste der Dateien]
mipsel 1 732,0 kB11788 kB [Liste der Dateien]
powerpc 1 125,5 kB6748 kB [Liste der Dateien]
s390 1 683,8 kB7664 kB [Liste der Dateien]
sparc 1 091,7 kB6352 kB [Liste der Dateien]