![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
acsuperman
这个作者很懒,什么都没留下…
展开
-
G2文法之最左推导
G2E->E+T | E-T | TT->T*F | T/F |FF->(E) | nn->0 | 1 |2 |… |9注意扫描是从右向左扫描,第一次的展开其实得到的是最后一个符号。如果遇到+或-,则将表达式中的E变为E+T或E-T;如果遇到*或/,则将表达式中的T变成T*F或T/F;如果遇到括号对,则将表达式中的F变成(E);如果没有符号,只有数字,则将表达式中的E变成T...原创 2018-03-25 14:47:54 · 1725 阅读 · 0 评论 -
用C语言实现一个C语言的编译器
用C语言实现一个C语言的编译器目标:基于C0+文法的编译器,生成语法树,四元式,符号表,最后生成X86汇编(386)接下来介绍一下整个的设计和实现思路(C0+ 文法是指 以C0为基础,另外增加了一些C0没有的文法 )和在实现过程中遇到的问题,以及怎样解决。本工程实现了以C0+文法为输入语言的采用C语言设计的编译器,采用递归子程序的方法来设计分析,可以生成intel386汇编(16位)...原创 2018-07-17 23:33:00 · 36937 阅读 · 47 评论