diff options
Diffstat (limited to 'frontend/syntax.icl')
-rw-r--r-- | frontend/syntax.icl | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/frontend/syntax.icl b/frontend/syntax.icl index f5ee540..62e5fc6 100644 --- a/frontend/syntax.icl +++ b/frontend/syntax.icl @@ -54,7 +54,6 @@ where toString {import_module} = toString import_module | STE_Imported !STE_Kind !Index | STE_DclFunction | STE_Module !(Module (CollectedDefinitions ClassInstance IndexRange)) - | STE_OpenModule !Int !(Module (CollectedDefinitions ClassInstance IndexRange)) | STE_ClosedModule | STE_Empty | STE_DictType !CheckedTypeDef @@ -425,8 +424,8 @@ cIsALocalVar :== False :: ConsClasses = { cc_size ::!Int - , cc_args ::![ConsClass] // the lists have the - , cc_linear_bits ::![Bool] // same length + , cc_args ::![ConsClass] + , cc_linear_bits ::![Bool] } :: ConsClass :== Int @@ -778,15 +777,14 @@ cNotVarNumber :== -1 | TVI_AType !AType /* auxiliary used in module comparedefimp */ | TVI_Used /* to adminster that this variable is encountered (in checkOpenTypes) */ | TVI_TypeCode !TypeCodeExpression -// MdM | TVI_CPSLocalTypeVar !Int /* MdM - the index of the variable as generated by the theorem prover */ -// ... MdM :: TypeVarInfoPtr :== Ptr TypeVarInfo :: TypeVarHeap :== Heap TypeVarInfo :: AttrVarInfo = AVI_Empty | AVI_Attr !TypeAttribute | AVI_Forward !TempAttrId | AVI_CorrespondenceNumber !Int /* auxiliary used in module comparedefimp */ + | AVI_Used | AVI_Count !Int /* auxiliary used in module typesupport */ :: AttrVarInfoPtr :== Ptr AttrVarInfo @@ -810,8 +808,9 @@ cNotVarNumber :== -1 } :: TypeAttribute = TA_Unique | TA_Multi | TA_Var !AttributeVar | TA_RootVar AttributeVar | TA_TempVar !Int | TA_TempExVar - | TA_Anonymous | TA_None - | TA_List !Int !TypeAttribute | TA_Locked !TypeAttribute + | TA_Anonymous | TA_None + | TA_List !Int !TypeAttribute | TA_Locked !TypeAttribute + | TA_MultiOfPropagatingConsVar :: AttributeVar = { av_name :: !Ident @@ -1219,6 +1218,8 @@ where = "" toString TA_Multi = "o " + toString TA_MultiOfPropagatingConsVar + = "@@ " toString (TA_List _ _) = "??? " toString TA_TempExVar @@ -1344,8 +1345,7 @@ where instance <<< AlgebraicPattern where -// (<<<) file g = file <<< g.ap_symbol <<< g.ap_vars <<< " -> " <<< g.ap_expr - (<<<) file g = file <<< g.ap_symbol <<< g.ap_vars <<< " " <<< g.ap_position <<< "-> " <<< g.ap_expr + (<<<) file g = file <<< g.ap_symbol <<< g.ap_vars <<< " -> " <<< g.ap_expr instance <<< BasicPattern where @@ -1585,10 +1585,8 @@ where (<<<) file {fun_symb,fun_body=ParsedBody bodies} = file <<< fun_symb <<< '.' <<< ' ' <<< bodies (<<<) file {fun_symb,fun_body=CheckedBody {cb_args,cb_rhs},fun_info={fi_free_vars,fi_def_level,fi_calls}} = file <<< fun_symb <<< '.' <<< "C " <<< cb_args <<< " = " <<< cb_rhs -// <<< '.' <<< fi_def_level <<< ' ' <<< '[' <<< fi_free_vars <<< ']' <<< cb_args <<< " = " <<< cb_rhs - (<<<) file {fun_symb,fun_body=TransformedBody {tb_args,tb_rhs},fun_info={fi_free_vars,fi_def_level,fi_calls}} = file <<< fun_symb <<< '.' - <<< "T " <<< tb_args <<< '[' <<< fi_calls <<< ']' <<< " = " <<< tb_rhs -// <<< '.' <<< fi_def_level <<< ' ' <<< '[' <<< fi_free_vars <<< ']' <<< tb_args <<< " = " <<< tb_rhs + (<<<) file {fun_symb,fun_index,fun_body=TransformedBody {tb_args,tb_rhs},fun_info={fi_free_vars,fi_def_level,fi_calls}} = file <<< fun_symb <<< '@' <<< fun_index + <<< tb_args <<< " = " <<< tb_rhs (<<<) file {fun_symb,fun_body=BackendBody body,fun_type=Yes type} = file <<< type <<< '\n' <<< fun_symb <<< '.' <<< body <<< '\n' (<<<) file {fun_symb,fun_body=NoBody,fun_type=Yes type} = file <<< type <<< '\n' <<< fun_symb <<< '.' @@ -1830,7 +1828,7 @@ where show_expression file (Update expr1 selectors expr2) = file <<< "update" show_expression file (TupleSelect {ds_arity} elem_nr expr) - = file <<< "argument" <<< (elem_nr + 1) <<< " of " <<< ds_arity <<< "-tuple" + = file <<< "argument " <<< (elem_nr + 1) <<< " of " <<< ds_arity <<< "-tuple" show_expression file (BasicExpr bv _) = file <<< bv show_expression file (MatchExpr _ _ expr) @@ -1891,9 +1889,6 @@ where (STE_Module _) = file <<< "STE_Module" (<<<) file - (STE_OpenModule _ _) - = file <<< "STE_OpenModule" - (<<<) file STE_ClosedModule = file <<< "STE_ClosedModule" (<<<) file |