aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.icl')
-rw-r--r--frontend/syntax.icl29
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