aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2010-02-09 10:55:51 +0000
committerjohnvg2010-02-09 10:55:51 +0000
commitcc5e30456c1a1fa37376a810faa6114596831d00 (patch)
tree4afef4e15eeaee01446b0e57e7625eded7075878 /frontend/syntax.dcl
parentgenerate 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.dcl2
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