* 本学期开了编译原理这门课,自己会问这样的问题
课本上介绍了词法分析器 ,语法分析器 ,语义分析器,那么这在成熟的编译器中,占据着怎样的角色?
日常,我接触的最多的编译器是gcc ,clang(当然,还有vb之类的),他们的有啥差别?该如何选择?
基于gcc,如何设计一门自己的语言(或者从编译器的角度去看待一门计算机语言),编译工具链如何快速跟上?
一款新的处理器被推出,如何解决针对它的平台的编...
分类:
其他好文 时间:
2015-06-07 01:05:53
阅读次数:
138
写完语义分析的代码后感觉语义分析只是为了进行类型检测。词法分析注重的是每个单词是否合法,以及这个单词属于语言中的哪些部分。语法分析的上下文无关文法注重的是一个一个的推导式,是将词法分析中得到的单词按照语法规则进行组合。那么,语义分析就是要了解各个推导式之间的关系是否合法,主要体现在推导式中使用的.....
分类:
其他好文 时间:
2015-05-25 16:21:01
阅读次数:
372
转载请注明出处:周木水的CSDN博客
http://blog.csdn.net/zhoumushui
科大讯飞语音SDK的语义分析还是挺强大的,可使我们的应用更加强大。
上篇博文介绍了讯飞SDK的一些简单功能:
Android 使用讯飞语音SDK今天来看看对语义分析结果JSON的解析并处理:实现语音拨号首先,我们看看“打电话给张三”这句话在服务器分析之后,传给我们的JSON是什么样的:{...
分类:
移动开发 时间:
2015-05-14 10:06:57
阅读次数:
184
转载请注明出处:周木水的CSDN博客
http://blog.csdn.net/zhoumushui
科大讯飞语音SDK的语义分析还是挺强大的,可使我们的应用更加强大。
上篇博文介绍了讯飞SDK的一些简单功能:
Android 使用讯飞语音SDK今天来看看对语义分析结果JSON的解析并处理:实现语音拨号首先,我们看看“打电话给张三”这句话在服务器分析之后,传给我们的JSON是什么样的:{...
分类:
移动开发 时间:
2015-05-14 08:44:15
阅读次数:
264
好久没有更新了,主要是研究了一段时间的C++的面向对象的设计方式和更好的架构程序的思路。其实今天这部分代码早已完成,但希望能够更好的给大家讲解如何做一个可用的新编程语言。上次说到Bison的语义分析功能,但并没有添加对应的语义处理功能,我们这次就构建一个描述语法的抽象语法树。首先Bison的语义处理功能是十分方便的,只要在后面添加C++的语义动作代码就可以了...
分类:
编程语言 时间:
2015-05-12 11:24:25
阅读次数:
239
一.语法分析介绍语法分析是编译过程的核心部分,它的主要任务是按照程序语言的语法规则,从由词法分析输出的源程序符号串中识别出各类语法成分,同时进行语法检查,为语义分析和代码生成做准备。执行语法分析任务的程序叫语法分析程序或语法分析器。二.所实现的语义分析和代码生成程序能处理什么语句(1)简单变量的声明...
分类:
其他好文 时间:
2015-05-09 17:26:26
阅读次数:
250
编译器的工作过程中可以分为几个阶段:预处理-》词法分析-》语法分析-》语义分析-》中间代码生成-》目标代码生成。其中,优化的机会一般存在于中间代码生成或目标代码生成这两个阶段。尤其是在中间代码生成阶段所做的优化,这类优化不具备设备相关性,在不同的硬件环境中都能通用。debug下,为了调试方便,保持原...
分类:
编程语言 时间:
2015-04-07 15:30:32
阅读次数:
377
1.扫描程序(scanner) 把源代码中的语句扫描进来,并分解成token。即词法分析。2.语法分析程序(parser) 进行语法分析,并将分析结果用分析树(parse tree)或者语法树(syntax tree)表示出来。3.语义分析程序(semantic analyzer) 在语法树下...
分类:
其他好文 时间:
2015-03-11 12:31:43
阅读次数:
175
潜在语义分析Latent Semantic Analysis (LSA)也被叫做Latent Semantic Indexing(LSI),是通过分析文档去发现这些文档中潜在的意思和概念,即建立语义(词汇族)与文档潜在含义的关系判别,它把词和文档都映射到一个‘概念’空间并在这个空间内进行比较(注:也就是一种降维技术)。...
分类:
其他好文 时间:
2015-03-03 11:40:26
阅读次数:
208