Jac*_*ack 0 c compiler-construction
如何编写编译器的人称之为?我知道这int a, b, c;叫做表达.但是这样的事情:int a = 2?或者a++,a=c等我没有任何想法.我在哪里可以找到这些条款?C标准还是买一本关于编译器构造的书?我希望这很清楚.提前致谢.
int a, b, c;
Run Code Online (Sandbox Code Playgroud)
这不是表达.这是一个声明.
int a = 2;
Run Code Online (Sandbox Code Playgroud)
这也是一个宣言.该2部分是初始化程序.
a ++
Run Code Online (Sandbox Code Playgroud)
这是一个" 后增量 " 表达式.请注意,在C世界之外,这可能只是一个声明.
a = c
Run Code Online (Sandbox Code Playgroud)
这是一个赋值表达式(同样,在C之外,这可以是一个语句).
这些术语的确切定义和C语法的每种语法分类都可以在C标准(第6章:语言)中找到,您可以从哪里找到下载/购买信息,从哪里可以找到当前的C或C++标准文档?.
请注意,这些仅适用于C(及其大多数衍生产品,例如C++,Javascript等).这些概念在其他语言中可能没有意义(例如,某些语言不区分语句和表达式).