public class TranslateCombinatoric_FBcl
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
TranslateCombinatoric_FBcl.DoutLocal |
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
bAddNewVarLocal
True on adding to varsLocal, used to prevent ConcurrentModificationException.
|
(package private) java.lang.StringBuilder |
expr |
(package private) int |
recursion |
(package private) java.lang.StringBuilder |
statements |
(package private) java.lang.StringBuilder |
sTemp |
(package private) TranslationScripts |
trlScripts |
(package private) java.util.Map<java.lang.String,TranslateCombinatoric_FBcl.DoutLocal> |
varsLocal |
Constructor and Description |
---|
TranslateCombinatoric_FBcl(TranslationScripts trlScripts,
int recursion) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addVariable(java.lang.String name,
Dout_FBcl dout) |
(package private) java.lang.String |
buildExpressionFromDout(java.lang.StringBuilder sExpr,
Dout_FBcl doutSrc,
Module_FBcl mdl,
int recursion)
Builds the maybe complex combinatoric expression through all previous combinatoric FBlocks.
|
(package private) boolean |
genCodeAccess(java.lang.StringBuilder dst,
FBlock_FBcl fb,
long mDin,
long mDout,
Module_FBcl mdl,
OutTextPreparer genCodeRule) |
private java.lang.String |
genExprForDin(Din_FBcl din,
Module_FBcl mdl)
Returns the representing code snippet for the given input.
|
(package private) java.lang.String |
genStatementsForLocalVars(Module_FBcl mdl)
Generates statement for local variables which are used in the expression before.
|
final TranslationScripts trlScripts
final int recursion
java.util.Map<java.lang.String,TranslateCombinatoric_FBcl.DoutLocal> varsLocal
boolean bAddNewVarLocal
java.lang.StringBuilder expr
java.lang.StringBuilder sTemp
java.lang.StringBuilder statements
TranslateCombinatoric_FBcl(TranslationScripts trlScripts, int recursion)
java.lang.String buildExpressionFromDout(java.lang.StringBuilder sExpr, Dout_FBcl doutSrc, Module_FBcl mdl, int recursion)
genExprForDin(Din_FBcl, Module_FBcl)
via genCodeAccess(StringBuilder, FBlock_FBcl, long, long, Module_FBcl, OutTextPreparer)
.doutSrc
- mdl
- boolean genCodeAccess(java.lang.StringBuilder dst, FBlock_FBcl fb, long mDin, long mDout, Module_FBcl mdl, OutTextPreparer genCodeRule)
private java.lang.String genExprForDin(Din_FBcl din, Module_FBcl mdl) throws java.io.IOException
DinType_FBcl#getConstant()
is written there.
TODO maybe convert constants language-specific (suffix "l" for float values in C).
FBlock_FBcl.dout
either that contains a already calculated expression.
That is in a event chain if the FBlock is processed before, especially in a expression wiring.
Then this expression part is used as input value. It should be written in "(...)" already.
With them expressions are built.
FBlock_FBcl.dout
is processed later, this value is used.
The decision that it is an instance variable access is regarded.
din
- mDinOfOperation
- it is the mask for used din pins of this operation, found in the argument list.java.io.IOException
void addVariable(java.lang.String name, Dout_FBcl dout)
java.lang.String genStatementsForLocalVars(Module_FBcl mdl)
mdl
-