language-oberon-0.3.4.1: Parser, pretty-printer, and more for the Oberon programming language
Safe HaskellNone
LanguageHaskell2010

Language.Oberon.Reserializer

Description

This module exports functions for reserializing the parsed tree from the tokens stored with every node.

Synopsis

Documentation

adjustPositions :: (Foldable (g (Const (Sum Int) :: Type -> Type)), Foldable (Fold Parsed (Sum Int)) g, Traversable PositionAdjustment g) => Parsed (g Parsed Parsed) -> Parsed (g Parsed Parsed) Source #

Re-calculates the position of every node in the parse tree from the tokens stored with it and its children.

reserialize :: Foldable Serialization g => Parsed (g Parsed Parsed) -> Text Source #

Serializes the tree back into the text it was parsed from.

sourceLength :: (Foldable (g (Const (Sum Int) :: Type -> Type)), Foldable (Fold Parsed (Sum Int)) g) => Parsed (g Parsed Parsed) -> Int Source #

The length of the source code parsed into the argument node

data Serialization Source #

Transformation type used by reserialize

Instances

Instances details
Transformation Serialization Source # 
Instance details

Defined in Language.Oberon.Reserializer

Associated Types

type Domain Serialization 
Instance details

Defined in Language.Oberon.Reserializer

type Codomain Serialization 
Instance details

Defined in Language.Oberon.Reserializer

(Foldable (g Parsed), Foldable Serialization g) => Foldable Serialization g Source # 
Instance details

Defined in Language.Oberon.Reserializer

type Codomain Serialization Source # 
Instance details

Defined in Language.Oberon.Reserializer

type Domain Serialization Source # 
Instance details

Defined in Language.Oberon.Reserializer