我正在尝试了解更多有关编译器和编程语言的知识,很遗憾我的大学不提供有关编译器的课程,所以我必须自己做(谢谢互联网)。
此刻我tryin为了理解和实现我的语言的词法分析器,我需要正则表达式。
我习惯很快地编写 Perl 正则表达式脚本,我认为我可以将 Perl 嵌入到我的 C++ 词法分析器中。现在的问题是:
- 会造成很大的开销吗?
- 我应该尝试与 BOOST (或任何其他适合正则表达式的 C++ 库)和平相处吗?
谢谢您阅读此篇 :)
在项目中嵌入 Perl 只是为了执行正则表达式,就像试图将大象塞进 Miata 以获得更多的后备箱空间一样。 (巴顿!)
Boost 将是处理正则表达式的一种方法,或者如果您在支持 POSIX.2 的环境中编写,请查看regcomp()
, regexec()
and regfree()
功能。
编写自己的词法分析器后,研究一个名为lex
这几乎是开发词法分析器的黄金标准。它有一个合作伙伴叫YACC
用于开发解析器。两者都经过时间测试并生成紧凑、无错误的代码。 (GNU-ish 环境称这些程序为flex
and bison
.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)