language-oberon-0.3.2: Parser, pretty-printer, and more for the Oberon programming language
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Oberon.Pretty

Description

This module exports the instances of the Pretty type class necessary for printing of an Oberon abstract syntax tree. Note that the AST cannot be ambiguous to be pretty-printed, so it must be resolved after parsing.

Documentation

Orphan instances

Pretty RelOp Source # 
Instance details

Methods

pretty :: RelOp -> Doc ann #

prettyList :: [RelOp] -> Doc ann #

Pretty (IdentDef l) Source # 
Instance details

Methods

pretty :: IdentDef l -> Doc ann #

prettyList :: [IdentDef l] -> Doc ann #

Pretty (QualIdent l) Source # 
Instance details

Methods

pretty :: QualIdent l -> Doc ann #

prettyList :: [QualIdent l] -> Doc ann #

(Pretty (Declaration l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (Block λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Block λ l Identity Identity -> Doc ann #

prettyList :: [Block λ l Identity Identity] -> Doc ann #

(Pretty (CaseLabels l l Identity Identity), Pretty (ConstExpression l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (Case λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Case λ l Identity Identity -> Doc ann #

prettyList :: [Case λ l Identity Identity] -> Doc ann #

Pretty (ConstExpression l l Identity Identity) => Pretty (CaseLabels λ l Identity Identity) Source # 
Instance details

(Pretty (Expression l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (ConditionalBranch λ l Identity Identity) Source # 
Instance details

(Nameable l, Pretty (IdentDef l), Pretty (Type l l Identity Identity), Pretty (Declaration l l Identity Identity), Pretty (Expression l l Identity Identity), Pretty (FormalParameters l l Identity Identity), Pretty (ProcedureHeading l l Identity Identity), Pretty (Block l l Identity Identity)) => Pretty (Declaration λ l Identity Identity) Source # 
Instance details

(Pretty (QualIdent l), Pretty (Designator l l Identity Identity), Pretty (Expression l l Identity Identity)) => Pretty (Designator λ l Identity Identity) Source # 
Instance details

Pretty (Expression l l Identity Identity) => Pretty (Element λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Element λ l Identity Identity -> Doc ann #

prettyList :: [Element λ l Identity Identity] -> Doc ann #

(Pretty (Precedence (Expression l l Identity Identity)), Pretty (Expression l l Identity Identity), Pretty (Element l l Identity Identity), Pretty (Designator l l Identity Identity), Pretty (Value l l Identity Identity), Pretty (QualIdent l)) => Pretty (Expression λ l Identity Identity) Source # 
Instance details

Pretty (Type l l Identity Identity) => Pretty (FPSection λ l Identity Identity) Source # 
Instance details

(Pretty (IdentDef l), Pretty (Type l l Identity Identity)) => Pretty (FieldList λ l Identity Identity) Source # 
Instance details

(Pretty (FPSection l l Identity Identity), Pretty (ReturnType l)) => Pretty (FormalParameters λ l Identity Identity) Source # 
Instance details

(Pretty (Import l), Pretty (Block l l Identity Identity)) => Pretty (Module λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Module λ l Identity Identity -> Doc ann #

prettyList :: [Module λ l Identity Identity] -> Doc ann #

(Pretty (IdentDef l), Pretty (FormalParameters l l Identity Identity), Pretty (Type l l Identity Identity)) => Pretty (ProcedureHeading λ l Identity Identity) Source # 
Instance details

(Pretty (ConstExpression l l Identity Identity), Pretty (Designator l l Identity Identity), Pretty (Case l l Identity Identity), Pretty (ConditionalBranch l l Identity Identity), Pretty (WithAlternative l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (Statement λ l Identity Identity) Source # 
Instance details

Pretty (Statement l l Identity Identity) => Pretty (StatementSequence λ l Identity Identity) Source # 
Instance details

(Pretty (FormalParameters l l Identity Identity), Pretty (FieldList l l Identity Identity), Pretty (ConstExpression l l Identity Identity), Pretty (Type l l Identity Identity), Pretty (BaseType l)) => Pretty (Type λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Type λ l Identity Identity -> Doc ann #

prettyList :: [Type λ l Identity Identity] -> Doc ann #

Pretty (Value Language l Identity Identity) Source # 
Instance details

(Pretty (QualIdent l), Pretty (StatementSequence l l Identity Identity)) => Pretty (WithAlternative λ l Identity Identity) Source # 
Instance details