Skip to content

Commit

Permalink
[FrontendGen] update function generation.
Browse files Browse the repository at this point in the history
  • Loading branch information
FloatingcloudKnight committed Jul 23, 2024
1 parent 87bc2fa commit cde5c7e
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 48 deletions.
2 changes: 1 addition & 1 deletion frontend/FrontendGen/include/FegenManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -806,4 +806,4 @@ TypePtr inferenceType(std::vector<std::shared_ptr<RightValue::Expression>>,

} // namespace fegen

#endif
#endif
2 changes: 1 addition & 1 deletion frontend/FrontendGen/include/FegenVisitor.h
Original file line number Diff line number Diff line change
Expand Up @@ -852,4 +852,4 @@ class FegenVisitor : public FegenParserBaseVisitor {
}
};
} // namespace fegen
#endif
#endif
47 changes: 1 addition & 46 deletions frontend/FrontendGen/lib/FegenManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1377,51 +1377,6 @@ class Emitter {
return this->stream;
}
};

class StmtGenerator : FegenParserBaseVisitor {
private:
Manager &manager;
Emitter &emitter;

public:
StmtGenerator(Emitter &emitter)
: manager(Manager::getManager()), emitter(emitter) {}
std::any visitVarDeclStmt(FegenParser::VarDeclStmtContext *ctx) override {
auto var = manager.getStmtContent<Value *>(ctx->identifier());
switch (var->getType()->getTypeKind()) {
case fegen::Type::TypeKind::CPP: {
this->emitter << var->getType()->toStringForCppKind() << " "
<< var->getName();
if (ctx->expression()) {
auto expr = this->manager.getStmtContent<RightValue::Expression *>(
ctx->expression());
this->emitter << " = " << expr->toStringForCppKind();
}
this->emitter << ";";
this->emitter.newLine();
break;
}
case fegen::Type::TypeKind::ATTRIBUTE: {
break;
}
case fegen::Type::TypeKind::OPERAND: {
break;
}
}
return nullptr;
}

std::any visitAssignStmt(FegenParser::AssignStmtContext *ctx) override {}

std::any visitFunctionCall(FegenParser::FunctionCallContext *ctx) override {}

std::any visitOpInvokeStmt(FegenParser::OpInvokeStmtContext *ctx) override {}

std::any visitIfStmt(FegenParser::IfStmtContext *ctx) override {}

std::any visitForStmt(FegenParser::ForStmtContext *ctx) override {}
};

} // namespace fegen

void fegen::Manager::emitG4() {
Expand Down Expand Up @@ -2037,4 +1992,4 @@ void fegen::Manager::emitBuiltinFunction(
StmtVisitor visitor(emitter);
visitor.visit(moduleAST);
fileStream.close();
}
}

0 comments on commit cde5c7e

Please sign in to comment.