Scalarizer Module
Eliminate compound data types (arrays and tuples). - expressions of type (Qtup tyL) are reduced to TupOfExprL[e1,...,en] - select expressions only have constant indices After the reduction, array access and tuple access can be also transformed to new variable names, which is needed to completely eliminate the types from the system description. There are two different algorithms for the expansion of compound types on left-hand sides: The first way makes case distinctions on the index expressions by enumerating the possible indices. The second approach enumerates the possible letues of the variables that occur in the index expressions, which is more efficient, since the knowledge that some variables are fixed to a certain constant is propagated by the substitution(instead of repeating useless case distinctions).
Functions and values
Function or value | Description |
|
|
|
|
|
|
|
|
|
|
|
|
|
scalarize
|
Full Usage:
elimArrExpr expr
Parameters:
'a
Returns: 'b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Full Usage:
elimTupExpr expr
Parameters:
'a
Returns: 'b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|