使用javacc可以在inputstream之前添加一些新字符吗?

例如,假设我的解析器解析以下语法:

#define Paragraphs  "Paragraph+"
#define Volume "(Title,(Chapter,${Paragraphs})+)"

Book=${Volume}+;


如何在调用解析器之前告诉javacc它的扫描器应将${Volume}预处理为(Title,(Chapter,Paragraph+)+)

可以使用MORE语句实现吗?

谢谢

最佳答案

Token.image是一个公共字段,因此您也可以直接设置它。这是我的JavaCC书的标记程序一章中的示例:

令牌:{
   {matchedToken.image = image.append(“ B”)。toString();}
}


您可以下载本书的所有示例源代码here

10-07 12:02