diff options
author | johnvg | 2010-02-09 10:55:51 +0000 |
---|---|---|
committer | johnvg | 2010-02-09 10:55:51 +0000 |
commit | cc5e30456c1a1fa37376a810faa6114596831d00 (patch) | |
tree | 4afef4e15eeaee01446b0e57e7625eded7075878 /frontend/syntax.dcl | |
parent | generate a new function if a non root case is used of (diff) |
unfold curried producers that are also normal producers if the producer
is used in a curried application of a case expression, to prevent
case's with applications that are be optimized.
Whether the producer is treated as a curried or normal producer is
determined during unfolding, PR_CurriedProducer is
used to mark producers for which this is allowed.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1781 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index a73ab4d..19304b3 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -703,6 +703,7 @@ from convertDynamics import :: TypeCodeVariableInfo, :: DynamicValueAliasInfo VI_TypeCodeVariable !TypeCodeVariableInfo | VI_DynamicValueAlias !DynamicValueAliasInfo | VI_Body !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */ + VI_ExpressionOrBody !Expression !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */ VI_Dictionary !SymbIdent ![Expression] !Type | /* used during fusion */ VI_Extended !ExtendedVarInfo !VarInfo | // MdM @@ -781,6 +782,7 @@ cNonRecursiveAppl :== False | PR_GeneratedFunction !SymbIdent !Int !Index | PR_Curried !SymbIdent !Int | PR_Unused + | PR_CurriedFunction !SymbIdent !Int !Index :: InstanceInfo = II_Empty | II_Node !{! Producer} !FunctionInfoPtr !InstanceInfo !InstanceInfo |