lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.generator.c.CModesGenerator Class Reference

Generates C code to support modal models. More...

Static Public Member Functions

static void generateDeclarations (Reactor reactor, CodeBuilder body, CodeBuilder constructorCode)
 Generate fields in the self struct for mode instances.
static void generateModeStructure (ReactorInstance instance, CodeBuilder code)
 Generate code for modal reactor registration and hierarchy.
static String generateStateResetStructure (ReactorInstance instance, String modeRef, String selfRef, String varName, String source, String type)
 Generate code registering a state variable for automatic reset.

Detailed Description

Generates C code to support modal models.

Author
Edward A. Lee
Alexander Schulz-Rosengarten
Hou Seng Wong

Member Function Documentation

◆ generateDeclarations()

void org.lflang.generator.c.CModesGenerator.generateDeclarations ( Reactor reactor,
CodeBuilder body,
CodeBuilder constructorCode )
static

Generate fields in the self struct for mode instances.

Parameters
reactor
body
constructorCode

◆ generateModeStructure()

void org.lflang.generator.c.CModesGenerator.generateModeStructure ( ReactorInstance instance,
CodeBuilder code )
static

Generate code for modal reactor registration and hierarchy.

Parameters
instanceThe reactor instance.
codeThe code builder.

◆ generateStateResetStructure()

String org.lflang.generator.c.CModesGenerator.generateStateResetStructure ( ReactorInstance instance,
String modeRef,
String selfRef,
String varName,
String source,
String type )
static

Generate code registering a state variable for automatic reset.

Parameters
instanceThe reactor instance.
modeRefThe code to refer to the mode
selfRefThe code to refer to the self struct
varNameThe variable name in the self struct
sourceThe variable that stores the initial value
typeThe size of the initial value

The documentation for this class was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/generator/c/CModesGenerator.java