我想了解z3主源代码。我跟着主文件中的调用来输入smt2类型。对于这种类型的输入主文件,通过以下代码调用smtlib_frontend文件(第341行):
h5f['lstm_X']= 0,1
然后此方法通过(第128行)调用smt2parser:
case IN_SMTLIB_2:
memory::exit_when_out_of_memory(true, "(error \"out of memory\")");
return_value = read_smtlib2_commands(g_input_file);
break;
在smt2parser.cpp和被调用的方法中:
result = parse_smt2_commands(ctx, in);
}
我有2个问题: 第一:p()是什么意思?解析器类只有一个构造函数(解析器(ctx,is,interactive,ps)),并且没有任何名为p的方法。
第二:调用此方法后,调用者图将被断开,而此文件是解析z3中smt2lib的主类,并且有一个名为“parse_cmd()”的方法,这似乎是启动解析的主要方法操作。但是对这种方法没有任何反思。