词法分析器文档.md
语法分析器文档.md
src/compiler
目录下。stamon::c
是编译器所在的命名空间,c
的全称是compiler
。Compiler.hpp
中,Compiler主要对编译器进行了封装。你只需要向Compiler提供相应的参数,就能实现编译。.st
以下是Compiler的接口讲解:
Compiler(STMException *e, ArrayList<String> *error_msg, ArrayList<String> *warning_msg)
:构造函数,需要传入异常类、错误信息列表指针以及警告信息列表指针。在执行后续操作时,如有错误信息或警告信息,会存入该指针中。void compile(String filename, bool isSupportImport)
:编译源码,filename
为需要编译的源码文件名,isSupportImport
声明了是否支持导入其他源码(有些平台并不支持多文件操作,所以我设置了这个参数),如果源码当中需要导入源码,则报错。在执行该函数之后应该要检查是否存在异常。编译出的结果会存入src
成员。src
成员的类型为ArrayList<SourceSyntax>
,其中,SourceSyntax
定义于Parser.cpp
。SourceSyntax
由ast::AstNode* program(单个文件的语法树)
和String filename(文件名)
构成。