词法分析的任务: 首先,从阶段上来看,编译器可分为若干个中间阶段: 典型的,可以包含为一个前端,一个后端。前端接收源程序产生一个中间表示,后端接收表示继续生成一个目标程序。所以,前端处理的是跟源语言有关的属性,后端处理跟目标机器有关的属性。 更细节的,前端可以划分为若干个阶段: ...
                            
                            
                                分类:
其他好文   时间:
2015-01-22 12:40:41   
                                阅读次数:
163
                             
                         
                    
                        
                            
                            
                                编译器的介绍: 编译器是一个程序,其核心功能是将源代码(C/C++,Java,C#,html等)翻译成目标代码(X86,ARM,IA64等),是一个重要的研究领域,也是其他许多研究领域的基础。 一个简单的编译器结构: 编译器由多个阶段组成,每个阶段处理不同的问题,使用不同的理论、算法和数据...
                            
                            
                                分类:
其他好文   时间:
2015-01-22 12:36:25   
                                阅读次数:
154
                             
                         
                    
                        
                            
                            
                                时间过的真快,不知不觉已经从传智出来,工作一个月了啊,想想当初自己的所有努力和付出都是值得的,当初来传智可以说是走头无路,唯有努力的向前冲,在这里满满的正能量,激烈着我一直努力,胜利就在前面,只要你能坚持坚持~~~对于我这样的一个新手而言,现在最重要的就是技术积累,一入IT深似海,我要学的东西还.....
                            
                            
                         
                    
                        
                            
                            
                                最近重温了一下《现代编译原理》这本书,感觉与大学学习的时候,完全不是一个味道;深刻的懂得理论联系实际的感受,瞬间有一种,
编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言
 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇...
                            
                            
                                分类:
其他好文   时间:
2015-01-14 16:58:48   
                                阅读次数:
142
                             
                         
                    
                        
                            
                            
                                从推导式的左边到右边成为推导,从右边到左边成为规约LL的分析是一个不断向右扩展的过程,类似一个循环,适合EBNF描述。因此LL是对语法树的一个前序遍历,它是从上到下的,从根节点的起始非终结符一直到叶子节点的终结符LR的shift-reduce过程则是一个递推-回归的过程,SR总是从终结符开始,将终结...
                            
                            
                                分类:
编程语言   时间:
2015-01-12 22:17:21   
                                阅读次数:
190
                             
                         
                    
                        
                            
                            
                                作为一名程序员,今天有幸了解到编程原理之三大牛书,也实在是被震撼了,先介绍下了:
先说龙书:
龙书英文名为《Compilers: Principles, Techniques, and Tools 》,中文名《编译原理技术和工具》,作者 Alfred。
现在已经是第二版了,2006年8月31日在amazon上架。
http://dragonbook.stanford...
                            
                            
                                分类:
其他好文   时间:
2015-01-09 09:15:54   
                                阅读次数:
688
                             
                         
                    
                        
                            
                            
                                原文链接http://blog.csdn.net/nodeathphoenix/article/details/7684230Android build/core下的编译脚本里会用到变量NDK_ROOT和NDK_PROJECT_PATH。但是这两个变量你都不是必须显式地设置对应环境变量。因为如果没有...
                            
                            
                                分类:
移动开发   时间:
2015-01-08 17:14:22   
                                阅读次数:
239
                             
                         
                    
                        
                            
                            
                                编译器会帮我们做很多优化,使我们写的很不优雅的代码也可以和大牛们写的得到比较接近的效率。当然,这前提是你们用的算法是一样的。编译器绝不会优化算法,不会把你的冒泡排序改成快排。但是,常数级别的优化也是很重要的。
编译器能做的事情有很多,在编译原理中我们知道,它可以消除死代码,提取公共子表达式等代码中妨碍效率的地方。但是,优化往往受到限制,因为它受到的最基础的约束就是不能改变程序的行为。这意味着,当...
                            
                            
                                分类:
其他好文   时间:
2015-01-07 13:12:58   
                                阅读次数:
138
                             
                         
                    
                        
                            
                            
                                1.数据结构还有一些没完成2.算法分析看完3.看编译原理4.学一门其它的编程语言,Go5.研究AngularJS,ReactJS和PolymerJS。6.学习bootstrap7.学一门预编译css语言,SASS8.将《web前端黑客》,《web性能优化》和《HTML5数据推送》这三本书看完。9.捣...
                            
                            
                                分类:
其他好文   时间:
2014-12-31 18:19:47   
                                阅读次数:
199
                             
                         
                    
                        
                            
                            
                                编译原理学习笔记----不确定有穷自动机(NFA)一个不确定的有穷自动机T是一个五元组,M={K,∑,f,S,Z}⒈K是一个有穷集他的每一个元素称作一个状态。⒉∑是一个字母表,他的每一个元素称为一个输入符号。⒊f是一个从Kx∑*到K的子集映射即K*∑*->2^K,其中2^K表示K的幂集。⒋S包含于K...
                            
                            
                                分类:
其他好文   时间:
2014-12-30 18:58:06   
                                阅读次数:
247