免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3063 | 回复: 5

LCC架构 [复制链接]

论坛徽章:
0
发表于 2009-07-24 12:49 |显示全部楼层
20可用积分
各位,学习LCC除了《可变目标》之外,还有没有其他参考的资料?最好是中文的。目前碰到的问题主要是对整体结构的不清楚。比如:《可》里面提到的语法分析,它里面只包括error.c里面的一些出错处理,但其实还应该包括后面的表达式、声明等(虽然书中已分立章节单独介绍,但感觉似乎有些乱,可能是我不太习惯书里的这种排版吧)。我曾经猜测src/main.c是整个程序的入口,但又很难通过它清晰的将各个部分联系起来,总感觉没底。尤其是我并不太清楚它总共需要输出多少文件,即比如词法分析,它需不需要输出文件,语法分析呢,它又是不是在利用词法分析的输出文件呢?诸如此类。我也曾经在网上看到过一些博客,里面有对LCC的介绍,但是没有总体的概括(即没有介绍到lcc的一个总领文件(可能是一个*.c的文件),要实现LCC这个编译器,第一步、第二步等等)。如果各位当中,谁曾经也学习过LCC,同时还保留了当时的一些读书笔记,请共享一下,谢谢。

论坛徽章:
0
发表于 2009-07-24 12:50 |显示全部楼层

回复 #1 ts0612 的帖子

先顶一下

论坛徽章:
0
发表于 2009-07-24 15:04 |显示全部楼层
http://blog.csdn.net/caimouse/category/281237.aspx
他“分析”了代码,其实直接看代码很好懂
========================================================================
你对编译器设计和实现的理解就和现在的编译器实现不同:
一开始就是Parse,在Parse的过程中调用Lex,Parse出来之后调用Sem,Opt之后CG。
看不懂就别看了,先看书吧。
=========================================================================
在C版不是告诉你了么?
另外,我觉得Lcc根本没什么意义了,在这个年代。
GCC的代码可以直接去看,当然如果看不懂,还是算了吧,你连走都不会,怎么能飞呢?踏踏实实一步一步来。去看书,把基础的东西搞明白,理论是最重要的。

论坛徽章:
0
发表于 2009-07-24 15:28 |显示全部楼层

回复 #3 prolj 的帖子

谢谢你的建议。

但是个人感觉没必要去看GCC,LCC本身已是一个不错的ANSI C编译器,且代码量合适。虽然目前学习LCC遇到一些困难,但个人觉得还是值得坚持下去......

论坛徽章:
0
发表于 2009-07-26 23:44 |显示全部楼层
原帖由 ts0612 于 2009-7-23 20:49 发表
各位,学习LCC除了《可变目标》之外,还有没有其他参考的资料?最好是中文的。目前碰到的问题主要是对整体结构的不清楚。比如:《可》里面提到的语法分析,它里面只包括error.c里面的一些出错处理,但其实还应该 ...

src/main.c是入口,代码很容易看。不用急着把各部分联系起来,先跟着代码走一遍就能有个大概的印象了。需要的理论知识不多,就是编译器的基本理论,像lex,syntax之类的。

论坛徽章:
0
发表于 2009-07-27 12:45 |显示全部楼层
原帖由 ts0612 于 2009-7-24 15:28 发表
谢谢你的建议。

但是个人感觉没必要去看GCC,LCC本身已是一个不错的ANSI C编译器,且代码量合适。虽然目前学习LCC遇到一些困难,但个人觉得还是值得坚持下去......

坚持吧,不过你的理解有问题。一般来说,GCC,Open64这些编译器,都是围绕Parser和CG展开的,当然其中的Lower部分,就可以暂时不去关心了... 因为你还是先把两头简单搞明白吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP