symantic-6.0.0.20170623: Library for Typed Tagless-Final Higher-Order Composable DSL

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Typing.Grammar

Contents

Synopsis

Type NameTy

Type NameConst

Type NameFam

Type AST_Type

type AST_Type src = BinTree (Token_Type src) Source #

Abstract Syntax Tree of Token_Type.

Type Token_Type

data Token_Type src Source #

Constructors

Token_Type_Const (At src NameTy) 
Token_Type_Var (At src NameVar) 

Instances

Source src => Eq (Token_Type src) Source # 

Methods

(==) :: Token_Type src -> Token_Type src -> Bool #

(/=) :: Token_Type src -> Token_Type src -> Bool #

Source src => Show (Token_Type src) Source # 

Methods

showsPrec :: Int -> Token_Type src -> ShowS #

show :: Token_Type src -> String #

showList :: [Token_Type src] -> ShowS #

Inj_Source (AST_Type (SrcTe inp ss)) (SrcTe inp ss) # 

Methods

inj_Source :: AST_Type (SrcTe inp ss) -> SrcTe inp ss #

Class Gram_Type

class (Gram_Source src g, Gram_Terminal g, Gram_Rule g, Gram_Alt g, Gram_Try g, Gram_App g, Gram_AltApp g, Gram_CF g, Gram_Comment g, Gram_Op g) => Gram_Type src g where Source #

Read an AST_Type from a textual source.

Instances

Gram_Source src RuleEBNF => Gram_Type src RuleEBNF Source # 
Gram_Source src EBNF => Gram_Type src EBNF Source # 
Gram_Type src g => Gram_Type src (CF g) Source # 

gram_type :: Gram_Type () g => [CF g (AST_Type ())] Source #

List of the rules of Gram_Type.