如果if和else是语句,则a + b是表达式,那么在解析器中构建语法时,主要功能将被分类为什么?
在函数内部使用语句和表达式,所以这对我来说变得朦胧了。大声笑。
答案 0 :(得分:3)
如果我们考虑最简单的主函数为空的情况:
int main(void)
{
}
这是一个功能定义。合适的功能定义是 declaration-specifiers声明符declaration-list复合声明。声明说明符可以是 type-specifier 。在此示例中,int
是类型说明符。声明符可以是直接声明符,它可以是 identifier 。这就是main
的样子。然后,在括号内有声明列表。在这里,我们将其细分为声明说明符和类型说明符void
。最后,我们有一个 compound-statement ,它就是{}
https://www.cs.dartmouth.edu/~mckeeman/cs48/references/c.html
解析器不需要特别注意主函数。那是稍后发生的。这是需要查找主要功能的链接器,因此甚至在编译阶段之后。