Lan*_*nbo 17 indentation bison flex-lexer
我希望我的语言有两个功能,使Python这种格式很好的语言:
任何人都可以给我一个关于如何用flex/bison类似工具实现的详细提示吗?这种块特征迫使用户编写可读代码.
Rud*_*udi 16
您可以尝试跟踪词法分析器中的缩进级别,并为缩进和unindent添加伪标记.您将需要保留一堆已经看到的缩进级别,并且需要不同地关注空/仅注释行.但是我担心最后词法分析器会变成一个难以维护的混乱,而且你的词法分析器中你也有一些特定于语法的句子(缩进栈).
wla*_*oth 11
Matt Might写了一篇关于独立解析器的文章,使用"unput"处理重要的空格:
http://matt.might.net/articles/standalone-lexers-with-lex/
(该示例位于页面的中间位置.)