Script:Unparsing and parsing in Haskell
== Headline ==
Lecture [[Script:Unparsing and parsing in Haskell |]] as part of [[Course:Lambdas in Koblenz]]
== Description ==
Various data structures, e.g., term- or tree-based representations, can be rendered as text by means of [[unparsing]]. (Unparsing is very similar to
what's called [[pretty printing]].) The other way around, the structure underlying some text can be recovered by means of [[parsing]] so that the
result can be processed as a tree or another data structure. In both cases, we assume some [[syntax]] for the underlying a textual representation.
This syntax can be also be made explicit in the form of a [[grammar]]. We put suitable Haskell [[combinator library|]] to work for
the implementation of [[unparser]]s and [[parser]]s.
== Concepts ==
* [[Unparsing]]
** [[Unparser]]
** [[Pretty printing]]
** [[Pretty printer]]
* [[Syntax]]
** [[Concrete syntax]]
** [[Abstract syntax]]
** [[Grammar]]
*** [[Context-free grammar]]