编译技术图示(第一章 编译概述) 源程序——>机器代码 分析(前端):分成小部分,找出小部分属性,包括:词法分析、语法分析、语义分析、中间代码生成 合成(后端),包括:中间代码优化、目标代码生成、目标代码优化 1、词法分析:识别、删除单词符号、词法检查 输入:源代码,输出:二元式<单词类别,单词属性 ...
分类:
其他好文 时间:
2019-09-29 20:10:54
阅读次数:
141
执行过程 连接器 管理连接,权限验证 查询缓存 命中缓存直接返回结果 分析器 词法分析 ,语法分析 优化器 分析执行计划,选择最优的执行计划 执行器 操作存储引擎接口,返回结果 不同的存储引擎共用一个 Server层 连接器 连接器负责跟客户端建立连接、获取权限、维持和管理连接 客户端如果太长时间没 ...
分类:
数据库 时间:
2019-09-29 19:49:34
阅读次数:
131
MySQL 执行一条查询语句的内部执行过程? 1.客户端先通过连接器连接到Mysql服务器。 2.连接器权限验证通过之后,先查询是否有查询缓存。若之前执行过此语句有缓存,则直接返回缓存数据,否则直接进入分析器。 3.分析器会对查询语句进行语法分析和词法分析,判断SQL语法是否正确。如果查询语法错误就 ...
分类:
数据库 时间:
2019-09-28 00:50:52
阅读次数:
107
1.文法和语言的总结 (1)文法的直观概念 人们无法列出全部句子,但人们可给出一些规则来组成句子结构。汉语句子可以由主语后随谓语而成,构成谓语的是动词和直接宾语,采用第一章的EBNF来表示这种构成规则。 (2)符号和符号串 字母表:符号的非空有限集合,典型的符号是字母、数字、各种标点和运算符等。 符 ...
分类:
编程语言 时间:
2019-09-27 21:26:19
阅读次数:
134
变量b和函数doSomethingElse()是函数doSomething()的私有内容,外部作用域可以访问到是危险的,下面将私有内容隐藏在函数内部。 上述代码的问题 函数bo()‘污染’了所在作用域,因为是一个具名函数 函数IIFE中第一个括号将函数定义为函数表达式,第二个括号使函数立即运行 函数 ...
分类:
其他好文 时间:
2019-09-25 00:39:25
阅读次数:
99
【1词法符号】1. 关键字:32个1) 存储类型:决定(设备)变量的存储位置auto(自动型).extern(外部引用) static(静态型) register(寄存器类型)2) 数据类型:决定设备在对应位置所占的空间大小char (字符型) int(整型) short(短整型) long(长整型 ...
分类:
编程语言 时间:
2019-09-21 23:44:22
阅读次数:
155
这个组织中黑客云集,而且多是掌握核心技术的真正高手,他们的作品多是编译器、词法/语法分析器、底层函数库等大作。更重要的不是他们的技术,而是他们的哲学!他们的哲学就是技术上的“共产主义”——人人为我,我为人人。 他们发布了一种版权许可协议——GPL——一个神圣的宣言。与中庸而谦和的BSD协议不同,它充 ...
分类:
系统相关 时间:
2019-09-19 12:38:33
阅读次数:
108
环境 ANSI C 的任何一个实现,都存在两种环境: 编译环境,源代码被转换为可执行的机器指令。执行环境,实际代码执行的环境。 编译环境,源代码被转换为可执行的机器指令。 执行环境,实际代码执行的环境。 这两种环境不必位于同一台机器上。 编译 编译将组成一个程序的每个源文件转换成目标代码,然后各个目 ...
分类:
其他好文 时间:
2019-09-15 10:50:19
阅读次数:
96
1)简述编译程序与翻译程序、汇编程序的联系与区别。 答:编译的过程就是将源代码文件以字符流的形式进行处理,进行词法和语法的分析,然后通过汇编器将源代码指令转变成汇编指令它把高级语言源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果;翻译程序是指由高 ...
分类:
其他好文 时间:
2019-09-05 13:18:22
阅读次数:
89
1)简述编译程序与翻译程序、汇编程序的联系与区别。 1.简单来讲,编译程序 是语言处理程序,将汇编语言(即我们所知的C,C++等)这一类的源程序进行输入,然后通过翻译并再转换之后,最后产出机器语言的程序,简单来讲就是一个属于计算机语言的翻译过程。编译程序工作时,先词法分析和语法分析,然后代码优化,存 ...
分类:
其他好文 时间:
2019-09-04 11:54:00
阅读次数:
109