packages feed

asil-1.2: dist/build/Language.hs


-- UUAGC 0.9.36 (src/Language.ag)
module Language where

{-# LINE 6 "src/Language.ag" #-}

import Data.Word
{-# LINE 10 "dist/src/sdist.27680/asil-1.2/dist/build/Language.hs" #-}
-- BinOp -------------------------------------------------------
data BinOp  = BinOp_Add 
            | BinOp_And 
            | BinOp_Div 
            | BinOp_Max 
            | BinOp_Min 
            | BinOp_Mod 
            | BinOp_Mul 
            | BinOp_Or 
            | BinOp_Rel (Rel ) 
            | BinOp_Sub 
            deriving ( Eq,Show)
-- Coercion ----------------------------------------------------
data Coercion  = Coercion_Any 
               | Coercion_Any' 
               | Coercion_Double 
               | Coercion_Instance 
               | Coercion_Int 
               | Coercion_None 
               | Coercion_String 
               | Coercion_UInt 
               deriving ( Eq,Show)
-- Instr -------------------------------------------------------
data Instr  = Instr_Alt (Instr ) (Instr ) (Bool) 
            | Instr_Assert (Val ) 
            | Instr_Assign (Int) (Val ) 
            | Instr_BinOp (Val ) (Val ) (Val ) (BinOp ) 
            | Instr_CallFun (Val ) (Params ) (Params ) 
            | Instr_CallProp (Val ) (Params ) (Params ) 
            | Instr_Coerce (Coercion ) (Val ) (Val ) 
            | Instr_Dyn (Instr ) 
            | Instr_Fail ((Maybe String)) 
            | Instr_Last (Instr ) 
            | Instr_Loop (Instr ) 
            | Instr_Match (Match ) 
            | Instr_Nop 
            | Instr_Pretty (Val ) (Params ) (Val ) 
            | Instr_Scan (Val ) (Val ) (Params ) 
            | Instr_Seq (Instr ) (Instr ) 
            | Instr_Static (Instr ) 
            | Instr_Type (Val ) (Val ) 
            | Instr_TypeOf (Val ) (Val ) 
            | Instr_UnOp (Val ) (Val ) (UnOp ) 
            deriving ( Eq,Show)
-- Match -------------------------------------------------------
data Match  = Match_BeginCall (Val ) (Val ) (Val ) (Params ) 
            | Match_BeginCoerce (Val ) (Val ) (Coercion ) 
            | Match_DoneCall (Val ) (Val ) (Val ) (Params ) 
            | Match_DoneCoerce (Val ) (Val ) (Coercion ) 
            | Match_EnterBlock (Val ) (Val ) (Val ) 
            | Match_EnterFun (Val ) (Val ) (Val ) (Params ) 
            | Match_FailBlock (Val ) (Val ) 
            | Match_FailFun (Val ) (Val ) (Val ) (Val ) 
            | Match_FailedCall (Val ) (Val ) (Val ) (Val ) 
            | Match_FailedCoerce (Val ) (Val ) (Val ) (Coercion ) 
            | Match_LeaveBlock (Val ) (Val ) 
            | Match_LeaveFun (Val ) (Val ) (Val ) (Params ) 
            deriving ( Eq,Show)
-- MaybeVal ----------------------------------------------------
type MaybeVal  = Maybe Val 
-- Param -------------------------------------------------------
data Param  = Param_Param (Val ) 
            deriving ( Eq,Show)
-- Params ------------------------------------------------------
data Params  = Params_Any (Val ) 
             | Params_Cons (Param ) (Params ) 
             | Params_Nil 
             deriving ( Eq,Show)
-- Rel ---------------------------------------------------------
data Rel  = Rel_Equal 
          | Rel_Greater 
          | Rel_GreaterEqual 
          | Rel_Negate (Rel ) 
          | Rel_Smaller 
          | Rel_SmallerEqual 
          deriving ( Eq,Show)
-- Spec --------------------------------------------------------
data Spec  = Spec_Instr (Instr ) 
           deriving ( Eq,Show)
-- Type --------------------------------------------------------
data Type  = Type_Any 
           | Type_Array (Type ) 
           | Type_Base 
           | Type_Bool 
           | Type_Double 
           | Type_Int 
           | Type_Method 
           | Type_Object (String) 
           | Type_String 
           | Type_UInt 
           deriving ( Eq,Show)
-- UnOp --------------------------------------------------------
data UnOp  = UnOp_Abs 
           | UnOp_ExtractJust 
           | UnOp_IsJust 
           | UnOp_IsNothing 
           | UnOp_Length 
           | UnOp_Neg 
           | UnOp_Not 
           deriving ( Eq,Show)
-- Val ---------------------------------------------------------
data Val  = Val_Array (Vals ) 
          | Val_Bool (Bool) 
          | Val_Dyn (Val ) (Val ) 
          | Val_Ind (Val ) (Val ) 
          | Val_Int (Int) 
          | Val_Method (String) 
          | Val_Prop (Val ) (String) 
          | Val_String (String) 
          | Val_Sym (Int) 
          | Val_Type (Type ) 
          | Val_UInt (Word32) 
          deriving ( Eq,Show)
-- Vals --------------------------------------------------------
type Vals  = [Val ]