Comparing revisions for page Unparsing and parsing in Haskell
Back to history list
== Headline ==
Lecture [[Script:Unparsing and parsing in Haskell | Parsing and unparsing]] 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|combinator libraries]] 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]]
* [[Parsing]]
** [[Parsing problem]]
** [[Syntax tree]]
** [[Parse tree]]
** [[Acceptor]]
** [[Parser]]
== Technologies ==
* [[Combinator library|Combinator libraries]]
** [[Technology:HughesPJ]]
** [[Technology:Parsec]]
== Features ==
* [[Feature:Unparsing]]
* [[Feature:Parsing]]
== Contributions ==
* [[Contribution:hughesPJ]]
* [[Contribution:haskellAcceptor]]
* [[Contribution:haskellParsec]]
== Metadata ==
* [[memberOf::Course:Lambdas in Koblenz]]
* [[linksTo::https://userpages.uni-koblenz.de/~romes/archive/2022-07-10-frpendsOn::Scrip.ht:Functors_and_friendsml]]