public class Prj_FBcl
extends java.lang.Object
stdFBlocks: all common used FBlocks.
idxAllFBlockType all already read library or other modules.
FBtype_FBcl as member.
The String is the type name.| Modifier and Type | Class and Description |
|---|---|
private static class |
Prj_FBcl.CmdCfg |
| Modifier and Type | Field and Description |
|---|---|
OFBconv.CmdArgs |
args |
(package private) boolean |
bLogOperationOfCluster |
private AliasImport_FBcl |
codegenTypeReplace
Contains types generated from any module as key and the real to use type for generated code.
|
static java.lang.String |
dbgNameClass |
static java.lang.String |
dbgNameOperation |
static java.lang.String |
dbgNameStepOperation |
static java.lang.String |
debugBlock |
static java.lang.String |
debugBlockGlobalNameTypePropagation |
static java.lang.String |
debugBlockname_toProcess |
static java.lang.String |
debugBlockNameInLib_ReplaceConnections |
static java.lang.String |
debugBlocknameSortBlocks |
static java.lang.String |
debugBlockNameTypePropagation |
static java.lang.String |
debugCallBlockForTranslation |
static java.lang.String |
debugClassForTranslation |
static java.lang.String |
debugConNameGenExpr |
static java.lang.String |
debugCreateBlockOfOperations |
static java.lang.String |
debugGenJavaOperationname |
static java.lang.String |
debugLibBlock |
static java.lang.String |
debugLibBlockLibName |
static java.lang.String |
debugModuleForTranslation |
static java.lang.String |
debugModuleNamePrepareFromSlx |
static java.lang.String |
debugModuleNameTypePropagation |
static java.lang.String |
debugNameClassVar |
static java.lang.String |
debugNameOutblockPart |
static java.lang.String |
debugNameOutVariable |
static java.lang.String |
debugNamePredefBlock |
static java.lang.String |
debugNameTypePropSubmodule |
static java.lang.String |
debugSignalnameOutportCompleteFBlock_Operation |
static java.lang.String |
debugSlxBlockType |
static java.lang.String |
debugSlxLineName |
static java.lang.String |
debugSlxName |
static java.lang.String |
debugSlxName2 |
static java.lang.String |
debugSubmodulename_toSearchAndTranslate |
(package private) java.lang.Exception |
excLog |
private int |
exitCode |
WriterFBCL |
fbclWriter |
private FBtype_FBcl.Ctor |
fBlockType_ctor
This is an agent instance to access to the protected ctor of
FBtype_FBcl. |
java.util.Map<java.lang.String,FBtype_FBcl> |
idxAllFBlockType
All library blocks should be translated first or read from an interface file.
|
java.util.Map<java.lang.String,FBlock_FBcl> |
idxCodegenDoneFB
Storage for all Modules which are code generated already.
|
java.util.Map<java.lang.String,FBlock_FBcl> |
idxCodegenFB
Storage for all FBlocks for which code generation should do for a specific FBlock environment.
|
java.util.Map<java.lang.String,Module_FBcl> |
idxModulesDTypesNonDeterministic
Storage for all translated modules with non deterministic DTypes.
|
java.util.Map<java.lang.String,Write_Module_FBwr> |
idxWriteModules
Storage for all already read and converted sub modules working in progress (... to write).
|
java.util.List<java.lang.String> |
listInclude |
LogMessage |
log |
int |
maxRecursionSubmodule |
Module_FBcl |
mdlPrj |
(package private) int |
nIdent |
ReaderFBcl |
readerFBcl
All library blocks should be translated first or read from an interface file (TODO).
|
(package private) java.lang.String |
sIdent |
private static Prj_FBcl |
singleton |
StdLibFBlocks_FBcl |
stdFBlocks |
(package private) java.lang.StringBuilder |
sTranslationInfo
The default data type for all not determined inputs, which are open.
|
TranslationScripts |
trlScripts |
java.util.Map<java.lang.String,DType_FBcl> |
userDataTypes
User data types are not presented by a FBlock.
|
java.util.Map<java.lang.String,DTypeBase_FBcl> |
userDTypeBase
User data types are not presented by a FBlock.
|
WriterDataFBcl |
wrDataFBcl |
WriterFBclData |
wrFBclData |
WriterCodegen |
writerCodegen |
| Constructor and Description |
|---|
Prj_FBcl(LogMessage cmdlog,
OFBconv.CmdArgs args)
Constructor for the singleton project data of the translator.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCodegenCfgCommon(java.lang.String sNameModule,
java.lang.String sKind,
java.lang.String sImportPath)
Adds the own header of the module to the project wide alias-header-
codegenTypeReplace
So that usage of this Module FBtype imports the header. |
void |
close() |
(package private) void |
dataTypeError(DinoutType_FBcl con1,
DinoutType_FBcl con2) |
void |
errorMsg(java.lang.String msg,
java.lang.Object... params) |
void |
errorMsgAdd(java.lang.String msg,
java.lang.Object... params) |
AliasImport_FBcl |
getCodegenCfgCommon() |
FBtype_FBcl |
getCreateFBlockType(FBlock_FBcl.Blocktype kind,
java.lang.String name,
Module_FBcl mdl,
java.lang.String sDefiningMdl)
Gets an already created FBlockType or creates an empty new one.
|
DType_FBcl |
getCreateUserDataType(FBtype_FBcl fbref)
Gets or creates a reference type associated to a
FBtype_FBcl |
DTypeBase_FBcl |
getCreateUserDType(java.lang.String name) |
DType_FBcl |
getCreateUserStructType(FBtype_FBcl fbref)
Gets or creates a structure type associated to a
FBtype_FBcl |
int |
getExitCode() |
FBtype_FBcl |
getFBlockType(java.lang.String name)
Gets an already created FBlockType or returns null.
|
FBtype_FBcl |
getTypeFB(java.lang.String name) |
void |
infoMsg(java.lang.String msg,
java.lang.Object... params) |
DType_FBcl.DtIxfb |
OnlySlx_getCreateDataType(java.lang.String sDType,
java.lang.String sDTypeKey,
int[] sizeArray)
Deprecated.
|
static void |
readCodegenCfg(AliasImport_FBcl codegenTypeReplace,
java.io.File fileCfg,
LogMessage log) |
private static void |
readCodegenCfgImportline(java.lang.String sLine,
int start,
int end,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> imports) |
void |
readCommonCfg(java.util.List<java.io.File> listFileCfg) |
void |
readSpecificLibFiles()
Reads that files which are specific named by command line args,
especially -ifbd:path/to*file.fbd to read IEC61499 source files which describes the interface to S-Functions in target language.
|
void |
setExitCode(int level) |
static Prj_FBcl |
singleton() |
void |
throwModelError(FBlock_FBcl block,
DinoutType_FBcl con,
java.lang.String nameConn,
java.lang.String msg) |
void |
writeError(java.lang.String error,
java.lang.Exception exc)
Central routine to write any error message.
|
void |
writeTranslationInfo(java.lang.String error) |
DType_FBcl |
XXXgetCreateUserDataType(java.lang.String sType)
Deprecated.
see
Write_Module_FBwr.getCreateDType(String)
The module should manage all specific data types. |
private static Prj_FBcl singleton
public final TranslationScripts trlScripts
public final OFBconv.CmdArgs args
private int exitCode
public final StdLibFBlocks_FBcl stdFBlocks
public final java.util.List<java.lang.String> listInclude
private AliasImport_FBcl codegenTypeReplace
public final java.util.Map<java.lang.String,Module_FBcl> idxModulesDTypesNonDeterministic
public final java.util.Map<java.lang.String,Write_Module_FBwr> idxWriteModules
public final java.util.Map<java.lang.String,FBlock_FBcl> idxCodegenFB
public final java.util.Map<java.lang.String,FBlock_FBcl> idxCodegenDoneFB
public java.util.Map<java.lang.String,FBtype_FBcl> idxAllFBlockType
public java.util.Map<java.lang.String,DType_FBcl> userDataTypes
public java.util.Map<java.lang.String,DTypeBase_FBcl> userDTypeBase
public final ReaderFBcl readerFBcl
public final WriterFBCL fbclWriter
public final WriterCodegen writerCodegen
public final WriterDataFBcl wrDataFBcl
public final WriterFBclData wrFBclData
public final Module_FBcl mdlPrj
java.lang.StringBuilder sTranslationInfo
public final LogMessage log
java.lang.Exception excLog
public int maxRecursionSubmodule
public static java.lang.String debugNamePredefBlock
public static java.lang.String debugSlxBlockType
public static java.lang.String debugSlxName
public static java.lang.String debugSlxLineName
public static java.lang.String debugSlxName2
public static java.lang.String debugModuleNamePrepareFromSlx
public static java.lang.String debugNameTypePropSubmodule
public static java.lang.String debugLibBlock
public static java.lang.String debugCallBlockForTranslation
public static java.lang.String debugClassForTranslation
public static java.lang.String debugModuleForTranslation
public static java.lang.String debugLibBlockLibName
public static java.lang.String debugBlockNameTypePropagation
public static java.lang.String debugBlockGlobalNameTypePropagation
public static java.lang.String debugModuleNameTypePropagation
public static java.lang.String debugConNameGenExpr
public static java.lang.String debugBlockname_toProcess
public static java.lang.String debugSubmodulename_toSearchAndTranslate
public static java.lang.String debugBlockNameInLib_ReplaceConnections
public static java.lang.String debugBlocknameSortBlocks
public static java.lang.String debugSignalnameOutportCompleteFBlock_Operation
public static java.lang.String debugGenJavaOperationname
public static java.lang.String debugCreateBlockOfOperations
public static java.lang.String debugNameOutVariable
public static java.lang.String debugNameOutblockPart
public static java.lang.String debugNameClassVar
public static java.lang.String debugBlock
public static java.lang.String dbgNameStepOperation
public static java.lang.String dbgNameClass
public static java.lang.String dbgNameOperation
boolean bLogOperationOfCluster
java.lang.String sIdent
int nIdent
private FBtype_FBcl.Ctor fBlockType_ctor
FBtype_FBcl.
Only inside this Prj_FBcl FBlockType instances should be cretated and also registered.
The only operation is #getCreateFBlockType(String).public Prj_FBcl(LogMessage cmdlog,
OFBconv.CmdArgs args)
throws java.text.ParseException,
java.lang.InstantiationException,
java.io.IOException
args - command line calling arguments, are filled already.fileLog - java.text.ParseExceptionjava.lang.InstantiationExceptionjava.io.IOExceptionpublic static Prj_FBcl singleton()
public void setExitCode(int level)
public int getExitCode()
public void readCommonCfg(java.util.List<java.io.File> listFileCfg)
public AliasImport_FBcl getCodegenCfgCommon()
public static void readCodegenCfg(AliasImport_FBcl codegenTypeReplace, java.io.File fileCfg, LogMessage log)
public void addCodegenCfgCommon(java.lang.String sNameModule,
java.lang.String sKind,
java.lang.String sImportPath)
codegenTypeReplace
So that usage of this Module FBtype imports the header.sNameModule - identifier of the FBtype is the name of the module.sKind - kind of header for key in AliasImport_FBcl.Elem#importsTypesImportPath - The path as should be used in relation with the sKind.private static void readCodegenCfgImportline(java.lang.String sLine,
int start,
int end,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> imports)
public void readSpecificLibFiles()
public void writeTranslationInfo(java.lang.String error)
@Deprecated public DType_FBcl XXXgetCreateUserDataType(java.lang.String sType)
Write_Module_FBwr.getCreateDType(String)
The module should manage all specific data types.sType - public DType_FBcl getCreateUserDataType(FBtype_FBcl fbref)
FBtype_FBclfbref - given FBtype_FBclpublic DType_FBcl getCreateUserStructType(FBtype_FBcl fbref)
FBtype_FBclfbref - given FBtype_FBclpublic DTypeBase_FBcl getCreateUserDType(java.lang.String name)
@Deprecated public DType_FBcl.DtIxfb OnlySlx_getCreateDataType(java.lang.String sDType, java.lang.String sDTypeKey, int[] sizeArray)
DType_FBcl.getStdType(String).
If not successfull, firstsDType - sizeArray - public FBtype_FBcl getCreateFBlockType(FBlock_FBcl.Blocktype kind, java.lang.String name, Module_FBcl mdl, java.lang.String sDefiningMdl)
name - kind - FBlock_FBcl.Blocktype.Libmodulemdl - public FBtype_FBcl getFBlockType(java.lang.String name)
name - void dataTypeError(DinoutType_FBcl con1, DinoutType_FBcl con2)
public void throwModelError(FBlock_FBcl block, DinoutType_FBcl con, java.lang.String nameConn, java.lang.String msg)
public FBtype_FBcl getTypeFB(java.lang.String name)
public void writeError(java.lang.String error,
java.lang.Exception exc)
error - exc - if not null build a ExcUtil#exceptionInfo(CharSequence, Throwable, int, int).public void errorMsg(java.lang.String msg,
java.lang.Object... params)
public void errorMsgAdd(java.lang.String msg,
java.lang.Object... params)
public void infoMsg(java.lang.String msg,
java.lang.Object... params)
public void close()
throws java.io.IOException
java.io.IOException