summaryrefslogtreecommitdiff
path: root/testsuite/tests/programs/joao-circular/Data_Lazy.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/programs/joao-circular/Data_Lazy.hs')
-rw-r--r--testsuite/tests/programs/joao-circular/Data_Lazy.hs273
1 files changed, 273 insertions, 0 deletions
diff --git a/testsuite/tests/programs/joao-circular/Data_Lazy.hs b/testsuite/tests/programs/joao-circular/Data_Lazy.hs
new file mode 100644
index 0000000000..d5ab24a9ca
--- /dev/null
+++ b/testsuite/tests/programs/joao-circular/Data_Lazy.hs
@@ -0,0 +1,273 @@
+module Data_Lazy where
+
+import LrcPrelude
+
+--
+-- Abstract Syntax
+--
+--
+data P
+ = C_RootProd_1 !Defs
+ deriving (Show , Eq , Ord)
+
+data Defs
+ = C_Defs2_1 !Def !Defs
+ | C_NoDefs_1
+ deriving (Show , Eq , Ord)
+
+data Def
+ = C_Arraydecl_1 !Type !Name !INT
+ | C_Declfunc_1 !Type !Name !FormPars !Stats
+ | C_Declfunc_header_1 !Type !Name !FormPars !Stats
+ | C_Declfunc_header_novar_1 !Type !Name !FormPars !Stats
+ | C_Vardecl_1 !Type !Name
+ deriving (Show , Eq , Ord)
+
+data Type
+ = C_Booltype_1
+ | C_Chartype_1
+ | C_Errortype_1
+ | C_Inttype_1
+ | C_Realtype_1
+ deriving (Show , Eq , Ord)
+
+data Name
+ = C_Ident_1 !STR
+ deriving (Show , Eq , Ord)
+
+data FormPars
+ = C_Emptyformpars_1
+ | C_Lstformpars_1 !FormPar !FormPars
+ deriving (Show , Eq , Ord)
+
+data FormPar
+ = C_Declformpar_1 !Type !Name
+ deriving (Show , Eq , Ord)
+
+data Stats
+ = C_Emptystat_1
+ | C_Lststats_1 !Stat !Stats
+ deriving (Show , Eq , Ord)
+
+data Stat
+ = C_ArrAssign_1 !ArrayUse !Exp
+ | C_Assign_1 !Name !Exp
+ | C_Funccall_1 !Name !ActPars
+ | C_If_t_e_1 !Exp !Stats !Stats
+ | C_Input_1 !Name
+ | C_LocalDecl_1 !Type !Name
+ | C_Print_1 !Exp
+ | C_While_1 !Exp !Stats
+ deriving (Show , Eq , Ord)
+
+data ArrayUse
+ = C_ArrayInd_1 !Name !Exp
+ deriving (Show , Eq , Ord)
+
+data Exp
+ = C_AddExp_1 !Exp !Exp
+ | C_AndExp_1 !Exp !Exp
+ | C_DivExp_1 !Exp !Exp
+ | C_EqExp_1 !Exp !Exp
+ | C_Factor_1 !Fac
+ | C_GTExp_1 !Exp !Exp
+ | C_LTExp_1 !Exp !Exp
+ | C_MinExp_1 !Exp
+ | C_MulExp_1 !Exp !Exp
+ | C_NotExp_1 !Exp
+ | C_OrExp_1 !Exp !Exp
+ | C_SubExp_1 !Exp !Exp
+ deriving (Show , Eq , Ord)
+
+data Fac
+ = C_ArrayConst_1 !ArrayUse
+ | C_BoolConst_1 !BOOL
+ | C_CNIdent_1 !Name
+ | C_Expr_1 !Exp
+ | C_Funcinv_1 !Name !ActPars
+ | C_IntConst_1 !INT
+ | C_RealConst_1 !REAL
+ deriving (Show , Eq , Ord)
+
+data ActPars
+ = C_Emptyactpars_1
+ | C_Lstactpars_1 !Exp !ActPars
+ deriving (Show , Eq , Ord)
+
+data PPRoot
+ = C_All_1 !PPS
+ | C_Best_1 !PPS
+ deriving (Show , Eq , Ord)
+
+data PPS
+ = C_Above_1 !PPS !PPS
+ | C_Apply_1 !PPC !PPSArgs
+ | C_Beside_1 !PPS !PPS
+ | C_Dup_1 !PPS !PPS
+ | C_Empty_1
+ | C_FillBlock_1 !INT !FillList
+ | C_Filla_1 !FillList
+ | C_Indent_1 !INT !PPS
+ | C_Join_1 !PPS
+ | C_Text_1 !STR
+ deriving (Show , Eq , Ord)
+
+data PPC
+ = C_AboveC_1 !PPC !PPC
+ | C_ApplyC_1 !PPC !PPCArgs
+ | C_BesideC_1 !PPC !PPC
+ | C_DupC_1 !PPC !PPC
+ | C_IndentC_1 !INT !PPC
+ | C_JoinC_1 !PPC
+ | C_ParC_1
+ deriving (Show , Eq , Ord)
+
+data PPCArgs
+ = C_ConsPPCArgs_1 !PPC !PPCArgs
+ | C_NilPPCArgs_1
+ deriving (Show , Eq , Ord)
+
+data PPSArgs
+ = C_ConsArgs_1 !PPS !PPSArgs
+ | C_NilArgs_1
+ deriving (Show , Eq , Ord)
+
+data FillList
+ = C_ConsFillList_1 !PPS !FillList
+ | C_NilFillList_1
+ deriving (Show , Eq , Ord)
+
+
+--
+-- Type of Attributes
+--
+--
+type Code = [Instr]
+
+type CodeParams = [Code]
+
+data Disp
+ = C_Displ_1 !PPS
+ deriving (Show , Eq , Ord)
+
+data ENTRY
+ = C_Consarray_1 !Type !INT !INT
+ | C_Consfunc_1 !Type !INT !LSTPARAM
+ | C_Consvar_1 !Type !INT
+ | C_EmptyEntry_1
+ deriving (Show , Eq , Ord)
+
+type ERROR = [OneError]
+
+data Format
+ = C_Elem_1 !INT !INT !INT !Lst_Str
+ deriving (Show , Eq , Ord)
+
+type Formats = [Format]
+
+data Instr
+ = C_ALabel_1 !Name
+ | C_Add_1
+ | C_And_1
+ | C_Call_1 !Name
+ | C_Cod_1
+ | C_Data_1
+ | C_Div_1
+ | C_Eq_1
+ | C_Gt_1
+ | C_Halt_1
+ | C_IIn_1
+ | C_IOut_1
+ | C_Jump_1 !Name
+ | C_Jumpf_1 !Name
+ | C_Load_1
+ | C_Lt_1
+ | C_Minus_1
+ | C_Mul_1
+ | C_Neq_1
+ | C_Not_1
+ | C_Or_1
+ | C_Pusha_1 !Name !INT
+ | C_Pushb_1 !BOOL
+ | C_Pushi_1 !INT
+ | C_Pushr_1 !REAL
+ | C_Ret_1
+ | C_Store_1
+ | C_Sub_1
+ | C_Var_1 !Name !INT !Type
+ deriving (Show , Eq , Ord)
+
+type LSTPARAM = [OneParam]
+
+type Lst_Str = [STR]
+
+data OneError
+ = C_E_FormParam_AD_1 !Name
+ | C_E_Fun_ND_1 !Name
+ | C_E_Loc_Name_AD_1 !Name
+ | C_E_Name_AD_1 !Name
+ | C_E_Name_ND_1 !Name
+ deriving (Show , Eq , Ord)
+
+data OneParam
+ = C_AParam_1 !Type !Name
+ deriving (Show , Eq , Ord)
+
+data OneTypeError
+ = C_E_T_ActParam_1
+ | C_E_T_BOP_1
+ | C_E_T_DT_1 !Name
+ | C_E_T_IndArrNotInt_1
+ | C_E_T_NC_1 !Type !Type
+ | C_E_T_NotArithExp_1
+ | C_E_T_NotBooleanExp_1
+ | C_E_T_if_t_e_1
+ | C_E_T_while_1
+ | C_NoTypeError_1
+ deriving (Show , Eq , Ord)
+
+data Pair_Formats
+ = C_C_Pair_Formats_1 !Formats !BOOL
+ deriving (Show , Eq , Ord)
+
+data Pair_Lst_T_Errs
+ = C_CPair_Lst_T_Errs_1 !T_Errs !T_Errs
+ deriving (Show , Eq , Ord)
+
+data Pair_Lst_T_Fmts
+ = C_CPair_Lst_T_Fmts_1 !T_Fmts !T_Fmts
+ deriving (Show , Eq , Ord)
+
+data Pair_Lst_T_Mins
+ = C_CPair_Lst_T_Mins_1 !T_Mins !T_Mins
+ deriving (Show , Eq , Ord)
+
+data Pair_T_Formats
+ = C_C_Pair_T_Formats_1 !T_Formats !BOOL
+ deriving (Show , Eq , Ord)
+
+data Sizes
+ = C_Triple_1 !INT !INT !INT
+ deriving (Show , Eq , Ord)
+
+type TYPES = [Type]
+
+type T_Errs = [BOOL]
+
+type T_Fmts = [T_Formats]
+
+data T_Formats
+ = C_AFormat_1 !Formats
+ | C_TFormats_1 !Formats !Formats !BOOL !BOOL
+ deriving (Show , Eq , Ord)
+
+data T_Frame
+ = C_F_1 !INT !INT
+ deriving (Show , Eq , Ord)
+
+type T_Mins = [Sizes]
+
+type T_Reqs = [T_Frame]
+
+type TypeError = [OneTypeError]
+