编译原理-学习指导与典型题解析
1
一个有助于理解编译原理中词法,语法分析及综合运用的小项目 内有完整代码与文档,在eclipse上可直接编译运行
2024-05-16 17:00:26 2.62MB 可运行源代码
1
印度工程师杰作书籍全面的介绍了webService整合spring开发,让你轻松掌握该技术
2024-05-13 20:43:33 3.23MB WebService
1
逆波兰式(Reverse Polish Notation,RPN),也称为后缀表达式,是一种用于表示数学表达式的形式,其特点是操作符位于与之相关的操作数之后。相比传统的中缀表达式,逆波兰式更容易被计算机程序理解和处理。 通过这次实验,我实现了逆波兰式的产生及计算代码,并对逆波兰式的原理和实现有了更加深入的理解。 逆波兰式通过将操作符放在操作数的后面来表示数学运算的顺序,避免了使用括号来确定运算的优先级。在实现程序过程中,关键是使用栈辅助转换中缀表达式为后缀表达式。在遍历中缀表达式的过程中,当遇到操作数时,直接输出;当遇到操作符时,与栈顶操作符比较优先级,如果当前操作符优先级较低,则将栈顶操作符输出,直到栈为空或栈顶操作符优先级较低。最后,将当前操作符入栈。通过遍历后缀表达式数组,根据不同的操作符和操作数类型,进行相应的计算操作。这部分代码涉及到浮点数和整型的判断和处理,以及各种运算符的计算规则。 在实验过程中,我发现逆波兰式的产生和计算代码紧密相连,两者相互依赖。逆波兰式的产生为逆波兰式的计算提供了基础,而逆波兰式的计算则是对逆波兰式生成算法的验证和应用。通过编写这两部分代码,我能
2024-05-12 17:31:05 55KB 逆波兰式 编译原理
1
LR(1)(Left-to-Right, Rightmost derivation with 1 symbol lookahead)分析法是一种用于构建分析器的语法分析方法,通常用于分析上下文无关文法的语法结构,属于LR分析法的一种变种。它是一种强大的自底向上语法分析方法,适用于具有一定复杂性的上下文无关文法,通过使用向前查看符号来处理文法中的二义性,使得可以更精确地分析和理解输入。 在实验的代码实现过程中,定义了ACTION表和GOTO表,这两个表是LR(1)分析表的核心部分,其中ACTION表用于记录移进和归约操作,GOTO表用于记录状态之间的转移。这些表提供了对输入串和状态栈的操作指导。接着定义了产生式结构体,并初始化了产生式数组、状态栈、符号栈和输入串等变量。这些变量在分析过程中起着关键的作用。 主要的分析过程在函数analyse()中实现。这个函数使用了循环来逐步分析输入串,直到达到接受状态或发生错误。在每一步中,根据输入字符和当前状态,在ACTION表中查找相应的操作。如果是移进操作,将状态和输入字符压入栈中,并打印当前步骤的状态。如果是归约操作,根据产生式进行出栈操作,
2024-05-12 17:23:57 44KB LR(1)分析法 编译原理
1
LL(1)分析法是一种常用的自顶向下的语法分析方法,用于分析和解释编程语言或其他形式的文本。LL(1)代表"Left-to-Right, Leftmost derivation, 1 symbol lookahead",这表示了分析器的工作方式和限制条件,通常用于编程语言的语法分析,编写编译器或解释器。主要步骤包括构建LL(1)文法、构建LL(1)分析表和使用递归下降分析或预测分析器等算法来分析输入文本。 通过本次实验,我实现了LL(1)分析法进行语法分析,并认识到LL(1)分析法利用预测分析表和栈来进行符号匹配和产生式的选择,从而推导出输入串的语法结构。 首先,我了解到LL(1)分析法的核心是构建预测分析表。预测分析表由非终结符和终结符构成,通过预测分析表我们可以根据当前的栈顶符号和输入串的首符号,快速确定应该选择的产生式,从而进行语法推导。在实验中,我通过定义非终结符和终结符的数组以及预测分析表的初始化,构建了一个完整的预测分析表。 其次,我认识到LL(1)分析法对文法的要求比较严格,文法必须满足LL(1)文法的条件。LL(1)文法要求每个非终结符的每个产生式的选择集与其他产生
2024-05-12 17:07:39 44KB
1
描述逻辑经典书目,对学习基于描述逻辑的本体语言、推理和相关应用有一定帮助
2024-05-07 10:28:31 2.43MB 描述逻辑 本体推理 description logic
1
软件构架实践,电子书,PDF,对学习软件架构很有帮助哦
2024-05-06 18:25:33 3.98MB 软件构架实践,电子书,chm
1
 《一线架构师实践指南》致力于为一线架构师,以及软件企业提供务实有效的架构设计方法指导。   《一线架构师实践指南》从架构师经常遇到的困惑出发,总结软件架构设计中经常遇到的问题,提出“方法体系必然是软件业界未来发展的重大趋势”,以及“架构设计方法已经扩展到方法体系”的观点。针对软件架构设计的三个阶段(Pre-Architecture阶段、 Conceptual Architecture阶段和Refined Architecture阶段)中的各个具体环节,给出了最佳的实践原则和方法,内容涵盖了从需求分析到生成架构的整个过程。 精彩书评   很值得有志成为“一线架构师”的人士学习和借鉴。   ——左春中科软总裁 中科院软件所研究员   两年来,我和我的团队应用了温老师的一些方法来开发电信行业无线网优平台这个大型平台软件,目前已经取得初步成功。   ——杜海亮夭元网络公司刑总工程师   本书是从实践中来的,自然可以很好地运用到实践中去,具有很高的实践指南价值。   ——宋兴烈起步科技总工程师   书中的三阶段理论、结构化需求与约束分析等不少概念一经指出,让人有茅塞顿开之感。书中有很实用的操作技巧,值得每一个架构师反复学习和操练,领会之后定会让您的架构设计更上一层楼。   ——董振江中兴通讯业务研究院副院长 目录 第1章 绪论 1.1 一线架构师:6个经典困惑 1.2 本书的4个核心主张 1.2.1 方法体系是大趋势 1.2.2 质疑驱动的架构设计 1.2.3 多阶段还是多视图? 1.2.4 内置最佳实践 1.3 ADMEMS方法体系:3个阶段,1个贯穿环节 1.3.1 Pre—architecture阶段:ADMEMS矩阵方法 1.3.2 Conceptual Architecture阶段:重大需求塑造做概念架构 1.3.3 Refined Architecture阶段:落地的5视图方法 1.3.4 持续关注非功能需求:“目标.场景.决策”表方法 1.4 如何运用本书解决“6大困惑” 第Ⅰ部分 Pre-Architecture阶段 第2章 Pre—architecture的故事 2.1 “不就是个MIS吗” 2.1.1 故事:外籍人员管理系统 2.1.2 探究:哪些因素构成了架构设计的约束性需求 2.2.1 故事:嵌入式0S的剪裁 2.2.2 探究:又是约束 2.3 “都是C++的错,换C重写” 2.3.1 故事:放弃C++,用C重写计费系统 2.3.2 探究:相互矛盾的质量属性 2.4 展望“Pre—architecture阶段篇” 第3章 Pre.architecture总论 3.1 什么是Pre.architecture 3.2 实际意义 3.2.1 需求理解的大局观 3.2.2 降低架构失败风险 3.2.3 尽早开始架构设计 3.2.4 明确架构设计的“驱动力” 3.3 业界现状 3.3.1 “唯经验论” 3.3.2 “目标不变论” 3.3.3 需求分类法的现状 3.3.4 需求决定架构的原理亟待归纳 3.4 实践要领 3.4.1 不同需求影响架构的不同原理,才是架构设计思维的基础 3.4.2 二维需求观与ADMEMS矩阵方法 3.4.3 关键需求决定架构,其余需求验证架构 3.4.4 Pre.architecture阶段的4个步骤 第4章 需求结构化与分析约束影响 4.1 为什么必须进行需求结构化 4.2 用ADMEMS矩阵方法进行需求结构化 4.2.1 范围:超越《软件需求规格说明书》 4.2.2 工具:ADMEMS矩阵 4.3 为什么必须分析约束影响 4.4 ADMEMS方法的“约束分类理论” 4.5 Big Picture:架构师应该这样理解约束 4.6 用ADMEMS矩阵方法辅助约束分析 4.7 大型82C网站案例:需求结构化与分析约束影响 4.7.1 需求结构化 4.7.2 分析约束影响(推导法则应用) 4.7.3 分析约束影响(查漏法则应用) 4.8 贯穿案例 4.8.1 PASS系统背景介绍 4.8.2 需求结构化 4.8.3 分析约束影响 第5章 确定关键质量与关键功能 5.1 为什么要确定架构的关键质量目标 5.2 确定关键质量的5大原则 5.2.1 整体思路 5.2.2 分类合适+必要扩充 5.2.3 考虑多方涉众 5.2.4 检查性思维 5.2.5 识别矛盾+划定优先级 5.2.6 严格程度符合领域与规模特点 5.3 为什么不是“全部功能作为驱动因素” 5.4 确定关键功能的4条规则 5.5 大型82C网站案例:确定关键质量与关键功能 5.6 贯穿案例 第Ⅱ部分 Conceptual Architecture阶段 第6章 概念架构的故事 6.1 一筹莫展 6.1.1 小张,以及他负责的产品 6.1.2 老王,后天见客户 6.2 制定方针 6.2.1 小张:我必须先进行概念架构的设计 6.2.2 老王:清晰的概念架构,明确的价值体现 6.3 柳暗花明 6.3.1 小张:重大需求塑造概念架构 6.3.2 老王:概念架构体现重大需求 6.4 结局与经验 6.4.1 小张:概念架构是设计大系统的关键 6.4.2 老王:概念架构是售前必修课 第7章 Conceptual Architecture总论 7.1 什么是概念架构 7.2 实际意义 第8章 初步设计 第9章 高层分割 第10章 考虑非功能需求 第Ⅲ部分 Refined Architecture阶段 第11章 细化架构的故事 第12章 Refined Architecture总论 第13章 逻辑架构 第14章 物理架构、运行架构、开发架构 第15章 数据架构的难点:数据分布 第Ⅳ部分 专题:非功能目标的方法论 第16章 故事:困扰己久的非功能问题 第17章 总论:非功能目标的设计环节 第18章 方法:“目标-场景-决策”表 索引 编辑手记 设计手记 查看全部↓ 精彩书摘   第1章 绪论   1.2 本书的4个核心主张   画龙须点睛。   在介绍具体方法之前,先来阐释本书的4个核心主张:   方法体系是大趋势。   质疑驱动的架构设计。   多阶段方法。   内置最佳实践的方法。   这4个核心主张可帮助读者领会ADMEMS方法之精髓。   1.2.1 方法体系是大趋势   单一方法已捉襟见肘。一线架构师真正需要的,是覆盖“需求进,架构出”全过程的实践指导--只有综合了不同方法优点的“方法体系”才堪此重任。本书认为,方法体系必然是软件业界未来发展的重大趋势之一。   本书将要系统介绍的方法体系的名字——ADMEMS,正是“Architectural Design Method has been Extended to Method System”的缩写。是的,ADMEMS方法不是“单一方法”,而是由多个各具特点的方法组成的“方法体系”。ADMEMS方法通过它的名字亮明了其核心主张。   ADMEMS方法命名由来   ADMEMS是“Architectural Design Method has been Extended to Method System(架构设计方法已经扩展到方法体系)”的缩写。   ……
2024-05-06 18:07:44 3.63MB 架构师 ADMEMS 需求机构化 逻辑架构
1
很好的电子书啊,好东西和大家分享一下。希望能帮助有需要的你啊
2024-05-03 12:19:28 9.29MB 语言程序设计 电子书
1