如果我使用 FSYacc 生成解析器,它会是线程安全的吗?
我问的唯一原因是因为功能
Parsing.rhs_start_pos
和Parsing.symbol_end_pos
似乎没有任何状态传递给它们,这将导致我假设他们正在从共享位置获取当前的非终端/符号,这是正确的吗?
反映代码后,我看到他们正在从静态属性中获取位置
internal static IParseState parse_information
{
get
{
return parse_information;
}
set
{
parse_information = value;
}
}
它是否正确?如果是这样,我该怎么办?
编辑:我还看到一个名为的静态方法set_parse_state
public static void set_parse_state(IParseState x)
{
parse_information = x;
}
但这仍然不能解决我的问题......