![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Compile
文章平均质量分 79
Robin_just
这个作者很懒,什么都没留下…
展开
-
递归下降分析
递归下降分析算法,也称为预测分析优点:1).分析高效(线性时间) 2).容易实现(方便手工编码) 3).错误定位和诊断信息准确 4).被很多开源和商业的编译器所采用(如GCC 4.0, LLVM,。。。)算法基本思想:1).每个非终结符构造一个分析函数 2).用前看符号指导产生式规则的选择伪代码:parse_S() parse_N() parse_V() parse_原创 2017-05-12 12:58:39 · 11972 阅读 · 0 评论 -
LL(1)分析算法
LL(1)分析算法 //在现代编译器的架构上,词法分析器都是作为语法分析器的一个子模块来实现的,并不是这些记号流一 次性全都调用出来了,而是说,根据语法分析器需要,当它需要一个记号流,才会调用,然后返回一个记 号流。下次调用,下次再返回,这样的一个交互式的过程。定义: 从左( L) 向右读入程序,最左( L) 推导,采用一个( 1) 前看符号(lookhead,这个前看符号是用原创 2017-05-12 20:48:16 · 11009 阅读 · 2 评论 -
LR(0)分析算法
LL(1)分析算法从左( L) 向右读入程序,最左(L) 推导,采用一个(1) 前看符号 ++ 优点: – 算法运行高效 – 有现成的工具可用 ++缺点: – 能分析的文法类型受限 – 往往需要文法的改写自底向上分析算法研究其中最重要也是最广泛应用的一类 ++ LR分析算法(移进-归约算法) – 算法运行高效 – 有现成的工具可用 ++ 这也是目前应该广泛的一类语法分析器的自动生原创 2017-05-17 16:47:26 · 17366 阅读 · 2 评论 -
LL(1)分析法_C++实现
Code by C++#include<stdlib.h>#include<stdio.h>#include<string.h>/*******************************************/int count=0; /*分解的产生式的个数*/int number; /*所有终结符和非终结符的总数*/char原创 2017-05-28 23:41:08 · 1658 阅读 · 1 评论 -
词法分析器
Code by C++#include<string.h>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<cstdio>#include <vector>#include<fstream>#include<cstdio>#include<iomanip>//实现列对齐#define RWD 12 //rem原创 2017-05-28 23:36:58 · 727 阅读 · 0 评论 -
LL(1)分析法(简单版)_C++实现
代码#include<iostream> #include <stdio.h> #include<stdlib.h> #include<string.h> using namespace std;char A[20]; /*分析栈*/ char B[20]; /*剩余串*/ char v1[20]={'i','+','*','(',')','#'};/*终结符*/ char v2[2原创 2017-06-17 13:53:31 · 2591 阅读 · 1 评论 -
逆波兰表达式的产生及计算
JAVA CodeRPN_Operation.javapackage test3;public class RPN_Operation { private char[] expChar = new char[100];// 表达式栈 private int expPointer = 0;// 表达式栈指针 private char[] ariStack = new char[1原创 2017-06-03 22:52:35 · 1168 阅读 · 0 评论 -
一些compile笔记
///////////////////////compile第九章note//////////////////////程序源代码多用树状结构,因为源代码都是上下文无关文法;而经过编译器翻译后形成的目标代码,由于包含了语义,所以是上下文相关的(比如说变量的声明与使用,在变量使用时必须检查是否声明了)指令系统中的立即数就是高级语言编写的程序中的常数Cjmp condition jump条件跳转jm原创 2017-06-12 22:23:05 · 341 阅读 · 0 评论