【发布时间】:2015-10-23 01:37:17
【问题描述】:
我正在 javacc 中创建一个词法分析器,它会跳过以 /* 开头并以 */ 结尾的块 cmets。我让它对有效的块 cmets 正常工作,但我试图找出一种在块注释未关闭时引发错误的方法......
例子:
/* this is not a valid block comment
/* this is a valid block comment*/
这是我必须跳过有效块 cmets 的内容:
MORE: { <"/*"> : BLC_CMNT_ST}
<BLC_CMNT_ST> SKIP: { <"*/">: DEFAULT >
<BLC_CMNT_ST> MORE: { <~[]>}
目前,当我运行词法分析器时,如果有未关闭的块注释,则会引发 TokenMgrError。我想捕捉这个错误和/或抛出我自己的错误,显示matchedToken.image。我尝试了几种不同的方法,但都遇到了问题,因此非常感谢您的帮助
【问题讨论】: