43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#ifndef AISE_CODEGEN_HPP
|
||
#define AISE_CODEGEN_HPP
|
||
|
||
#include "aise/types.hpp"
|
||
#include <string>
|
||
#include <vector>
|
||
|
||
namespace aise {
|
||
|
||
// ── 代码自动生成与追溯(SRS-AISE_F-002) ──
|
||
class CodegenModule {
|
||
public:
|
||
CodegenModule();
|
||
|
||
// 根据需求生成代码框架
|
||
// 对应 POST /api/v1/code/generate
|
||
struct GenerateResult {
|
||
bool success;
|
||
std::string output_dir;
|
||
std::vector<std::string> generated_files;
|
||
std::vector<TraceLink> trace_links; // 生成的追溯关系
|
||
std::string error_msg;
|
||
};
|
||
|
||
GenerateResult generate(const std::string& req_id,
|
||
const std::string& language,
|
||
const std::string& arch_config);
|
||
|
||
// 查询追溯关系
|
||
std::vector<TraceLink> getTraceLinks(const std::string& req_id) const;
|
||
// 模拟 AST 构建与代码生成
|
||
std::string generateCppSkeleton(const RequirementItem& req);
|
||
std::string generateJavaSkeleton(const RequirementItem& req);
|
||
private:
|
||
std::vector<TraceLink> trace_index_;
|
||
|
||
|
||
};
|
||
|
||
} // namespace aise
|
||
|
||
#endif // AISE_CODEGEN_HPP
|