点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!!

持续关注我~~~主页,查看更多内容哟(希望你能在这里有所收获🤭)。点关注,不迷路,哈哈哈!~~~

主页:

一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?type=blog

目录

注意事项

1-1

2-1

3-1

4-1 自上而下的语法分析方法

注意事项

1-1

  1. 编译程序从源代码到目标代码,需要经过以下六个步骤:

    词法分析、语法分析、语义分析、中间代码生成、优化、目标代码生成

  2. Java源代码转换为字节码的过程是一个编译过程。

  3. 编译型语言

    编译型语言在执行前需要通过编译器将源代码一次性翻译成机器码(或字节码),然后直接运行生成的可执行文件。这类语言的执行效率较高,但编译过程可能需要较长时间。常见的编译型语言包括:

    • C:一种广泛使用的系统编程语言,用于开发操作系统、嵌入式系统、游戏等。

    • C++:C 语言的扩展,支持面向对象编程,常用于高性能应用程序、游戏引擎和图形处理。

    • Java:Java 源代码被编译成字节码(.class 文件),然后由 Java 虚拟机(JVM)解释执行。虽然 Java 通常被认为是解释型语言,但现代 JVM 使用即时编译(JIT)技术将热点代码编译为机器码,因此也具有接近编译型语言的性能。

    • Pascal语言

    • Go:一种开源的编程语言,设计目标是兼具高性能和开发效率,常用于网络服务、云计算和分布式系统。

    • Rust:注重内存安全和高性能的系统编程语言,适用于开发底层系统、网络服务和游戏。

    解释型语言

    解释型语言在运行时通过解释器逐行解释并执行源代码,无需预先编译。这类语言的开发效率较高,代码可以快速修改和测试,但执行速度通常较慢。常见的解释型语言包括:

    • Python:一种高级、通用的脚本语言,广泛用于数据科学、人工智能、Web 开发和自动化脚本。

    • JavaScript:主要用于 Web 前端开发,也可通过 Node.js 在服务器端运行,支持事件驱动和异步编程。

    • Basic语言

    • Ruby:一种动态、面向对象的脚本语言,以简洁的语法和高生产力著称,常用于 Web 开发(如 Ruby on Rails 框架)。

    • PHP:一种专门为 Web 开发设计的脚本语言,广泛用于服务器端编程,支持多种数据库和 Web 框架。

    • Perl:一种灵活的脚本语言,早期在 Web 开发和系统管理中广泛使用,现在仍用于文本处理和自动化任务。

  4. 三阶段的编译程序比两阶段的编译程序多了一个:汇编程序

    两阶段转换:编译(.exe文件)——运行

    三阶段转换:编译(.obj文件)——汇编(.exe文件)——运行

  5. 单词:是高级语言中有实在意义的最小语法单位

  6. 语法分析的方法有:推导和归约

  7. 一遍扫描是以:语法分析为核心工作的

  8. Lex是可以自动生成词法分析器。

  9. 最右推导最左推导最左归约和最右归约

  10. 语法规则?

  11. 中间代码使用最为广泛的是:四元式

2-1

def count_nodes(node):if node is None:return (0, 0)if node.left is None and node.right is None:return (1, 0)  # 叶子节点计数left_leaf, left_branch = count_nodes(node.left)right_leaf, right_branch = count_nodes(node.right)total_leaf = left_leaf + right_leaftotal_branch = 1 + left_branch + right_branch  # 当前节点是分支节点return (total_leaf, total_branch)

      A/   \B     C/ \     \D   E     F

叶子节点:D、E、F(3个) 分支节点:A、B、C(3个)

  1. 乘法原理:若完成一件事需分 n 步,每步分别有 m₁, m₂, ..., mₙ种方式,则总方式数为 (m₁ * m₂* mₙ)。

    符号串计数:长度为 k 的符号串数量 = 字母表大小的 k 次方(如 A1 长度为 2 的串数为 26²)。

    集合连接积:若集合 X 有 m 个元素,Y 有 n 个元素,则 XY 的元素数为 (m * n)。

  2. 如何数叶子节点和分支节点?

    在树形数据结构中,准确统计叶子节点和分支节点是基本操作。以下是具体方法和步骤:

  3. 叶子节点识别标准:

    • 没有任何子节点的节点
    • 终端节点(位于树的最底层)
    • 示例:在二叉树中,左右指针都为NULL的节点
  4. 分支节点识别标准:

    • 至少有一个子节点的节点
    • 非终端节点
    • 包括根节点(除非树为空)
    • 示例:在二叉树中,左指针或右指针至少一个不为NULL的节点
  5. 扩展一下→统计方法(递归实现示例):

  6. 应用场景:

    • 文件系统分析(统计文件夹和文件数量)
    • DOM树遍历(计算元素节点和文本节点)
    • 决策树评估(查看最终决策点和判断条件数量)
  7. 注意事项:

    • 对于空树,两者计数都为0
    • 单节点树:1个叶子节点,0个分支节点
    • 不同树结构(二叉树、多叉树)需要调整判断条件
      可视化示例:
  8. 什么是句柄?

    答:句型中的最左简单短语。注意:句柄是最左规约时要寻找的简单短语。

    简单短语(直接短语):经过一步推导得到,树根的所有的孩子节点构成的

  9. 用高级语言编写的程序经编译后产生的程序叫:目标程序。用不同语言编写的程序产生目标程序后,可用:连接程序连接在一起生成机器可执行的程序。在机器中真正执行的是:机器指令代码

  10. 巴科斯-诺尔范式(即BNF)描述文法
    短语一棵语法树中所有子树生成的符号串就叫:短语
    直接短语(简单短语)经过一步推导的短语
    句柄最左直接短语
  11. 0型文法短语文法图灵机
    1型文法上下文有关文法线性界限自动机
    2型文法上下文无关文法下推自动机
    3型文法正规文法有限状态自动机

    0型包括1,2,3型

    1型包括2,3型

    2型包括3型

  12. 一个语言的文法是:不唯一的。例如Chomsky文法就有:0,1,2,3总共四种文法

  13. LR (k) 文法是一类无歧义文法

  14. 怎么判断是否为二义性文法?

  15. 文法中,产生式规则的左部就是非终结符号。(×)

    产生式左部的限制

    • 2 型和 3 型文法:左部必须是单个非终结符(如 A、S),因此题目中的说法对这两类文法成立。

    • 0 型和 1 型文法:左部可以是包含非终结符的任意符号串(如 (AB → CD) 或 (BAC → BDC)),此时左部可能包含终结符(如 B、C),因此题目中的说法不成立。

  16. [ω]表示ω可出现③0或1次,{ω}表示ω可出现④n(n>0)次。

3-1

  1. 暂无

4-1 自上而下的语法分析方法

  1. 下推自动机(PDA),定义:PDA是一个七元组 M,M=(Q,∑,H,δ,q0,z0,F), 其中:

    Q——控制器的有限状态集

    ∑——输入字母表

    H——下推栈内字母表 δ——Q×(∑∪{ε})×H 到 Q×H*的有限子集映射

    q0∈Q——控制器的初始状态 z0∈H——下推栈的栈初始符号

    F⊆Q——控制器的终态集

  2. 自上而下的语法分析思想是:从文法的:开始符号出发,反复使用不同产生式进行②推导,试图构造出与输入符号串相同的③_终结符串___。

  3. LL(1)文法的要求是:

    对文法中每一条形如A→X1|X2|…Xn的产生式,要求其满足如下条件: ① FIRST(Xi)∩FIRST(Xj)=∅ (i≠j) ② 如果

    img

    ,还需满足FIRST(Xi)∩FOLLOW(A)=∅

    在这里,①中“FIRST(Xi)∩FIRST(Xj)”的Xi和Xj是同一非终结符的不同候选式,②中

    “FIRST(Xi)∩FOLLOW(A)”的Xi是A的一个任一候选式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85088.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85088.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/85088.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代理模式Proxy Pattern

模式定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用 对象结构型模式 模式结构 Subject:抽象主题角色Proxy:代理主题角色RealSubject:真实主题角色 代理类实现代码 public class Proxy implements Subject {p…

基于YOLOv11与单目测距的实战教程:从目标检测到距离估算

引言 在计算机视觉领域,目标检测与距离估算的结合是自动驾驶、机器人导航等场景的关键技术。本文将以YOLOv8模型为核心,结合单目相机的几何模型,实现对视频中目标的实时检测与距离估算。代码参考自单目测距原理博客,并通过实践验…

代码生成器使用原理以及使用方法

代码生成器使用原理以及使用方法 版本号:1.0 二Ο二五年二月 目录 文档介绍 1.1编写目的 1.2文档范围 1.3读者对象 系统设计 2.1设计目标 2.2设计思路 2.3代码实现原理 使用方法 3.1如何使用 3.2如何修改? 对原程序的bug修改及简…

STM32标准库-I2C通信

文章目录 一、I2C通信1.1 I2C1.2硬件电路1.3I2C时序基本单元1.4I2C时序 二、MPU60502.1简介2.2MPU6050参数2.3硬件电路2.4MPU6050框图 三、I2C外设(硬件)3.1简介3.2I2C框图3.3I2C基本结构3.4主机发送3.5主机接收3.6软件/硬件波形对比1. 时序精度2. 信号稳定性3. 速率与效率4. 波…

使用 Azure LLM Functions 与 Elasticsearch 构建更智能的查询体验

作者:来自 Elastic Jonathan Simon 及 James Williams 试用这个示例房地产搜索应用,它结合了 Azure Gen AI LLM Functions 与 Elasticsearch,提供灵活的混合搜索结果。在 GitHub Codespaces 中查看逐步配置和运行该示例应用的方法。 更多阅读…

模糊查询 的深度技术解析

以下是 模糊查询 的深度技术解析,涵盖核心语法、通配符策略、性能优化及实战陷阱: 🔍 一、核心运算符:LIKE SELECT * FROM 表名 WHERE 列名 LIKE 模式字符串;🎯 二、通配符详解 通配符作用示例匹配案例%任意长度字符…

[论文阅读] (39)EuroSP25 CTINEXUS:基于大模型的威胁情报知识图谱自动构建

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…

强化学习三大分类

核心目标: 教会一个智能体(比如机器人、游戏AI、推荐系统)通过试错和奖励,学会在某个环境中完成特定任务的最佳策略。 核心角色: 智能体 (Agent): 学习者,比如玩游戏的小人、控制温度的空调系…

城市排水生命线安全运行监测项目

近年来,城市内涝、污水溢流等问题频发,让排水管网这一"城市生命线"的安全运行备受关注。如何让地下的"毛细血管"更智能、更可靠?本文将带您深入解析城市排水生命线安全运行监测项目的建设逻辑与技术内核,看科…

LeetCode - 34. 在排序数组中查找元素的第一个和最后一个位置

题目 34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣&#xff08;LeetCode&#xff09; 思路 查找左边界 初始化 left 0, right nums.size() - 1 当 left < right 时循环&#xff1a; 计算中点 mid left (right - left) / 2 如果 nums[mid] < target…

Tesollo四指灵巧手DG-4F:18自由度与多种抓取模式结合实现高精度操作

Tesollo四指灵巧手 DG-4F 是一款具备 18 自由度的多模态末端执行器&#xff0c;采用模块化结构设计&#xff0c;融合人手灵活性与夹爪高效性特点。该产品兼容 Universal Robots、Techman、Doosan Robotics、Rainbow Robotics 等主流机器人平台&#xff0c;适用于工业自动化、科…

深入浅出JavaScript 原型链:对象继承的“隐形链条”

深入浅出JavaScript 原型链&#xff1a;对象继承的“隐形链条” 在 JavaScript 的世界里&#xff0c;原型链&#xff08;Prototype Chain&#xff09;是一个核心概念。它如同一条隐形的链条&#xff0c;连接着所有对象&#xff0c;使得代码能够高效地共享属性和方法。理解原型…

LINUX中MYSQL的使用

LINUX中MYSQL的使用 MYSQL的数据类型 bool&#xff1a; 布尔类型 0 或者 1 CHAR&#xff1a; 单字符的字符 CHAR&#xff08;n&#xff09;:多字节字符 VARCHAR&#xff08;n&#xff09;&#xff1a;可变长度的字符型 TINYINT &#xff1a; 单字节整型 SMALLINT&#x…

打卡第48天:随机函数与广播机制

知识点回顾&#xff1a; 随机张量的生成&#xff1a;torch.randn函数卷积和池化的计算公式&#xff08;可以不掌握&#xff0c;会自动计算的&#xff09;pytorch的广播机制&#xff1a;加法和乘法的广播机制 ps&#xff1a;numpy运算也有类似的广播机制&#xff0c;基本一致 …

学习昇腾开发的第四天--基本指令

1、查看npu当前状态信息 npu-smi info 2、查看NPU的ID npu-smi info -l3、调用python python3 4、修改用户名 su - HwHiAiUser 5、查看cann版本 cat /usr/local/Ascend/ascend-toolkit/latest/compiler/version.info 6、删除文件夹 sudo rm -rf HelloWorld7、在本地环…

vue3 - 自定义hook

自定义hook 简单点来说就是将人物或者订单的所有数据和方法放在一个ts文件里面 这样便于维护 假如一个人只需要管 人物的模块 那他只需要操作usePerson.ts文件就可以了 //useDog.ts import { ref,reactive} from vue; import axios from axios;export default function(){…

【python】bash: !‘: event not found

报错 # 2. 测试smplx是否工作&#xff08;可能不需要chumpy&#xff09; python -c "import smplx; print(✅ smplx works!)"bash: !: event not found 分析 这是bash的历史扩展问题&#xff0c;感叹号被解释为历史命令。用这些方法解决&#xff1a; &#x1f680…

【Python打卡Day47】注意力热力图可视化@浙大疏锦行

可视化空间注意力热力图的意义&#xff1a; 提升模型可解释性 热力图能直观展示模型决策的依据区域&#xff0c;破除深度学习"黑箱"困境。例如在图像识别中&#xff0c;可以看到模型识别"猫"是因为关注了猫耳和胡须区域&#xff0c;识别"禁止通行&qu…

树状数组 2

L - 树状数组 2 洛谷 - P3368 Description 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; 将某区间每一个数加上 x&#xff1b; 求出某一个数的值。 Input 第一行包含两个整数 N、M&#xff0c;分别表示该数列数字的个数和操作的总个数。…

YOLOv2 技术详解:目标检测的又一次飞跃

&#x1f9e0; YOLOv2 技术详解&#xff1a;目标检测的又一次飞跃 一、前言 在 YOLOv1 提出后&#xff0c;虽然实现了“实时性 单阶段”的突破&#xff0c;但其在精度和小物体检测方面仍有明显不足。为了弥补这些缺陷&#xff0c;Joseph Redmon 等人在 2017 年提出了 YOLOv2…