SwePub
Sök i LIBRIS databas

  Extended search

L773:0730 8566
 

Search: L773:0730 8566 > Embedded Parser Gen...

Embedded Parser Generators

Almström Duregård, Jonas, 1984 (author)
Chalmers tekniska högskola,Chalmers University of Technology
Jansson, Patrik, 1972 (author)
Chalmers tekniska högskola,Chalmers University of Technology
 (creator_code:org_t)
2011-09-22
2011
English.
In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 46:12, s. 107-117
  • Journal article (peer-reviewed)
Abstract Subject headings
Close  
  • We present a novel method of embedding context-free grammars in Haskell, and to automatically generate parsers and pretty-printers from them. We have implemented this method in a library called BNFC-meta (from the BNF Converter, which it is built on). The library builds compiler front ends using metaprogramming instead of conventional code generation. Parsers are built from labelled BNF grammars that are defined directly in Haskell modules. Our solution combines features of parser generators (static grammar checks, a highly specialised grammar DSL) and adds several features that are otherwise exclusive to combinatory libraries such as the ability to reuse, parameterise and generate grammars inside Haskell. To allow writing grammars in concrete syntax, BNFC-meta provides a quasi-quoter that can parse grammars (embedded in Haskell files) at compile time and use metaprogramming to replace them with their abstract syntax. We also generate quasi-quoters so that the languages we define with BNFC-meta can be embedded in the same way. With a minimal change to the grammar, we support adding anti-quotation to the generated quasi-quoters, which allows users of the defined language to mix concrete and abstract syntax almost seamlessly. Unlike previous methods of achieving anti-quotation, the method used by BNFC-meta is simple, efficient and avoids polluting the abstract syntax types.

Subject headings

NATURVETENSKAP  -- Data- och informationsvetenskap -- Programvaruteknik (hsv//swe)
NATURAL SCIENCES  -- Computer and Information Sciences -- Software Engineering (hsv//eng)

Keyword

Domain Specific
Languages
Metaprogramming
Design
Languages
Experimentation

Publication and Content Type

art (subject category)
ref (subject category)

Find in a library

To the university's database

Find more in SwePub

By the author/editor
Almström Duregår ...
Jansson, Patrik, ...
About the subject
NATURAL SCIENCES
NATURAL SCIENCES
and Computer and Inf ...
and Software Enginee ...
Articles in the publication
SIGPLAN Notices ...
By the university
Chalmers University of Technology

Search outside SwePub

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Close

Copy and save the link in order to return to this view