自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 rmi-iiop

title: rmi-iiopdate: 2019-3-9tags: [中间件,远程方法调用]categories: 中间件结构rmirmi结构一、RMIrmi结构rmi即远程方法调用,字面意思就是可以在客户机上远程调用服务器上的方法。3d7877359da9ce21cb5f57306d02f207.jpgrmi可以分成...

2019-03-09 22:39:00 511

原创 编译原理系列之十 代码优化

代码优化 代码优化可分为与机器有关的优化和与机器无关的优化。 与机器有关的优化一般在目标代码上进行。与机器无关的优化一般在中间代码上进行。 代码优化也可分为局部优化、 循环优化和全局优化: 局部优化指的是在只有一个入口、 一个出口的基本程序块上进行的优化。 循环优化是对循环中的代码进行的优化,在一个程序运行时,相当多的一部分时间会花在循环上,因此,基于循环的优化非常重要。...

2018-12-25 14:42:00 1534

原创 编译原理系列之九 中间代码生成

中间代码生成 中间代码也与机器无关。 常见中间表示形式: 逆波兰式: 逆波兰式 中缀表达式转逆波兰式:按照算术表达式的计算顺序 根据操作数1、(操作数2)、运算符的顺序化成一个部分的后缀式,将这个后缀式在算术表达式中看成一个操作数继续按照上面方法分析。 逆波兰式转中缀表达式:根据逆波兰式的序列从左向右找运算符,找到后从这个运算符开始向前找出紧邻的操作数2、操作数...

2018-12-25 14:37:00 2941

原创 编译原理系列之八 符号表

符号表符号表用来体现作用域与可见性信息 符号表的作用: ① 收集符号属性;(词法分析) ② 上下文语义的合法性检查的依据;(语法分析) ③ 作为目标代码生成阶段地址分配的依据;(语义分析) 符号表中语言符号可分为关键字(保留字)符号,操作符符号及标识符符号 符号表中的标识符一般设置的属性项目有: ① 符号名 ② 符号的类型 ③ 符号的存储类别 ④ 符号的作用域及可视性 ⑤...

2018-12-25 14:32:00 10091

原创 编译原理系列之七 语法制导的语义计算

语法制导的语义计算1.基本概念 属性文法:在文法G[S]的基础上,为文法符号关联有特定意义的属性,并为产生式关联相应的语义动作或条件谓语,称之为属性文法,并称文法G[S]为之的基础文法。 属性文法AG是一个四元式,即AG = (G, A, R, B):G是上下文无关文法,A是属性的有限集合,R是语义规则式的有限集合,B是样式的有限集合。 例子: 产生式 语义动作...

2018-12-25 14:30:00 2675

原创 编译原理系列之四 自顶向下语法分析方法

自顶向下语法分析方法 什么叫确定: 两个确定:①确定对最左的非终结符进行替换(最左推导)②对于同一个非终结符,确定一个产生式进行推导(SELECT集,无回溯)。 一个上下文无关文法是LL(1)文法的充分必要条件: 关于一个非终结符的各个产生式的可选集互不相交。 LL(1)文法的判定过程: 检查产生式中是否有含有左递归或左公因子: 含有左递归或左公因...

2018-12-24 17:41:00 1620

原创 编译原理系列之二 文法和语言

文法和语言 ε,{ε},Ø三者之间的区别 : ε是一个终结符推导出的结果,表示一个不包含任何字符的序列。 Ø是不包含任何元素的空集{},表示不存在匹配文法的句子。 {ε}是任意一个符号串集合的0次幂,表示一个由空字组成的集合。 句子与句型: 如果符号串x是由起始符号推导出的,则称x是文法G[S]的句型。 如果x中只包含终结符,则称x是文法G[S]的句子。 文...

2018-12-23 17:18:00 1161

原创 编译原理系列之三 词法分析

词法分析 NFA与DFA的等价性: 对于每个NFA M ′都一定存在一个DFA M,使L(M′)=L(M)。 NFA转DFA子集法: 状态集合I的ε-闭包:ε-closure(I),表示I中任意状态S经过任意条ε弧能到达的状态的集合。 <u>首先从初态S开始,计算它的ε-closure(S)为I0,然后计算当前状态下对于输入符号∑中任意字符a的ε-cl...

2018-12-23 17:09:00 264

原创 编译原理系列之一 引论

引论什么是编译程序:一个编译程序是一个语言翻译程序,它将源语言程序翻译成目标语言程序。编译流程高级语言程序的处理过程:需预处理的源程序--(预处理程序)-->源程序--(编译程序)-->目标汇编程序--(汇编程序)-->可重定位的机器语言程序--(连接装入程序)-->可执行的机器语言程序编译程...

2018-12-23 17:06:00 146

原创 编译原理系列之六 自底向上的LR分析法(3) – 其它LR分析技术

其它LR分析技术一、LR(1)分析1. SLR(1)分析的问题无效归约问题:在SLR(1)分析中,我们考虑了所归约非终结符的 Follow 符号,这可以分析出怎么选择归约或移进,但是在选择归约的情况中里,我们只是确认了移进符号是属于非终结符的Follow集的,而没有确认移进后是否是表达式文法规范句型的活前缀,也就是未考虑非终结符 Follow ...

2018-12-08 17:01:00 372

原创 自动化构建工具与gradle

自动化构建工具与gradle一、定义我们在学习c语言的时候都知道,c语言源程序从源程序到二进制程序,经过了预处理(Preprocessing), 编译(Compilation), 汇编(Assemble), 链接(Linking)的过程,在使用gcc进行编译时只需要gcc test.c -o test就可以生成,或者复杂点,一步步生成中间代码:gcc -e test.c -o tes...

2018-12-07 19:29:00 289

原创 编译原理系列之六 自底向上的LR分析法(2) – SLR(1)分析

SLR(1)分析1.SLR(1)解决的问题LR(0)文法的要求是①不同时含有移进项目和归约项目,即不存在移进-归约冲突。②不含有两个以上归约项目,即不存在归约-归约冲突。例如项目集Ii中存在: Ii ={A->α•bγ , B→ γ•,C→β• },此时就同时存在移进-归约冲突和归约-归约;因为你不知道下一步是选择归约还是移进,选择归约的话选择哪个产生式归约。而事实上一般文法...

2018-12-07 17:28:00 3077 3

原创 编译原理系列之六 自底向上的LR分析法(1)-LR(0)分析法

LR(0)分析法一、基本概念 拓广文法: 对于文法 G = (VN, VT, P , S ) , 增加如下产生式:S’->S ,其中, S’ ∈ VN∪ VT , 得到 G 的拓广文法,G’ = (VN ’, VT, P ’ , S’ ) 其实就是增加了一条右部为开始符号的产生式,就变成了拓广文法 可归前缀: 采取归约过程前符号栈中的内容,称做可归前缀。 这...

2018-12-06 17:02:00 2164

原创 ZEPETO产品分析报告

ZEPETO产品分析报告一、产品概述 体验环境 体验版本:2.3.1 体验设备:三星s7edge 安卓版本:8.0.0 体验时间:2018.12 产品定位 ZEPETO的分类是社交,但更准确应该是“工具+社交”,它是一款3D人物捏脸APP,通过用户塑造出来的卡通模型可以在不同场景下进行单人或多人摄影;软件内有IM模块,ZEPETO的主要宣传点也在于此,通过好...

2018-12-04 18:40:00 1175

原创 编译原理系列之五 自底向上优先分析(2)-算符优先分析法

算符优先分析法1.基本概念 算符文法(OG):文法G中没有形如A=>···BC···的产生式,其中B、C为非终结符,则G为算符文法(operator grammar)。 也就是说产生式的右部不能出现两个非终结符相邻,就好像算式中两个操作数相连。 算符文法的两个性质: ①算符文法中任何句型都不包含两个相邻的非终结符。 ②如果Ab(bA)出现在算符文法的句型y中,则y中...

2018-12-03 18:48:00 3104

原创 编译原理系列之五 自底向上优先分析(1)-简单优先分析法

简单优先分析法1.基本概念通过语法树来理解这三个概念更加简单:文法G1[S]:S→ABA→bBA→AaB→aB→Sb语法树 短语:若S=*=>αAδ且A=+=>β,则称β是相对于非终结符A的句型αβδ的短语。 即:语法树中以非终结符的作为根的子树的叶子所组成的字符串。 如:ba是相对于非终结符A的句型AB的短语。句型baSb的短语有ba,...

2018-12-03 18:44:00 12069 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除