![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语法分析
Godsight
这个作者很懒,什么都没留下…
展开
-
语句,表达式
/** 语句 ::= | | | | | | **/ void statement() { switch(token) { case TK_BEGIN: compound_statement(); break; case KW_IF: if_statement();原创 2016-10-10 19:37:15 · 509 阅读 · 0 评论 -
语法分析语句篇
语句分为 复合语句 if语句 return 语句 break 语句 continue 语句 for 语句 表达式语句 复合语句 { 声明 语句 } 声明在前,语句在后,声明可以有多个,语句可以有多个 如 { int a,b; int x=2,y=5; 语句 } 就是原创 2016-10-10 22:49:26 · 852 阅读 · 0 评论 -
语法分析总结
函数定义中的函数体引出 复合语句 复合语句引出语句 表达式语句引出表达式 声明时用 声明符 实际操作用的是 表达式原创 2016-10-10 23:31:38 · 441 阅读 · 0 评论 -
语法分析总
[ ]表示出现一次或0次,{}表示出现0次或多次,()表示是一个整体 程序a int x=1,y=3; int fun(int a) { return 2*a; } int main() { int a=3; printf("%d\n",fun(a)); } 程序a 就是个翻译单元 一个完整的C文件是一个原创 2016-10-10 21:16:19 · 406 阅读 · 0 评论 -
语法分析1
/**外部定义**/ /** 翻译单元 ::={} 源文件就是一个翻译单元 翻译单元由0或多个外部声明+一个文件结束符组成 **/ void translation_unit() { while(token!=TK_EOF) { external_declaration(SC_GLOBAL);/**由于外部声明和内部声明形式差不多,所以都用这个函数,就是参数不同**原创 2016-10-07 18:57:04 · 483 阅读 · 0 评论