All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alibaba.qlexpress4.aparser.compiletimefunction.CodeGenerator Maven / Gradle / Ivy

package com.alibaba.qlexpress4.aparser.compiletimefunction;

import com.alibaba.qlexpress4.aparser.QLParser;
import com.alibaba.qlexpress4.exception.ErrorReporter;
import com.alibaba.qlexpress4.exception.QLSyntaxException;
import com.alibaba.qlexpress4.runtime.QLambdaDefinition;
import com.alibaba.qlexpress4.runtime.QLambdaDefinitionInner;
import com.alibaba.qlexpress4.runtime.instruction.QLInstruction;
import org.antlr.v4.runtime.Token;
import org.antlr.v4.runtime.tree.ParseTree;

import java.util.List;

/**
 * Author: DQinYuan
 */
public interface CodeGenerator {

    void addInstruction(QLInstruction qlInstruction);

    void addInstructionsByTree(ParseTree tree);

    QLSyntaxException reportParseErr(String errCode, String errReason);

    QLambdaDefinition generateLambdaDefinition(QLParser.ExpressionContext expressionContext,
                                               List params);

    ErrorReporter getErrorReporter();

    ErrorReporter newReporterWithToken(Token token);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy