词法分析器文档.md语法分析器文档.mdsrc/compiler目录下。stamon::c是编译器所在的命名空间,c的全称是compiler。Compiler.hpp中,提供了顶层前端的设计函数。.st以下是Compiler.hpp包含的接口:
ArrayList<SourceSyntax> *ParseTargetProject(
STMException *e,
ArrayList<String> *error_msg, ArrayList<String> *warning_msg,
String filename, bool is_support_import, ArrayList<SourceSyntax> *src,
HashMap<String, bool> filemap, SyntaxScope global_scope
);
/*
编译一个Stamon项目。
e是异常类,error_msg是存储报错信息用的列表,warning_msg是存储警告信息用的列表,filename是源码文件名,is_support_import_表示是否支持引用其他源码,src是存储各个文件语法树用的列表,filemap是用来标记文件是否被引用过的映射表,global_scope是全局作用域。
返回处理后的存储着各个文件语法树的列表(即处理后的src)。
*/
ast::AstNode *MergeAST(ArrayList<SourceSyntax> *syntax_list);
/*
将各个语法树合并为一个。syntax_list是存储着各个文件语法树的列表。返回合并后的根节点。
*/