Details of the CodeGeneration Package
Basic Information
Description
List of CodeGeneration Package Commands
Examples
This help page contains complete information about the CodeGeneration package. For basic information on the CodeGeneration package, see the CodeGeneration help page.
The CodeGeneration package is a collection of commands and subpackages that enable the translation of Maple code to other languages. The exports of this package fall into two categories: translators to specific target languages and commands that allow the user to extend the translation facility.
The translators available are C, CSharp, Fortran, Java, Julia, Matlab, Perl, Python, R, Swift, and VisualBasic. For a description of options common to all these commands, see the CodeGenerationOptions help page. For a description of special features and limitations of the CodeGeneration package that are relevant to all these target languages, see the TranslationDetails help page.
Using the Translate command and the LanguageDefinition subpackage, you can extend the translation capabilities of the CodeGeneration package to new programming languages. For an overview of this process, see the LanguageDefinition overview help page.
You can generate code using an interactive template with the Code Generation Assistant.
Each command in the CodeGeneration package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
The long form, CodeGeneration:-command, is always available. The short form can be used after loading the package.
The following is a list of available commands and subpackages.
C
CSharp
Fortran
IntermediateCode
Java
JavaScript
Julia
Matlab
Perl
Python
R
Save
Swift
Translate
VisualBasic
To display the help page for a particular CodeGeneration command, see Getting Help with a Command in a Package.
with⁡CodeGeneration
C,CSharp,Fortran,IntermediateCode,Java,JavaScript,Julia,LanguageDefinition,Matlab,Names,Perl,Python,R,Save,Swift,Translate,VisualBasic
Generate C code and declare variable types.
C⁡x−3⁢y⁢z,declare=x::numeric,y::integer,z::numeric
cg = -0.3e1 * (double) y * z + x;
Generate MATLAB(R) code where the output is a string.
Matlab⁡x,2⁢y+z,x⁢y,z,output=string
cg0 = [x 2 * y + z; x * y z;];
Generate Fortran code and specify single precision for floating-point variables and constants.
f:= proc(x) return x^2; end proc:
Fortran⁡f,precision=single
real function f (x) real x f = x ** 2 return end
Generate Visual Basic code
VisualBasic⁡s=1.0+x,t=ln⁡s⁢exp⁡−x,r=exp⁡−x+x⁢t
s = 0.10E1 + x t = Log(s) * Exp(-x) r = Exp(-x) + x * t
See Also
CodeGenerationOptions
examples/CodeGeneration
LanguageDefinition
module
TranslationDetails
UsingPackages
with
Download Help Document