我的目的不是写一个C编译器,但我需要完整的C编程语言语法。这将使我更轻松地编写程序来格式化、管理和分析C程序和库。为了实现这一点,我别无选择,只能掌握整个语言的语法。
语法应清楚地说明什么是有效的,什么是无效的。考虑以下代码行:
int (x) = 0;
一位C程序员看到这个语句可能会对其有效性产生疑虑,除非他尝试编译它,否则他可能不知道它实际上是有效的C代码。当然,很容易看出它等同于
int x = 0;
,并且括号中的x
是多余的,但对于第一次看到它的程序员来说,它是否允许使用并不清楚。我需要关于语言完整语法的详细信息。它必须足够详细,以便实现者可以使用它编写编译器,可以编译任何C代码,即使我的意图不是编写编译器,但对于我的项目而言,仍需要完整的语法细节。
int (x) = 0;
这样的语句? - machine_1