aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2007-09-11 11:10:44 +0000
committerjohnvg2007-09-11 11:10:44 +0000
commit8eeaab93970820ff9fce74e322175daea10b302a (patch)
treec50aab143e8ca52b71e61e1348eb92f16d713645 /frontend/syntax.dcl
parentrename NormalSelectorUniqueElementResult as UniqueSelectorUniqueElementResult, (diff)
make a![i] unique in yielded element if the yielded array is used only by
{a & [i]= } expressions, instead of [i] a sequence of record and array selections may be used. ending with an array selection git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1687 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl7
1 files changed, 6 insertions, 1 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index 3bdedff..61715b4 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -558,7 +558,7 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
:: TypeDefInfos :== {# .{# TypeDefInfo}}
:: FunType =
- { ft_ident :: !Ident
+ { ft_ident :: !Ident
, ft_arity :: !Int
, ft_priority :: !Priority
, ft_type :: !SymbolType
@@ -685,9 +685,14 @@ from convertDynamics import :: TypeCodeVariableInfo, :: DynamicValueAliasInfo
VI_Occurrence !Occurrence | VI_UsedVar !Ident |
VI_Expression !Expression | VI_Variable !Ident !VarInfoPtr | VI_LiftedVariable !VarInfoPtr |
VI_Count !Int /* the reference count of a variable */ !Bool /* true if the variable is global, false otherwise */ |
+ VI_Ref !Bool /* true if the variable is global, false otherwise */ |
VI_AccVar !ConsClass !ArgumentPosition /* used during fusion to determine accumulating parameters of functions */ |
VI_Alias !BoundVar /* used for resolving aliases just before type checking (in transform) */ |
/* used during elimination and lifting of cases */
+ VI_RefFromTupleSel0 !Int |
+ VI_RefFromArrayUpdate !Int ![Selection] |
+ VI_RefFromArrayUpdateToTupleSelector2 !Int ![Selection] !VarInfoPtr |
+ VI_RefFromArrayUpdateOfTupleElem2 !Int ![Selection] |
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 */