@kipper/target-js
Version:
The JavaScript target for the Kipper compiler 🦊
45 lines (44 loc) • 5.03 kB
TypeScript
import { TranslatedCodeLine, TranslatedExpression, AdditiveExpression, AssignmentExpression, BoolPrimaryExpression, CastOrConvertExpression, ComparativeExpression, ConditionalExpression, EqualityExpression, ExpressionStatement, FStringPrimaryExpression, FunctionCallExpression, FunctionDeclaration, GenericTypeSpecifierExpression, IdentifierPrimaryExpression, IdentifierTypeSpecifierExpression, IncrementOrDecrementPostfixExpression, IncrementOrDecrementUnaryExpression, JumpStatement, KipperProgramContext, ArrayLiteralPrimaryExpression, LogicalAndExpression, LogicalExpression, LogicalOrExpression, MultiplicativeExpression, NumberPrimaryExpression, OperatorModifiedUnaryExpression, ParameterDeclaration, RelationalExpression, ReturnStatement, StringPrimaryExpression, SwitchStatement, TangledPrimaryExpression, TypeofTypeSpecifierExpression, VariableDeclaration } from "@kipper/core";
import { CompoundStatement, DoWhileLoopStatement, ForLoopStatement, IfStatement, KipperTargetCodeGenerator, MemberAccessExpression, VoidOrNullOrUndefinedPrimaryExpression, WhileLoopStatement } from "@kipper/core";
export declare class JavaScriptTargetCodeGenerator extends KipperTargetCodeGenerator {
setUp: (programCtx: KipperProgramContext) => Promise<Array<TranslatedCodeLine>>;
wrapUp: (programCtx: KipperProgramContext) => Promise<Array<TranslatedCodeLine>>;
compoundStatement: (node: CompoundStatement) => Promise<Array<TranslatedCodeLine>>;
ifStatement: (node: IfStatement) => Promise<Array<TranslatedCodeLine>>;
switchStatement: (node: SwitchStatement) => Promise<Array<TranslatedCodeLine>>;
expressionStatement: (node: ExpressionStatement) => Promise<Array<TranslatedCodeLine>>;
doWhileLoopStatement: (node: DoWhileLoopStatement) => Promise<Array<TranslatedCodeLine>>;
whileLoopStatement: (node: WhileLoopStatement) => Promise<Array<TranslatedCodeLine>>;
forLoopStatement: (node: ForLoopStatement) => Promise<Array<TranslatedCodeLine>>;
jumpStatement: (node: JumpStatement) => Promise<Array<TranslatedCodeLine>>;
returnStatement: (node: ReturnStatement) => Promise<Array<TranslatedCodeLine>>;
parameterDeclaration: (node: ParameterDeclaration) => Promise<Array<TranslatedCodeLine>>;
functionDeclaration: (node: FunctionDeclaration) => Promise<Array<TranslatedCodeLine>>;
variableDeclaration: (node: VariableDeclaration) => Promise<Array<TranslatedCodeLine>>;
numberPrimaryExpression: (node: NumberPrimaryExpression) => Promise<TranslatedExpression>;
arrayLiteralExpression: (node: ArrayLiteralPrimaryExpression) => Promise<TranslatedExpression>;
identifierPrimaryExpression: (node: IdentifierPrimaryExpression) => Promise<TranslatedExpression>;
memberAccessExpression: (node: MemberAccessExpression) => Promise<TranslatedExpression>;
identifierTypeSpecifierExpression: (node: IdentifierTypeSpecifierExpression) => Promise<TranslatedExpression>;
genericTypeSpecifierExpression: (node: GenericTypeSpecifierExpression) => Promise<TranslatedExpression>;
typeofTypeSpecifierExpression: (node: TypeofTypeSpecifierExpression) => Promise<TranslatedExpression>;
stringPrimaryExpression: (node: StringPrimaryExpression) => Promise<TranslatedExpression>;
fStringPrimaryExpression: (node: FStringPrimaryExpression) => Promise<TranslatedExpression>;
boolPrimaryExpression: (node: BoolPrimaryExpression) => Promise<TranslatedExpression>;
tangledPrimaryExpression: (node: TangledPrimaryExpression) => Promise<TranslatedExpression>;
voidOrNullOrUndefinedPrimaryExpression: (node: VoidOrNullOrUndefinedPrimaryExpression) => Promise<TranslatedExpression>;
incrementOrDecrementPostfixExpression: (node: IncrementOrDecrementPostfixExpression) => Promise<TranslatedExpression>;
functionCallExpression: (node: FunctionCallExpression) => Promise<TranslatedExpression>;
incrementOrDecrementUnaryExpression: (node: IncrementOrDecrementUnaryExpression) => Promise<TranslatedExpression>;
operatorModifiedUnaryExpression: (node: OperatorModifiedUnaryExpression) => Promise<TranslatedExpression>;
castOrConvertExpression: (node: CastOrConvertExpression) => Promise<TranslatedExpression>;
multiplicativeExpression: (node: MultiplicativeExpression) => Promise<TranslatedExpression>;
additiveExpression: (node: AdditiveExpression) => Promise<TranslatedExpression>;
protected translateOperatorExpressionWithOperands: (node: ComparativeExpression | LogicalExpression) => Promise<TranslatedExpression>;
relationalExpression: (node: RelationalExpression) => Promise<TranslatedExpression>;
equalityExpression: (node: EqualityExpression) => Promise<TranslatedExpression>;
logicalAndExpression: (node: LogicalAndExpression) => Promise<TranslatedExpression>;
logicalOrExpression: (node: LogicalOrExpression) => Promise<TranslatedExpression>;
conditionalExpression: (node: ConditionalExpression) => Promise<TranslatedExpression>;
assignmentExpression: (node: AssignmentExpression) => Promise<TranslatedExpression>;
}