public void Project_Compile(Dictionary<string, IList<Token>> project, bool embDebugToken)
{
foreach (KeyValuePair<string, IList<Token>> f in project)
{
File_PreCompileToken(f.Key, f.Value);
}
foreach (KeyValuePair<string, IList<Token>> f in project)
{
//预处理符号
for (int i = 0; i < f.Value.Count; i++)
{
if (f.Value[i].type == TokenType.IDENTIFIER && this.tokenParser.types.Contains(f.Value[i].text))
{//有可能预处理导致新的类型
if (i > 0
&&
(f.Value[i - 1].type == TokenType.TYPE || f.Value[i - 1].text == "."))
{
continue;
}
Token rp = f.Value[i];
rp.type = TokenType.TYPE;
f.Value[i] = rp;
}
}
File_CompileToken(f.Key, f.Value, embDebugToken);
}
}
public void File_PreCompileToken(string filename, IList<Token> listToken)