de.uni_luebeck.isp.tessla.tessla_compiler.backends.rustBackend.preprocessing

Members list

Type members

Classlikes

Specifies a format string.

Specifies a format string.

Attributes

Supertypes
class Object
trait Matchable
class Any

This translation step remaps all identifiers to make them comply with Rust spec.

This translation step remaps all identifiers to make them comply with Rust spec.

  • Underscores are replaced with double underscores. This is done to give single underscores special meaning, since they are then only generated by the other rules here.

  • The '$' character is replaced with '_', because the dollar sign is restricted for use in macros.

  • Rust keywords are prefixed with 'k_'.

  • Any unicode characters that are not in UAX31-R1 are mapped to their hex representation.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def ExtractAndWrapFunctions: TesslaPhase[Specification, Specification]

In this phase, nested functions are unwrapped so that they can call themselves recursively.

In this phase, nested functions are unwrapped so that they can call themselves recursively.

Attributes

def FormatString2Rust: TesslaPhase[Specification, Specification]

This translation step of the Rust backend translates String.format(...) expressions into Rust specific code fulfilling the desired behaviour. Since the Rust format! macro requres the format string to be known at compile time, certain flags have to be handled at (monitor) runtime.

This translation step of the Rust backend translates String.format(...) expressions into Rust specific code fulfilling the desired behaviour. Since the Rust format! macro requres the format string to be known at compile time, certain flags have to be handled at (monitor) runtime.

Attributes

def GenerateStructDefinitions: TesslaPhase[Specification, Specification]

Creates Struct ExternExpression definitions for all unique struct/record types found in the specification These are then used in TesslaCoreToRust to generate the rust structs

Creates Struct ExternExpression definitions for all unique struct/record types found in the specification These are then used in TesslaCoreToRust to generate the rust structs

Attributes

This preprocessing step analyses uses of generic types in extern functions to determine which Rust traits they must possess to allow for using the type with the associated Rust functions or operators

This preprocessing step analyses uses of generic types in extern functions to determine which Rust traits they must possess to allow for using the type with the associated Rust functions or operators

Attributes