使用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。