问题描述
我正在使用下面的ANTLR语法来解析我的代码。
https://github.com/antlr/grammars-v4/tree/master/cpp
const GstTensorsInfo info_in = {
.num_tensors = 1U,.info = {{ .name = NULL,.type = _NNS_UINT8,.dimension = { 1,10,1,1}}},};
我将以下输入用于CPP解析器:
TEST(tensor_filter_custom_easy,in_code_func_01)
{
int ret;
const guint num_buffers = 10;
TestOption option = { num_buffers,TEST_CUSTOM_EASY_ICF_01 };
guint timeout_id;
const GstTensorsInfo info_in = {
.num_tensors = 1U,};
ret = NNS_custom_easy_register ("safe_memcpy_10x10",cef_func_safe_memcpy,NULL,&info_in,&info_out);
ASSERT_EQ(ret,0);
}
解析器/词法分析器需要进行哪些修改才能正确解析输入?对此,我们将给予任何帮助。预先感谢。
解决方法
designated initializer syntax(.num_tensors = 1U
)仅在C ++ 20中添加到C ++。您要使用的语法名为“ CPP14”,我想这意味着它是C ++ 14语法。在这种情况下,不接受语法也就不足为奇了。
由于C99以来指定的初始值设定项已成为C的一部分,因此您也许可以在C语法中找到有用的东西。