我的目标是制作一个非常简单的基本C语法检查程序。 (不是一个完整的编译器,而只是一个基本程序,它将源代码作为输入,并打印出显示错误的代码)。我想用C ++作为语言。
任何人都可以指导我用'c ++'语言编写正则表达式:
进一步的任何细节/建议/指导将非常感激。
答案 0 :(得分:6)
我认为你不能单独用正则表达式解析C
。你需要开始研究词法分析器,解析器,语法等......
一个很好的起点可能是:Quick Starter on Parser Grammars - No Past Experience Required。
您可以在线查找C
/ yacc
的{{1}}语法。
答案 1 :(得分:3)
检查C代码的语法需要的不仅仅是正则表达式。您需要一个支持解析代数伽玛的工具,我建议查看http://www.gnu.org/software/bison/,它将在C ++中生成解析器的“骨架”,以便您可以编辑它并添加语法检查代码。 / p>
答案 2 :(得分:2)
使用clang
库。可以在GitHub上找到教程。
答案 3 :(得分:1)
答案 4 :(得分:0)
要识别C语句,词法分析是不够的,因为词法分析器在角色级别工作。除了C词法分析器之外,你需要的是一个C语法分析器,它将对源代码进行语法分析。 LRSTAR Parser Generator提供了一个C项目,可以让您启动并运行。