aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2009-07-28 11:25:53 +0000
committerjohnvg2009-07-28 11:25:53 +0000
commit7e0de1e51419226c6eca28850d4426b1fff28b0b (patch)
tree4715f52e5825ffe02bcc7ade77d8cdd582f15ae0 /frontend/syntax.dcl
parentprevent compiler crash if a dynamic type contains a type constructor variable, (diff)
create new fv_info_ptr's for strict lets in distributeLets, because otherwise
backendpreprocess may number variables incorrectly, causing a crash in backend.dll, renamed VI_CaseVar to VI_CaseOrStrictLetVar git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1744 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl15
1 files changed, 3 insertions, 12 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index 2d9b36e..6ce6385 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -690,7 +690,8 @@ from convertDynamics import :: TypeCodeVariableInfo, :: DynamicValueAliasInfo
VI_FreeVar !Ident !VarInfoPtr !Int !AType | VI_BoundVar !AType | VI_LocalVar |
VI_ClassVar !Ident !VarInfoPtr !Int | /* to hold dictionary variables during overloading */
VI_ForwardClassVar !VarInfoPtr | /* to hold the dictionary variable generated during overloading */
- VI_Forward !BoundVar | VI_LetVar !LetVarInfo | VI_LetExpression !LetExpressionInfo | VI_CaseVar !VarInfoPtr |
+ VI_Forward !BoundVar | VI_LetVar !LetVarInfo | VI_LetExpression !LetExpressionInfo |
+ VI_CaseOrStrictLetVar !VarInfoPtr |
VI_CorrespondenceNumber !Int | /* it is assumed that this alternative is _only_ used in module comparedefimp */
VI_SequenceNumber !Int | VI_AliasSequenceNumber !BoundVar |
VI_Used | /* for indicating that an imported function has been used */
@@ -706,7 +707,7 @@ from convertDynamics import :: TypeCodeVariableInfo, :: DynamicValueAliasInfo
// MdM
VI_CPSExprVar !CheatCompiler /* a pointer to a variable in CleanProverSystem is stored here, using a cast */
// ... MdM
- | VI_Labelled_Empty {#Char} // RWS debugging
+ | VI_Labelled_Empty !{#Char} // RWS debugging
| VI_LocalLetVar // RWS, mark Let vars during case transformation
:: ExtendedVarInfo = EVI_VarType !AType
@@ -851,7 +852,6 @@ cNonRecursiveAppl :== False
:: ExtendedExprInfo
= EEI_ActiveCase !ActiveCaseInfo
-
:: ActiveCaseInfo =
{ aci_params :: ![FreeVar]
, aci_opt_unfolder :: !(Optional SymbIdent)
@@ -860,15 +860,6 @@ cNonRecursiveAppl :== False
, aci_safe :: !Bool
}
-
-/*
-:: UnboundVariable =
- { free_name :: !Ident
- , free_info_ptr :: !VarInfoPtr
- , free_selections :: ![Int]
- }
-*/
-
/*
OverloadedCall contains (type) information about functions that are overloaded. This structure is built during type checking
and used after (standard) unification to insert the proper instances of the corresponding functions.