Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Boost::wave库中扩展token_id以接受更多关键字_C++_Boost_Token_Wave - Fatal编程技术网

C++ 如何在Boost::wave库中扩展token_id以接受更多关键字

C++ 如何在Boost::wave库中扩展token_id以接受更多关键字,c++,boost,token,wave,C++,Boost,Token,Wave,我正在使用Boost/wave库进行语法突出显示任务。我们通过解引用lex令牌迭代器获得令牌,然后处理这些令牌以进行自定义高亮显示 框外,Wave库附带一个CPP词表,它遍历输入C++文件并标记关键字。但我现在的工作还包括识别CUDA文件,并使用相同的机制标记它们 我可以在token_ids文件()中添加CUDA关键字,但有什么更干净的方法可以做到这一点。问题是关键字是lexer的一部分,因此需要重建lexer。令牌ID不够。有关最近的示例,请参见。如果您愿意将CUDA关键字作为标识符,那么这可

我正在使用Boost/wave库进行语法突出显示任务。我们通过解引用lex令牌迭代器获得令牌,然后处理这些令牌以进行自定义高亮显示

框外,Wave库附带一个CPP词表,它遍历输入C++文件并标记关键字。但我现在的工作还包括识别CUDA文件,并使用相同的机制标记它们


我可以在token_ids文件()中添加CUDA关键字,但有什么更干净的方法可以做到这一点。

问题是关键字是lexer的一部分,因此需要重建lexer。令牌ID不够。有关最近的示例,请参见。如果您愿意将CUDA关键字作为标识符,那么这可能是一个解决方案(假设CUDA代码没有出现在C++中作为注释或语法的一部分-我不熟悉它)。