all options
squeeze  ] [  wheezy  ] [  jessie  ] [  sid  ]
[ Source: frown  ]

Package: frown (0.6.1-10)

Links for frown

Screenshot

Debian Resources:

Download Source Package frown:

Maintainers:

Similar packages:

generatore di analizzatori LALR(k) per Haskell 98

Frown è ispirato al generatore di analizzatori Happy e usa una sintassi piuttosto simile a quella usata da Happy. Happy gestisce solamente grammatiche LALR(1) mentre Frown può usare grammatiche più vaste LALR(k) e gli analizzatori generati da Frown sono anche più veloci di quelli generati da Happy.

Le caratteristiche salienti di Frown sono le seguenti.

  - Gli analizzatori generati sono efficienti in termini di tempo e
    spazio. Come nota negativa, sono piuttosto grandi.
  - Frown genera quattro tipi diversi di analizzatori. Gli analizzatori
    hanno come caratteristica comune quella di essere genuinamente
    funzionali (cioè senza tabelle); gli stati degli automi LR
    sottostanti sono codificati come funzioni mutualmente ricorsive. Tre
    formati di output usano una rappresentazione a stack con tipi, un
    formato creato da Ross Paterson (code=stackless) funziona anche
    senza uno stack.
  - Codificare gli stati come funzioni significa che ciascuno stato può
    essere trattato singolarmente contrariamente ad un approccio basato su
    tabelle che necessita di un trattamento uniforme degli stati. Ad
    esempio look-ahead è usato solamente quando necessario per risolvere i
    conflitti.
  - Frown viene fornito con funzionalità per il debug e il trace; il
    formato di output standard, creato da Doaitse Swierstra
    (code=standard) può essere utile per insegnare l'analisi LR.
  - Modelli grammaticali comuni, come le ripetizioni di simboli, possono
    essere catturati usando schemi di regole. Ci sono diversi schemi di
    regole predefiniti.
  - I simboli terminali sono modelli o guard Haskell arbitrari liberi da
    variabili. I simboli, sia terminali che non, possono avere un numero
    arbitrario di attributi sintetizzati.
  - Frown viene fornito con una documentazione estesa; sono inclusi
    diversi esempi di grammatica.

Frown gestisce inoltre l'uso di analizzatori lessicali a monadi, azioni semantiche a monadi, precedenze e associatività, la generazione di analizzatori per backtrace, simboli di inizio molteplici, segnalazione degli errori e una forma debole di correzione degli errori.

Tags: Software Development: Code Generation, Haskell Development, Implemented in: Haskell, User Interface: Command Line, Role: Program, Scope: Utility, Works with: Source Code

Other Packages Related to frown

  • depends
  • recommends
  • suggests
  • enhances

Download frown

Download for all available architectures
Architecture Package Size Installed Size Files
kfreebsd-amd64 538.3 kB2,394.0 kB [list of files]