public class FMIMACodeGenerator extends ProceduralCodeGenerator
To generate an FMIMA version of a model, use:
$PTII/bin/ptcg -generatorPackage ptolemy.cg.kernel.generic.program.procedural.fmima \ -generatorPackagelist generic.program.procedural.fmima \ $PTII/ptolemy/cg/kernel/generic/program/procedural/fmima/test/auto/FMUIncScale20RC1pt.xml
NamedObj.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
_pathToSupportFiles
End of line character.
|
_compileCommandDefault, _includes, _libraries, compile, compileCommand, generateEmbeddedCode
_modifiedVariables, _newTypesUsed, _portTypeMap, _portTypeMap2, _portTypeMap3, _portTypeMaxIndex, _portTypeMaxIndex2, _portTypeMaxIndex3, _primitiveTypes, _runCommandDefault, _tokenFuncUsed, _typeFuncUsed, _variablesAsArrays, generateComment, inline, maximumLinesPerBlock, measureTime, sourceLineBinding, useMake, variablesAsArrays, verbosity
_substituteMap, run, runCommand
_codeFileName, _eol, _executeCommands, _generateInSubdirectory, _model, _sanitizedModelName, codeDirectory, generateInSubdirectory, generatorPackage, generatorPackageList, INDENT1, INDENT2, INDENT3, overwriteFiles
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
Constructor and Description |
---|
FMIMACodeGenerator(NamedObj container,
java.lang.String name)
Create a new instance of the FMIMACodeGenerator.
|
Modifier and Type | Method and Description |
---|---|
protected int |
_generateCode(java.lang.StringBuffer code)
Generate FMIMA and append it to the given string buffer.
|
protected java.lang.Class<?> |
_getAdapterClassFilter()
Return the filter class to find adapters.
|
protected void |
_writeMakefile(CompositeEntity container,
java.lang.String currentDirectory)
Read in a template makefile, substitute variables and write
the resulting makefile.
|
java.lang.String |
comment(java.lang.String comment)
Return a formatted comment containing the specified string.
|
java.lang.String |
generateMainEntryCode()
Generate the main entry point.
|
_concatenateElements, _executeCommands, _reset, addInclude, addLibrary, addLibraryIfNecessary, clone, markFunctionCalled
_addActorIncludeDirectories, _addActorLibraries, _analyzeTypeConversions, _codeDirectoryAsFile, _finalPassOverCode, _formatComment, _generateBodyCode, _generateIncludeFiles, _generatePreinitializeCode, _generatePreinitializeMethodBodyCode, _generatePreinitializeMethodEntryCode, _generatePreinitializeMethodExitCode, _generatePreinitializeMethodProcedureName, _generateSharedCode, _getFireFunctionArguments, _instantiateAdapter, _printExecutionTime, _recordStartTime, _setupAdapter, _splitBody, _splitVariableDeclaration, _templateParserClass, _writeVariableDeclarations, addModifiedVariables, attributeChanged, codeGenType, comment, containsCode, generateClosingEntryCode, generateClosingExitCode, generateConstantDefinition, generateFireFunctionCode, generateFireFunctionCompositeEnd, generateFireFunctionCompositeStart, generateFireFunctionMethodInvocation, generateFireFunctionMethodName, generateFireFunctionVariableAndMethodName, generateFireFunctionVariableDeclaration, generateInitializeCode, generateInitializeEntryCode, generateInitializeExitCode, generateInitializeProcedureName, generateLineInfo, generateMainExitCode, generatePackageStatement, generatePortName, generatePostfireCode, generatePostfireEntryCode, generatePostfireExitCode, generatePostfireProcedureName, generatePtIOPortName, generatePtIOPortSize, generatePtTypedCompositeActorName, generatePtTypedCompositeActorSize, generateTypeConvertCode, generateVariableDeclaration, generateVariableInitialization, generateVariableName, generateWrapupCode, generateWrapupEntryCode, generateWrapupExitCode, generateWrapupProcedureName, getModifiedVariables, getTemplateExtension, invokeGenerateUpdatePortOffsets, isPrimitive, isPrimitive, ptolemyType, setModifiedVariables, splitLongBody, splitVariableDeclaration, targetType, updateCommandOptions
_runCommand, _setupCommands, _updateSubstituteMap
_copyCFilesTosrc, _copyCFileTosrc, _getAdapter, _getAutoGeneratedAdapter, _getOutputFilename, _isTopLevel, _printTimeAndMemory, _resetAll, _writeCode, _writeCodeFileName, createDecoratorAttributes, decoratedObjects, generateCode, generateCode, generateCode, generateCopyright, getAdapter, getCodeFileName, getComponent, getExecuteCommands, getMethodExceptionString, getMethodVisibilityString, isGlobalDecorator, main, setCodeGenerator, setContainer, setExecuteCommands
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
description, getContainer, getDisplayName, getFullName, getName, getName, setName
protected java.lang.String _pathToSupportFiles
public FMIMACodeGenerator(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
generic.program.procedural.fmima
container
- The container.name
- The name of the FMIMACodeGenerator.IllegalActionException
- If the super class throws the
exception or error occurs when setting the file path.NameDuplicationException
- If the super class throws the
exception or an error occurs when setting the file path.public java.lang.String comment(java.lang.String comment)
comment
in class ProgramCodeGenerator
comment
- The string to put in the comment.public java.lang.String generateMainEntryCode() throws IllegalActionException
generateMainEntryCode
in class ProgramCodeGenerator
IllegalActionException
- Not thrown in this base class.protected int _generateCode(java.lang.StringBuffer code) throws KernelException
$HOME
, the name of the
model is Foo
and the generatorPackage
is ptolemy.cg.kernel.generic.program.procedural.fmima
, then the file that is
written will be $HOME/Foo.html
This method is the main entry point to generate fmima_generateCode
in class ProgramCodeGenerator
code
- The given string buffer.KernelException
- If the target file cannot be overwritten
or write-to-file throw any exception.protected java.lang.Class<?> _getAdapterClassFilter()
_getAdapterClassFilter
in class GenericCodeGenerator
protected void _writeMakefile(CompositeEntity container, java.lang.String currentDirectory) throws IllegalActionException
See ProceduralCodeGenerator._writeMakefile(CompositeEntity, String)
for a complete list of variables that are substituted.
In this class, the following variables are substituted
@PTCGPPCompiler@
@PTCGCompler@
_writeMakefile
in class ProceduralCodeGenerator
container
- The composite actor for which we generate the makefilecurrentDirectory
- The director in which the makefile is to be written.IllegalActionException
- If there is a problem reading
a parameter, if there is a problem creating the codeDirectory directory
or if there is a problem writing the code to a file.