helium-1.8: src/Helium/Syntax/UHA_Syntax.hs
-- UUAGC 0.9.42.2 (Helium/Syntax/UHA_Syntax.ag)
module Helium.Syntax.UHA_Syntax where
-- Alternative -------------------------------------------------
data Alternative = Alternative_Hole (Range) (Integer)
| Alternative_Feedback (Range) (String) (Alternative)
| Alternative_Alternative (Range) (Pattern) (RightHandSide)
| Alternative_Empty (Range)
-- Alternatives ------------------------------------------------
type Alternatives = [Alternative]
-- AnnotatedType -----------------------------------------------
data AnnotatedType = AnnotatedType_AnnotatedType (Range) (Bool) (Type)
-- AnnotatedTypes ----------------------------------------------
type AnnotatedTypes = [AnnotatedType]
-- Body --------------------------------------------------------
data Body = Body_Hole (Range) (Integer)
| Body_Body (Range) (ImportDeclarations) (Declarations)
-- Constructor -------------------------------------------------
data Constructor = Constructor_Constructor (Range) (Name) (AnnotatedTypes)
| Constructor_Infix (Range) (AnnotatedType) (Name) (AnnotatedType)
| Constructor_Record (Range) (Name) (FieldDeclarations)
-- Constructors ------------------------------------------------
type Constructors = [Constructor]
-- ContextItem -------------------------------------------------
data ContextItem = ContextItem_ContextItem (Range) (Name) (Types)
-- ContextItems ------------------------------------------------
type ContextItems = [ContextItem]
-- Declaration -------------------------------------------------
data Declaration = Declaration_Hole (Range) (Integer)
| Declaration_Type (Range) (SimpleType) (Type)
| Declaration_Data (Range) (ContextItems) (SimpleType) (Constructors) (Names)
| Declaration_Newtype (Range) (ContextItems) (SimpleType) (Constructor) (Names)
| Declaration_Class (Range) (ContextItems) (SimpleType) (MaybeDeclarations)
| Declaration_Instance (Range) (ContextItems) (Name) (Types) (MaybeDeclarations)
| Declaration_Default (Range) (Types)
| Declaration_FunctionBindings (Range) (FunctionBindings)
| Declaration_PatternBinding (Range) (Pattern) (RightHandSide)
| Declaration_TypeSignature (Range) (Names) (Type)
| Declaration_Fixity (Range) (Fixity) (MaybeInt) (Names)
| Declaration_Empty (Range)
-- Declarations ------------------------------------------------
type Declarations = [Declaration]
-- Export ------------------------------------------------------
data Export = Export_Variable (Range) (Name)
| Export_TypeOrClass (Range) (Name) (MaybeNames)
| Export_TypeOrClassComplete (Range) (Name)
| Export_Module (Range) (Name)
-- Exports -----------------------------------------------------
type Exports = [Export]
-- Expression --------------------------------------------------
data Expression = Expression_Hole (Range) (Integer)
| Expression_Feedback (Range) (String) (Expression)
| Expression_MustUse (Range) (Expression)
| Expression_Literal (Range) (Literal)
| Expression_Variable (Range) (Name)
| Expression_Constructor (Range) (Name)
| Expression_Parenthesized (Range) (Expression)
| Expression_NormalApplication (Range) (Expression) (Expressions)
| Expression_InfixApplication (Range) (MaybeExpression) (Expression) (MaybeExpression)
| Expression_If (Range) (Expression) (Expression) (Expression)
| Expression_Lambda (Range) (Patterns) (Expression)
| Expression_Case (Range) (Expression) (Alternatives)
| Expression_Let (Range) (Declarations) (Expression)
| Expression_Do (Range) (Statements)
| Expression_List (Range) (Expressions)
| Expression_Tuple (Range) (Expressions)
| Expression_Comprehension (Range) (Expression) (Qualifiers)
| Expression_Typed (Range) (Expression) (Type)
| Expression_RecordConstruction (Range) (Name) (RecordExpressionBindings)
| Expression_RecordUpdate (Range) (Expression) (RecordExpressionBindings)
| Expression_Enum (Range) (Expression) (MaybeExpression) (MaybeExpression)
| Expression_Negate (Range) (Expression)
| Expression_NegateFloat (Range) (Expression)
-- Expressions -------------------------------------------------
type Expressions = [Expression]
-- FieldDeclaration --------------------------------------------
data FieldDeclaration = FieldDeclaration_FieldDeclaration (Range) (Names) (AnnotatedType)
-- FieldDeclarations -------------------------------------------
type FieldDeclarations = [FieldDeclaration]
-- Fixity ------------------------------------------------------
data Fixity = Fixity_Infixl (Range)
| Fixity_Infixr (Range)
| Fixity_Infix (Range)
-- FunctionBinding ---------------------------------------------
data FunctionBinding = FunctionBinding_Hole (Range) (Integer)
| FunctionBinding_Feedback (Range) (String) (FunctionBinding)
| FunctionBinding_FunctionBinding (Range) (LeftHandSide) (RightHandSide)
-- FunctionBindings --------------------------------------------
type FunctionBindings = [FunctionBinding]
-- GuardedExpression -------------------------------------------
data GuardedExpression = GuardedExpression_GuardedExpression (Range) (Expression) (Expression)
-- GuardedExpressions ------------------------------------------
type GuardedExpressions = [GuardedExpression]
-- Import ------------------------------------------------------
data Import = Import_Variable (Range) (Name)
| Import_TypeOrClass (Range) (Name) (MaybeNames)
| Import_TypeOrClassComplete (Range) (Name)
-- ImportDeclaration -------------------------------------------
data ImportDeclaration = ImportDeclaration_Import (Range) (Bool) (Name) (MaybeName) (MaybeImportSpecification)
| ImportDeclaration_Empty (Range)
-- ImportDeclarations ------------------------------------------
type ImportDeclarations = [ImportDeclaration]
-- ImportSpecification -----------------------------------------
data ImportSpecification = ImportSpecification_Import (Range) (Bool) (Imports)
-- Imports -----------------------------------------------------
type Imports = [Import]
-- LeftHandSide ------------------------------------------------
data LeftHandSide = LeftHandSide_Function (Range) (Name) (Patterns)
| LeftHandSide_Infix (Range) (Pattern) (Name) (Pattern)
| LeftHandSide_Parenthesized (Range) (LeftHandSide) (Patterns)
-- Literal -----------------------------------------------------
data Literal = Literal_Int (Range) (String)
| Literal_Char (Range) (String)
| Literal_Float (Range) (String)
| Literal_String (Range) (String)
-- MaybeDeclarations -------------------------------------------
data MaybeDeclarations = MaybeDeclarations_Nothing
| MaybeDeclarations_Just (Declarations)
-- MaybeExports ------------------------------------------------
data MaybeExports = MaybeExports_Nothing
| MaybeExports_Just (Exports)
-- MaybeExpression ---------------------------------------------
data MaybeExpression = MaybeExpression_Nothing
| MaybeExpression_Just (Expression)
-- MaybeImportSpecification ------------------------------------
data MaybeImportSpecification = MaybeImportSpecification_Nothing
| MaybeImportSpecification_Just (ImportSpecification)
-- MaybeInt ----------------------------------------------------
data MaybeInt = MaybeInt_Nothing
| MaybeInt_Just (Int)
-- MaybeName ---------------------------------------------------
data MaybeName = MaybeName_Nothing
| MaybeName_Just (Name)
-- MaybeNames --------------------------------------------------
data MaybeNames = MaybeNames_Nothing
| MaybeNames_Just (Names)
-- Module ------------------------------------------------------
data Module = Module_Module (Range) (MaybeName) (MaybeExports) (Body)
-- Name --------------------------------------------------------
data Name = Name_Identifier (Range) (Strings) (String)
| Name_Operator (Range) (Strings) (String)
| Name_Special (Range) (Strings) (String)
-- Names -------------------------------------------------------
type Names = [Name]
-- Pattern -----------------------------------------------------
data Pattern = Pattern_Hole (Range) (Integer)
| Pattern_Literal (Range) (Literal)
| Pattern_Variable (Range) (Name)
| Pattern_Constructor (Range) (Name) (Patterns)
| Pattern_Parenthesized (Range) (Pattern)
| Pattern_InfixConstructor (Range) (Pattern) (Name) (Pattern)
| Pattern_List (Range) (Patterns)
| Pattern_Tuple (Range) (Patterns)
| Pattern_Record (Range) (Name) (RecordPatternBindings)
| Pattern_Negate (Range) (Literal)
| Pattern_As (Range) (Name) (Pattern)
| Pattern_Wildcard (Range)
| Pattern_Irrefutable (Range) (Pattern)
| Pattern_Successor (Range) (Name) (Literal)
| Pattern_NegateFloat (Range) (Literal)
-- Patterns ----------------------------------------------------
type Patterns = [Pattern]
-- Position ----------------------------------------------------
data Position = Position_Position (String) (Int) (Int)
| Position_Unknown
-- Qualifier ---------------------------------------------------
data Qualifier = Qualifier_Guard (Range) (Expression)
| Qualifier_Let (Range) (Declarations)
| Qualifier_Generator (Range) (Pattern) (Expression)
| Qualifier_Empty (Range)
-- Qualifiers --------------------------------------------------
type Qualifiers = [Qualifier]
-- Range -------------------------------------------------------
data Range = Range_Range (Position) (Position)
-- RecordExpressionBinding -------------------------------------
data RecordExpressionBinding = RecordExpressionBinding_RecordExpressionBinding (Range) (Name) (Expression)
-- RecordExpressionBindings ------------------------------------
type RecordExpressionBindings = [RecordExpressionBinding]
-- RecordPatternBinding ----------------------------------------
data RecordPatternBinding = RecordPatternBinding_RecordPatternBinding (Range) (Name) (Pattern)
-- RecordPatternBindings ---------------------------------------
type RecordPatternBindings = [RecordPatternBinding]
-- RightHandSide -----------------------------------------------
data RightHandSide = RightHandSide_Expression (Range) (Expression) (MaybeDeclarations)
| RightHandSide_Guarded (Range) (GuardedExpressions) (MaybeDeclarations)
-- SimpleType --------------------------------------------------
data SimpleType = SimpleType_SimpleType (Range) (Name) (Names)
-- Statement ---------------------------------------------------
data Statement = Statement_Expression (Range) (Expression)
| Statement_Let (Range) (Declarations)
| Statement_Generator (Range) (Pattern) (Expression)
| Statement_Empty (Range)
-- Statements --------------------------------------------------
type Statements = [Statement]
-- Strings -----------------------------------------------------
type Strings = [(String)]
-- Type --------------------------------------------------------
data Type = Type_Application (Range) (Bool) (Type) (Types)
| Type_Variable (Range) (Name)
| Type_Constructor (Range) (Name)
| Type_Qualified (Range) (ContextItems) (Type)
| Type_Forall (Range) (Names) (Type)
| Type_Exists (Range) (Names) (Type)
| Type_Parenthesized (Range) (Type)
-- Types -------------------------------------------------------
type Types = [Type]