解析器可以告诉词法分析器忽略换行符吗?
我正在为我的语言编写一个预处理器。在预处理器中,我输出了源文件中没有的一行。这会导致 Anltr 创建的任何错误消息增加一行。
词法分析器处理行计数,所以我想知道解析器是否有办法告诉词法分析器减少行计数,或忽略特定的换行符。
我也愿意接受有关如何解决此问题的其他建议。
我唯一的限制是将额外的行与现有代码内联。我宁愿将其保留在自己的行上,以保持我的解析理智。
I'm writing a preprocessor for my language. In the preprocessor I've output a line that wasn't in the source file. This causes any error messages that Anltr creates to be incremented by one line.
The Lexer handles the line count so I'm wondering if there is a way for the parser to tell the lexer to decrement the line count, or to ignore a specific newline.
I'm also open to other suggestions on how to work around this.
The only constraint I have is putting the extra line inline with the existing code. I'd prefer to keep it on it's own line to keep my parsing sane.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您删除预处理器行并用新行替换它而不是添加新行,会怎么样?然后解析预处理器的输出。
What if you remove the pre-processor line and replace it with the new line instead of adding a new one? Then parse the output of the pre-processor.