大道至简之编译原理初探

原创 2004年06月22日 18:51:00

       这点文字是为懒人写的,懒人总是希望能像Neo一样,用个程序插头就能一下子学会中国功夫,呵呵,我也想。有乐趣才会想学习,所以希望写点能引起懒人乐趣的文字,先体会到了编译的乐趣,才会有深入学习的兴趣,对吧?我就是这样一个懒人。

       好了,说说编译吧。编译是一个语言翻译的过程,也就是把编程语言翻译成机器语言的过程。它要经过词法分析,语法分析,语义分析及代码生成这几个主要过程。其实很好理解,就像平时认识语言的过程一样,My name is Neo. 当你听到这句话时,你会首先看这句话的单词,你是不是认得,如果name是nome,你就不懂这个单词了,然后,你才会注意它的语法对不对,如果是My Neo name  is,哪你就又要挠头了。最后,当你认清了单词和语法后,你又会明白这句话的意思是告诉你对方的名字叫Neo(语义分析)。假设你是一个中文翻译,你此时会告诉中国朋友,哪个老外的名字叫Neo(代码生成)。编译过过程也是一样,比如翻译C语言:Count  = 3  编译时,先进行词法分析,按单词表认单词,然后根据语法表分析语法,得知这是赋值语句,而后得出它的语义是将3存入一个变量中。最后根据平台生成机器指令Mov R1, 3什么的,完成编译。

     这样看起来,好像编译也不难啊 :P

下回,再说说用Lex, Yacc写一个计算器的例子

编译原理课设之简单编译器实现

编译器源代码
  • u012480599
  • u012480599
  • 2015年12月30日 16:23
  • 2554

编译原理实验二:语义分析

编译原理实验二:语义分析
  • lijunfan1994
  • lijunfan1994
  • 2016年06月24日 23:18
  • 2099

编译原理与javacc初探

1、前序           真是书到用时方恨少啊,在大学的时候,虽然学过编译原理,但当时真是不懂啊,只是为了应付考试,死记硬背了一点点。现在呢,由于工作上的需要,不得不弥补一下啊。 这两天把编译原...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年05月11日 14:21
  • 3374

Ready? Go! 上篇:大道至简(转)

本文分两部分连载于2012年5月和6月的《程序员》杂志。当时Go语言刚刚推出第一个稳定版:Go 1。刊载时略有删改。 Go语言是Google于2009年推出的静态编译型语言,旨在为开...
  • codemanship
  • codemanship
  • 2014年06月05日 23:36
  • 965

“20万亿”小于“4万亿”——从表象到实质的溯源(大道至简16)

大道至简之十六: “20万亿”小于“4万亿” ——从表象到实质的溯源       时寒冰    对任何事物的趋势进行判断的时候,都须要透过表象看到本质——准确的判断源于对本质的理解,因...
  • u011398881
  • u011398881
  • 2013年07月17日 20:42
  • 379

大道至简,实用为本:解读2017年云计算权威报告(3)

2017年,企业正变得越来越务实,主动避开庞杂而昂贵的私有云软件套件,从虚无缥缈的“云之旅”转向脚踏实地的“务实之旅”。...
  • pkuair
  • pkuair
  • 2017年04月12日 11:29
  • 538

大道至简: 用pre统一txt与html来记笔记

笔记软件层出不穷,乱花渐欲迷人眼。但深入体验过txt格式的极致开放、精简,领略过Vim等编辑神器的自由逍遥后,很多人返朴归真,近乎偏执地用Vim以txt格式来记笔记者。客观来讲,图片或简单格式也偶有需...
  • shangpusp
  • shangpusp
  • 2011年07月20日 08:11
  • 719

《大道至简》——读书笔记2

顺道也把《大道至简》的读书笔记也贴出来了,该书本语言很简洁,思考性十足。也许作为一个优秀的程序员,有时候也需要对自己的工作和生活做出总结性的思考,《大道至简》就是周爱民前辈对他多年的工作经验所做出的总...
  • chihochow
  • chihochow
  • 2012年08月05日 13:23
  • 754

《大道至简 软件工程实践者的思想》 - 书摘精要

(序一) 书是人类思考的结晶,是经验的宝藏。因此书的真正价值在于内容,在于作者的思考,在于读者能否从书中得到收获; (前言) 愚公移山知识一种精神追求,而做工程却不是追求精神目标,我们的目标...
  • GATTACA2011
  • GATTACA2011
  • 2012年01月14日 14:15
  • 1000

CSS大道至简--读《CSS禅意花园》

只承认一个个确实存在的东西,凡干扰这一具体存在的空洞的普遍性概念都是无用的累赘和废话,应当一律取消。如无必要,勿增实体。 ---奥卡姆剃刀 周末找了两个主题研究了一下:CSS 正则表达式 ...
  • zlb824
  • zlb824
  • 2012年03月16日 23:50
  • 895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大道至简之编译原理初探
举报原因:
原因补充:

(最多只允许输入30个字)