Modema/System runtime language package

Library documentation for Modema/System runtime language package.

Workspaces:

  • Modema::RuntimeLang:{main}:

Modema::RuntimeLang:{main}:

Library documentation for Modema::RuntimeLang:{main}: workspace.

[repr] #AttributeList

Attribute list type.

Base classes:

  • Modema:{main}:#Resource

Members:

  • attributes: Store::Set<Data::String>

[repr] #Keywords

Keyword resource type.

Base classes:

  • Modema:{main}:Resource

Members:

  • list: Store::Set<Data::String>

[trans] CheckFeatures

Check features for language transformations.

Members:

  • data: FeatureData

Methods:

  • [mth] onResult ()

  • key <%Group::Class%>

  • key <%Group::Representation%>

  • key <%Group::TemplateClass%>

  • key <%Group::TemplateFunction%>

  • key <%Group::TemplateMethod%>

  • key <%Transform::Main%>

  • key <%Group::Method%>

  • key <%Code::Catch%>

  • key <%Code::Throw%>

[trans] CheckParametersPass

Check parameter pass transform.

[trans] CodingStyle

Code style processing methods.

Members:

  • indentPosition: Data::Int32

  • output: System::GenericBuffer

  • tabulator: Data::String

Methods:

  • [mth] space ()

  • [mth] putPattern (Data::String format)

  • [mth] indent ()

  • [mth] subindent ()

[clss] FeatureData

Code features.

Members:

  • hasClass: Data::Bool

  • hasException: Data::Bool

  • hasMethod: Data::Bool

  • hasRepresentation: Data::Bool

  • hasTemplate: Data::Bool

  • hasTransform: Data::Bool

  • hasVirtualMethod: Data::Bool

[res] GenericAttributes

Generic attribute list.

[fn] GetNameSpaceDefinitions(Node node)

Get namespace and workspace definitions for source file generation.

[fn] GetNameSpaceDefinitionsFromName(Data::String nameSpace)

Get namespace and workspace definitions for source file generation.

[res] MemberAttributes

Member attribute list.

[trans] ModemaLang2Text

Modema/Lang runtime to text transformation.

Members:

  • buffer: System::MemoryBuffer

  • info: Transform::CodeInformation

  • keywordPrefix: Data::String

  • nameStack: Store::Vector<Data::String>

  • options: ModemaLangTextOptions

  • style: ModemaLangCodingStyle

Methods:

  • constructor ()

  • destructor ()

  • [mth] onResult ()

  • [mth] putIndent ()

  • [mth] pushNameStack (Data::String name)

  • [mth] popNameStack (Data::String name)

  • [mth] putLocalName (Data::String name)

  • [mth] addIndentPrefix (Data::String data)

  • [mth] putAttribute (Node node)

  • [mth] putCompactAttribute (Node node)

  • [mth] putParameterType (Code::ParameterType p)

  • [mth] putParameter (Code::Parameter p)

  • [mth] putVariables (Code::Variables variables)

  • key <%Group::Unit%>

  • key <%System::Project%>

  • key <%Group::Workspace%>

  • key <%Group::Class%>

  • key <%Group::TemplateClass%>

  • key <%Group::Enum%>

  • key <%Group::Generator%>

  • key <%Group::Representation%>

  • key <%Group::EntryPoint%>

  • key <%Group::Function%>

  • key <%Group::TemplateFunction%>

  • key <%System::Parser%>

  • key <%Group::DomainData%>

  • key <%System::Resource%>

  • key <%Transform::Main%>

  • key <%Transform::Validator%>

  • key <%Meta::Triplets%>

  • key <%Meta::Funclets%>

  • Unit: <%Group::Unit%> key

  • Workspace: <%Group::Workspace%> key

  • Project: <%System::Project%> key

  • Representation: <%Group::Representation%> key

  • Class: <%Group::Class%> key

  • TemplateClass: <%Group::TemplateClass%> key

  • EntryPoint: <%Group::EntryPoint%> key

  • Method: <%Group::Method%> key

  • key <%Group::TemplateMethod%>

  • Function: <%Group::Function%> key

  • TemplateFunction: <%Group::TemplateFunction%> key

  • key <%Group::Constructor%>

  • key <%Group::Destructor%>

  • key <%Query::Main%>

  • Enum: <%Group::Enum%> key

  • Generator: <%Group::Generator%> key

  • Parser: <%System::Parser%> key

  • DomainData: <%Group::DomainData%> key

  • Resource: <%System::Resource%> key

  • Transform: <%Transform::Main%> key

  • Validator: <%Transform::Validator%> key

  • key <%Transform::Key%>

  • key <%Transform::Slot%>

  • key <%Transform::SlotUse%>

  • key <%Transform::Pattern%>

  • Triplets: <%Meta::Triplets%> key

  • Funclets: <%Meta::Funclets%> key

  • key <%Code::Lambda%>

  • key <%Code::BinaryOperator%>

  • CodeBlock: <%Code::Block%> key

  • key <%Code::Assert%>

  • key <%Code::Break%>

  • key <%Code::Case%>

  • key <%Code::CaseGroup%>

  • key <%Code::CaseDefault%>

  • key <%Code::Comment%>

  • key <%Code::Continue%>

  • Expression: <%Code::Expression%> key

  • key <%Code::For%>

  • key <%Code::Foreach%>

  • key <%Code::If%>

  • key <%Code::IfElse%>

  • key <%Code::Else%>

  • Link: <%Code::Link%> key

  • key <%Code::MultiOperator%>

  • key <%Code::Return%>

  • key <%Code::Switch%>

  • key <%Code::Try%>

  • key <%Code::Catch%>

  • DataSerialize: <%Code::DataSerialize%> key

  • Path: <%Code::Path%> key

  • key <%Code::StringFormat%>

  • key <%Code::UnaryOperator%>

  • key <%Code::Until%>

  • VariableDeclare: <%Code::VariableDeclare%> key

  • key <%Code::VariableDeclareList%>

  • key <%Code::While%>

  • key <%Code::Separator%>

  • key <%Meta::Data1%>

  • key <%Meta::Data2%>

  • key <%Meta::Data3%>

  • key <%Meta::BNode%>

  • key <%Meta::Identifier%>

  • key <%Meta::Iri%>

  • key <%Meta::Functional%>

  • key <%Meta::FunctionalTerm%>

  • key <%Store::BitStore%>

  • key <%Store::List%>

  • key <%Store::Map%>

  • key <%Store::MultiMap%>

  • key <%Store::MultiSet%>

  • key <%Store::Set%>

  • key <%Store::Single%>

  • key <%Store::Pair%>

  • key <%Store::Vector%>

  • key <%Data::BinaryArray%>

  • key <%Data::String%>

  • key <%Data::LangString%>

  • key <%Data::Char%>

  • key <%Data::Int8%>

  • key <%Data::UnsignedInt8%>

  • key <%Data::Int16%>

  • key <%Data::UnsignedInt16%>

  • key <%Data::Int32%>

  • key <%Data::UnsignedInt32%>

  • key <%Data::Int64%>

  • key <%Data::UnsignedInt64%>

  • key <%Data::Bool%>

  • key <%Data::Float%>

  • key <%Data::Double%>

  • key <%Data::Complex%>

  • key <%Data::Null%>

  • key <%Data::Invalid%>

[clss] ModemaLangCodingStyle

Modema/Lang’s default coding style.

Members:

  • putIfAfterElse: Data::Bool

  • singleLineCondition: Data::Bool

    Put single line conditions.

  • spaceAfterAttribute: Data::String

    Space after attribute.

  • spaceAfterCase: Data::String

    Space after the «case» statement.

  • spaceAfterClass: Data::String

    Space after the class declaration.

  • spaceAfterDo: Data::String

    Space after the «do» statement.

  • spaceAfterExpression: Data::String

    Space after the expression declaration.

  • spaceAfterFor: Data::String

    Space after the «for» statement.

  • spaceAfterFunction: Data::String

    Space after the function declaration.

  • spaceAfterIf: Data::String

    Space after the «if» statement.

  • spaceAfterOperator: Data::String

    Space after the operator declaration.

  • spaceAfterSwitch: Data::String

    Space after the «switch» statement.

  • spaceAfterWhile: Data::String

    Space after the «while» statement.

  • spaceBeforeArgument: Data::String

    Space before the argument declaration.

  • spaceBeforeExpression: Data::String

    Space before the expression declaration.

  • spaceBeforeFor: Data::String

    Space before the «for» statement.

  • spaceBeforeIf: Data::String

    Space before the «if» statement.

  • spaceBeforeOperator: Data::String

    Space before the operator declaration.

  • spaceBeforeWhile: Data::String

    Space before the «while» statement.

  • spaceBetweenCases: Data::Bool

    Space between the case declarations.

  • spaceInLinkParameter: Data::Bool

    Space in the link parameter declaration and parentheses.

  • tab: Data::String

    Tabulator style.

[clss] ModemaLangTextOptions

Modema/Lang to text processing options.

Members:

  • interfaceMode: Data::Bool

  • showEmptyFunctions: Data::Bool

  • showLocation: Data::Bool

[valid] ModemaLangValidator

Modema/Lang runtime validator.

Members:

  • data: ValidatorData

  • genericAttributes: Store::Set<Data::String>

  • info: Transform::CodeInformation

  • memberAttributes: Store::Set<Data::String>

  • parameterAttributes: Store::Set<Data::String>

  • status: Data::Bool

  • universalAttributes: Store::Set<Data::String>

Methods:

  • constructor ()

  • destructor ()

  • [mth] onResult ()

  • [mth] checkName (Node node)

  • [mth] checkAttributes (Node node)

  • [mth] checkZeroAttribute (Node node)

  • [mth] checkParameter (Code::Parameter p)

  • [mth] checkParameterType (Code::ParameterType p)

  • [mth] checkVariables (Code::Variables variables)

  • key <%Group::Unit%>

  • key <%System::Project%>

  • key <%Group::Workspace%>

  • key <%Group::Class%>

  • key <%Group::TemplateClass%>

  • key <%Group::Enum%>

  • key <%Group::Generator%>

  • key <%Group::Representation%>

  • key <%Group::EntryPoint%>

  • key <%Group::Function%>

  • key <%Group::TemplateFunction%>

  • key <%System::Parser%>

  • key <%Group::DomainData%>

  • key <%System::Resource%>

  • key <%Transform::Main%>

  • key <%Transform::Validator%>

  • key <%Meta::Triplets%>

  • key <%Meta::Funclets%>

  • Unit: <%Group::Unit%> key

  • Workspace: <%Group::Workspace%> key

  • Project: <%System::Project%> key

  • Representation: <%Group::Representation%> key

  • Class: <%Group::Class%> key

  • TemplateClass: <%Group::TemplateClass%> key

  • EntryPoint: <%Group::EntryPoint%> key

  • key <%Group::Method%>

  • key <%Group::TemplateMethod%>

  • Function: <%Group::Function%> key

  • TemplateFunction: <%Group::TemplateFunction%> key

  • key <%Group::Constructor%>

  • key <%Group::Destructor%>

  • Query: <%Query::Main%> key

  • Enum: <%Group::Enum%> key

  • Generator: <%Group::Generator%> key

  • Parser: <%System::Parser%> key

  • DomainData: <%Group::DomainData%> key

  • Resource: <%System::Resource%> key

  • Transform: <%Transform::Main%> key

  • Validator: <%Transform::Validator%> key

  • key <%Transform::Key%>

  • key <%Transform::Slot%>

  • key <%Transform::SlotUse%>

  • key <%Transform::Pattern%>

  • Triplets: <%Meta::Triplets%> key

  • Funclets: <%Meta::Funclets%> key

  • CodeBlock: <%Code::Block%> key

  • key <%Code::BinaryOperator%>

  • key <%Code::Break%>

  • key <%Code::Call%>

  • key <%Code::Case%>

  • key <%Code::CaseGroup%>

  • key <%Code::CaseDefault%>

  • key <%Code::Comment%>

  • key <%Code::Continue%>

  • key <%Code::Expression%>

  • key <%Code::For%>

  • key <%Code::Foreach%>

  • key <%Code::If%>

  • key <%Code::IfElse%>

  • key <%Code::Else%>

  • key <%Code::Link%>

  • key <%Code::MultiOperator%>

  • key <%Code::Return%>

  • key <%Code::Switch%>

  • key <%Code::Try%>

  • key <%Code::Catch%>

  • key <%Code::DataSerialize%>

  • key <%Code::Path%>

  • key <%Code::StringFormat%>

  • key <%Code::UnaryOperator%>

  • key <%Code::Until%>

  • key <%Code::VariableDeclare%>

  • key <%Code::VariableDeclareList%>

  • key <%Code::While%>

  • key <%Code::Separator%>

  • key <%Meta::Data1%>

  • key <%Meta::Data2%>

  • key <%Meta::Data3%>

  • key <%Meta::BNode%>

  • key <%Meta::Identifier%>

  • key <%Meta::Iri%>

  • key <%Meta::Functional%>

  • key <%Meta::FunctionalTerm%>

  • key <%Store::BitStore%>

  • key <%Store::List%>

  • key <%Store::Map%>

  • key <%Store::MultiMap%>

  • key <%Store::MultiSet%>

  • key <%Store::Set%>

  • key <%Store::Single%>

  • key <%Store::Pair%>

  • key <%Store::Vector%>

  • key <%Data::BinaryArray%>

  • key <%Data::String%>

  • key <%Data::LangString%>

  • key <%Data::Char%>

  • key <%Data::Int8%>

  • key <%Data::UnsignedInt8%>

  • key <%Data::Int16%>

  • key <%Data::UnsignedInt16%>

  • key <%Data::Int32%>

  • key <%Data::UnsignedInt32%>

  • key <%Data::Int64%>

  • key <%Data::UnsignedInt64%>

  • key <%Data::Bool%>

  • key <%Data::Float%>

  • key <%Data::Double%>

  • key <%Data::Complex%>

  • key <%Data::Null%>

  • key <%Data::Invalid%>

[res] ParameterAttributes

Parameter attribute list.

[res] RuntimeKeywords

Modema/Lang runtime keyword list.

[res] UniversalAttributes

Universal attribute list.

[clss] ValidatorData

Validator data for processing.

Members:

  • allowExceptions: Data::Bool

  • allowNodeVariable: Data::Bool

  • allowTypelessStore: Data::Bool

  • customAttributes: Store::Set<Data::String>

  • maxBaseClasses: Data::UnsignedInt64