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