Class: KipperTargetSemanticAnalyser
compiler.KipperTargetSemanticAnalyser
Represents a Semantic analyser that is specific for a KipperCompileTarget.
Since
0.10.0
Hierarchy
-
↳
KipperTargetSemanticAnalyser
Table of contents
Constructors
Properties
- additiveExpression
- arrayPrimaryExpression
- assignmentExpression
- bitwiseAndExpression
- bitwiseOrExpression
- bitwiseShiftExpression
- bitwiseXorExpression
- boolPrimaryExpression
- castOrConvertExpression
- col
- compoundStatement
- conditionalExpression
- ctx
- doWhileLoopIterationStatement
- equalityExpression
- expressionStatement
- fStringPrimaryExpression
- filePath
- forLoopIterationStatement
- functionCallExpression
- functionDeclaration
- genericTypeSpecifierExpression
- identifierPrimaryExpression
- identifierTypeSpecifierExpression
- ifStatement
- incrementOrDecrementPostfixExpression
- incrementOrDecrementUnaryExpression
- jumpStatement
- lambdaExpression
- line
- logicalAndExpression
- logicalOrExpression
- memberAccessExpression
- multiplicativeExpression
- numberPrimaryExpression
- objectPrimaryExpression
- objectProperty
- operatorModifiedUnaryExpression
- parameterDeclaration
- relationalExpression
- returnStatement
- stream
- stringPrimaryExpression
- switchStatement
- tangledPrimaryExpression
- typeofTypeSpecifierExpression
- variableDeclaration
- voidOrNullOrUndefinedPrimaryExpression
- whileLoopIterationStatement
Methods
Constructors
constructor
• new KipperTargetSemanticAnalyser()
Inherited from
KipperSemanticErrorHandler.constructor
Properties
additiveExpression
• Optional Abstract additiveExpression: TargetASTNodeSemanticAnalyser<AdditiveExpression>
Performs translation-specific semantic analysis for AdditiveExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:238
arrayPrimaryExpression
• Optional Abstract arrayPrimaryExpression: TargetASTNodeSemanticAnalyser<ArrayPrimaryExpression>
Performs translation-specific semantic analysis for ArrayPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:142
assignmentExpression
• Optional Abstract assignmentExpression: TargetASTNodeSemanticAnalyser<AssignmentExpression>
Performs translation-specific semantic analysis for AssignmentExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:288
bitwiseAndExpression
• Optional Abstract bitwiseAndExpression: TargetASTNodeSemanticAnalyser<BitwiseAndExpression>
Performs translation-specific semantic analysis for BitwiseAndExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:253
bitwiseOrExpression
• Optional Abstract bitwiseOrExpression: TargetASTNodeSemanticAnalyser<BitwiseOrExpression>
Performs translation-specific semantic analysis for BitwiseOrExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:258
bitwiseShiftExpression
• Optional Abstract bitwiseShiftExpression: TargetASTNodeSemanticAnalyser<BitwiseShiftExpression>
Performs translation-specific semantic analysis for BitwiseShiftExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:268
bitwiseXorExpression
• Optional Abstract bitwiseXorExpression: TargetASTNodeSemanticAnalyser<BitwiseXorExpression>
Performs translation-specific semantic analysis for BitwiseXorExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:263
boolPrimaryExpression
• Optional Abstract boolPrimaryExpression: TargetASTNodeSemanticAnalyser<BoolPrimaryExpression>
Performs translation-specific semantic analysis for BoolPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:178
castOrConvertExpression
• Optional Abstract castOrConvertExpression: TargetASTNodeSemanticAnalyser<CastOrConvertExpression>
Performs translation-specific semantic analysis for CastOrConvertExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:228
col
• Protected col: undefined | number
Inherited from
KipperSemanticErrorHandler.col
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:16
compoundStatement
• Optional Abstract compoundStatement: TargetASTNodeSemanticAnalyser<CompoundStatement>
Performs translation-specific semantic analysis for CompoundStatement instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:72
conditionalExpression
• Optional Abstract conditionalExpression: TargetASTNodeSemanticAnalyser<ConditionalExpression>
Performs translation-specific semantic analysis for ConditionalExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:283
ctx
• Protected ctx: undefined | CompilableASTNode<SemanticData, TypeData>
Inherited from
KipperSemanticErrorHandler.ctx
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:17
doWhileLoopIterationStatement
• Optional Abstract doWhileLoopIterationStatement: TargetASTNodeSemanticAnalyser<DoWhileLoopIterationStatement>
Translates a ForLoopIterationStatement into a specific language.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:93
equalityExpression
• Optional Abstract equalityExpression: TargetASTNodeSemanticAnalyser<EqualityExpression>
Performs translation-specific semantic analysis for EqualityExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:248
expressionStatement
• Optional Abstract expressionStatement: TargetASTNodeSemanticAnalyser<ExpressionStatement>
Performs translation-specific semantic analysis for ExpressionStatement instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:87
fStringPrimaryExpression
• Optional Abstract fStringPrimaryExpression: TargetASTNodeSemanticAnalyser<FStringPrimaryExpression>
Performs translation-specific semantic analysis for FStringPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:173
filePath
• Protected filePath: undefined | string
Inherited from
KipperSemanticErrorHandler.filePath
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:18
forLoopIterationStatement
• Optional Abstract forLoopIterationStatement: TargetASTNodeSemanticAnalyser<ForLoopIterationStatement>
Translates a ForLoopIterationStatement into a specific language.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:105
functionCallExpression
• Optional Abstract functionCallExpression: TargetASTNodeSemanticAnalyser<FunctionCallExpression>
Performs translation-specific semantic analysis for FunctionCallExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:213
functionDeclaration
• Optional Abstract functionDeclaration: TargetASTNodeSemanticAnalyser<FunctionDeclaration>
Performs translation-specific semantic analysis for FunctionDeclaration instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:127
genericTypeSpecifierExpression
• Optional Abstract genericTypeSpecifierExpression: TargetASTNodeSemanticAnalyser<GenericTypeSpecifierExpression>
Performs translation-specific semantic analysis for GenericTypeSpecifierExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:188
identifierPrimaryExpression
• Optional Abstract identifierPrimaryExpression: TargetASTNodeSemanticAnalyser<IdentifierPrimaryExpression>
Performs translation-specific semantic analysis for IdentifierPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:157
identifierTypeSpecifierExpression
• Optional Abstract identifierTypeSpecifierExpression: TargetASTNodeSemanticAnalyser<IdentifierTypeSpecifierExpression>
Performs translation-specific semantic analysis for IdentifierTypeSpecifierExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:183
ifStatement
• Optional Abstract ifStatement: TargetASTNodeSemanticAnalyser<IfStatement>
Performs translation-specific semantic analysis for IfStatement instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:77
incrementOrDecrementPostfixExpression
• Optional Abstract incrementOrDecrementPostfixExpression: TargetASTNodeSemanticAnalyser<IncrementOrDecrementPostfixExpression>
Performs translation-specific semantic analysis for incrementOrDecrementPostfixExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:208
incrementOrDecrementUnaryExpression
• Optional Abstract incrementOrDecrementUnaryExpression: TargetASTNodeSemanticAnalyser<IncrementOrDecrementUnaryExpression>
Performs translation-specific semantic analysis for IncrementOrDecrementUnaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:218
jumpStatement
• Optional Abstract jumpStatement: TargetASTNodeSemanticAnalyser<JumpStatement>
Performs translation-specific semantic analysis for JumpStatement instances.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:111
lambdaExpression
• Optional Abstract lambdaExpression: TargetASTNodeSemanticAnalyser<LambdaExpression>
Performs translation-specific semantic analysis for LambdaExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:293
line
• Protected line: undefined | number
Inherited from
KipperSemanticErrorHandler.line
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:15
logicalAndExpression
• Optional Abstract logicalAndExpression: TargetASTNodeSemanticAnalyser<LogicalAndExpression>
Performs translation-specific semantic analysis for LogicalAndExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:273
logicalOrExpression
• Optional Abstract logicalOrExpression: TargetASTNodeSemanticAnalyser<LogicalOrExpression>
Performs translation-specific semantic analysis for LogicalOrExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:278
memberAccessExpression
• Optional Abstract memberAccessExpression: TargetASTNodeSemanticAnalyser<MemberAccessExpression>
Performs translation-specific semantic analysis for MemberAccessExpression instances.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:163
multiplicativeExpression
• Optional Abstract multiplicativeExpression: TargetASTNodeSemanticAnalyser<MultiplicativeExpression>
Performs translation-specific semantic analysis for MultiplicativeExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:233
numberPrimaryExpression
• Optional Abstract numberPrimaryExpression: TargetASTNodeSemanticAnalyser<NumberPrimaryExpression>
Performs translation-specific semantic analysis for NumberPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:137
objectPrimaryExpression
• Optional Abstract objectPrimaryExpression: TargetASTNodeSemanticAnalyser<ObjectPrimaryExpression>
Performs translation-specific semantic analysis for ObjectPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:147
objectProperty
• Optional Abstract objectProperty: TargetASTNodeSemanticAnalyser<ObjectProperty>
Performs translation-specific semantic analysis for ObjectProperty instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:152
operatorModifiedUnaryExpression
• Optional Abstract operatorModifiedUnaryExpression: TargetASTNodeSemanticAnalyser<OperatorModifiedUnaryExpression>
Performs translation-specific semantic analysis for OperatorModifiedUnaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:223
parameterDeclaration
• Optional Abstract parameterDeclaration: TargetASTNodeSemanticAnalyser<ParameterDeclaration>
Performs translation-specific semantic analysis for ParameterDeclaration instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:122
relationalExpression
• Optional Abstract relationalExpression: TargetASTNodeSemanticAnalyser<RelationalExpression>
Performs translation-specific semantic analysis for RelationalExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:243
returnStatement
• Optional Abstract returnStatement: TargetASTNodeSemanticAnalyser<ReturnStatement>
Translates a JumpStatement into a specific language.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:117
stream
• Protected stream: undefined | KipperFileStream
Inherited from
KipperSemanticErrorHandler.stream
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:19
stringPrimaryExpression
• Optional Abstract stringPrimaryExpression: TargetASTNodeSemanticAnalyser<StringPrimaryExpression>
Performs translation-specific semantic analysis for StringPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:168
switchStatement
• Optional Abstract switchStatement: TargetASTNodeSemanticAnalyser<SwitchStatement>
Performs translation-specific semantic analysis for SwitchStatement instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:82
tangledPrimaryExpression
• Optional Abstract tangledPrimaryExpression: TargetASTNodeSemanticAnalyser<TangledPrimaryExpression>
Performs translation-specific semantic analysis for TangledPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:198
typeofTypeSpecifierExpression
• Optional Abstract typeofTypeSpecifierExpression: TargetASTNodeSemanticAnalyser<TypeofTypeSpecifierExpression>
Performs translation-specific semantic analysis for TypeofTypeSpecifierExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:193
variableDeclaration
• Optional Abstract variableDeclaration: TargetASTNodeSemanticAnalyser<VariableDeclaration>
Performs translation-specific semantic analysis for VariableDeclaration instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:132
voidOrNullOrUndefinedPrimaryExpression
• Optional Abstract voidOrNullOrUndefinedPrimaryExpression: TargetASTNodeSemanticAnalyser<VoidOrNullOrUndefinedPrimaryExpression>
Performs translation-specific semantic analysis for VoidOrNullOrUndefinedPrimaryExpression instances.
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:203
whileLoopIterationStatement
• Optional Abstract whileLoopIterationStatement: TargetASTNodeSemanticAnalyser<WhileLoopIterationStatement>
Translates a ForLoopIterationStatement into a specific language.
Since
0.10.0
Defined in
kipper/core/src/compiler/target-presets/semantic-analyser.ts:99
Methods
error
▸ Protected error(error): KipperError
Updates the error and adds the proper traceback data, and returns it.
This function also automatically logs the error.
Parameters
| Name | Type | Description |
|---|---|---|
error |
KipperError |
The error to update. |
Returns
The Kipper error.
Inherited from
KipperSemanticErrorHandler.error
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:52
setTracebackData
▸ setTracebackData(data): void
Sets the traceback related metadata that will be used to create a traceback for an KipperError instance.
In case that data.ctx is set and other fields are missing, these fields will be filled up using the data in the data.ctx AST node ctx instance.
Since
0.8.0
Parameters
| Name | Type | Description |
|---|---|---|
data |
Object |
The traceback data that will be used to initialise an KipperError instance. |
data.col? |
number |
- |
data.ctx? |
CompilableASTNode<SemanticData, TypeData> |
- |
data.filePath? |
string |
- |
data.line? |
number |
- |
data.stream? |
KipperFileStream |
- |
Returns
void
Inherited from
KipperSemanticErrorHandler.setTracebackData
Defined in
kipper/core/src/compiler/analysis/analyser/err-handler/semantics-error-handler.ts:29