当前位置: 首页 > news >正文

做网站模板的网页名称是m开头/企业网站建设方案范文

做网站模板的网页名称是m开头,企业网站建设方案范文,花都建设网站,商业网站建设政策支持第一章 引论 1.1 编译器概述 1.1.1 词法分析 它分析扫描构成源程序的字符流&#xff0c;按编程语言的词法规则把它们组成词法记号流。 对于一个词法单元&#xff0c;词法分析产生的记号是 <记号名&#xff0c;属性值> 1.1.2 语法分析 它按编程语言的语法规则检查词法分析…

第一章 引论

1.1 编译器概述

1.1.1 词法分析

它分析扫描构成源程序的字符流,按编程语言的词法规则把它们组成词法记号流。

对于一个词法单元,词法分析产生的记号是

<记号名,属性值>

1.1.2 语法分析

它按编程语言的语法规则检查词法分析出的记号流是否符合这些规则

1.1.3 语义分析

把各个由语法分析得出的语法单元意义搞清楚

 

编译的各个阶段:

一个语句的翻译:

1.1.4 解释器

直接执行源程序指定的运算

1.1.5 编译器

通过翻译生成目标程序

 

第二章 词法分析

2.1 串和语言

串:字母表上的串是该字母表符号的有穷序列

语言:表示字母表上的一个串集

2.2 正规式

正规式(又称正规表达式):是按照一组定义原则,由较简单的正规式构成的,每个正规式r表示一个语言L(r)。

正规集:用正规式能表示的语言

运算优先级:闭包运算>连接运算>选择运算

 

2.3 正规定义

可以对正规式命名,并用这些名字来引用相应的正规式

正规定义:

形式为

d1->r1

d2->r2

···

dn->rn

 

正规定义举例:

letter_->[A-Za-z_]

digit->0|1|···|9

id->letter_(letter_|digit)*

number->digit+(.digit+)?(E(+/-)?digit+)?

2.4 不确定的有限自动机

不确定的有限自动机(Nondeterministic Finite Automaton,NFA):

“不确定”是指,存在这样的状态,对于某个输入符号,它存在不止一种转换。

2.5 确定的有限自动机

确定的有限自动机(Deterministic Finite Automaton,DFA):

某个输入符号,只有一种转换

2.5.1 从NFA到DFA的变换

例题1:为(a|b)*a(a|b)构造DFA

先画出NFA

构造Dtran,总共四种不同的集合

然后根据Dtran画出DFA图

 

例题2:DFA,识别{0,1}上能被5整除的二进制数

第三章 语法分析

3.1 上下文无关文法的定义

形式地说,一个上下文无关文法G是一个四元组(VT,VN,S,P),其中:

(1)VT是一个非空有限集合,其元素称为终结符

(2)VN是一个非空优先集合,其元素称为非终结符

(3)S是一个非终结符,称为开始符号

(4)P是产生式的有限集合

3.2 下列符号通常用作终结符/非终结符

3.3 文法二义性

对于文法E->E+E|E*E|(E)|-E|id

3.4 消除左递归

存在推导A=>+Aα,称这个文法是左递归的

由形式为A->Aα的产生式引起的左递归称为直接左递归

 

左递归产生式A->Aα|β 可以用非左递归的

A->βA'

A'->αA'

来代替

3.5 LL(1)文法

3.5.1 LL(1)定义

3.5.1 求First集

方法:求文法符号串具有终结符的产生式的左边

举例:FIRST(E) = FIRST(T) = FIRST(F) = {(,id}   (这里要求到具有终结符的产生式)

FIRST(E') = {+,ε}  (这里文法的产生式已经具有终结符,不必再往下求)

FIRST(T') = {*,ε} (同上)

3.5.2 求Follow集

方法:求包含Follow(X)的X的右边,与X的产生式无关;$一定存在于Follow集中;之前的文法符号串的Follow集一定存在于它的产生式中的Follow集;假如X右边没有终结符,则将X右边符号串的FIRST集加入进去

举例:FOLLOW(E) = FOLLOW(E') = {),$} (和E'无关,直接看产生式E的右边,结果是")",放入Follow集中,$必放)

FOLLOW(T) = FOLLOW(T') = {+,),$} (因为FIRST(E')含有ε和+,ε默认去掉,加入+到Follow(E)中)

FOLLOW(F) = {+,*,),$}  (F右边没有终结符,则将FIRST(T')加入到FOLLOW(T)中)

3.6 LR分析器

3.6.1 LR(0)项目

3.6.2 项目集规范族

DFA的每个状态是原NFA的一个状态子集,也就是LR(0)项目集。这些项目集叫做文法的LR(0)项目集规范族

 

转载于:https://www.cnblogs.com/Java-Starter/p/9508113.html

http://www.lbrq.cn/news/1059967.html

相关文章:

  • wordpress购物网站/广州百度关键词搜索
  • 南京市浦口区建设局网站/适合seo软件
  • 做网站用哪个服务器/手机app免费制作平台
  • 男女做暖免费网站 香蕉/百度网站提交了多久收录
  • 长沙市宁乡县建设局网站/产品推广方式有哪些
  • 付费网站建设模板/推广优化工具
  • 中国城乡和住房建设部网站/目前最火的自媒体平台
  • wordpress 只显示文字/win10优化
  • 网站推广要怎样做/正安县网站seo优化排名
  • 今日全世界疫情排名一览表/seo网站关键词优化
  • 百度竞价网站/百度服务电话6988
  • 域名停靠app大全下载网站入口2023/在线crm
  • python和java做网站/天津网络优化推广公司
  • 有个新网站专门做外贸的叫什么/seo营销方案
  • php网站模板修改/广告牌
  • 专业集团门户网站建设费用/搜索引擎优化seo怎么做
  • 临清设计网站/做网上营销怎样推广
  • 网站发帖功能怎么做/查排名的网站
  • 网站禁止右键/seo营销工具
  • 动漫人物做羞羞事的网站/上海网络推广优化公司
  • 天津市做网站的公司/预测2025年网络营销的发展
  • 中国国际贸易网官网/前端seo是什么
  • 莱芜做网站优化/百度联盟广告
  • 网站建设需要多少钱知乎/谷歌代运营
  • 可信赖的丹阳网站建设/googleseo服务公司
  • 微网站风格/搜索引擎排名国内
  • 做婚姻网站流程/网络营销推广方案步骤
  • 高大上的企业网站欣赏/媒体宣传推广方案
  • 网站怎么做收费/海外推广营销 平台
  • 用dreamware制作网页/seo引擎优化外包公司
  • 二叉树算法
  • 轻量应用服务器Centos系统上安装jdk8和Jdk17教程(详细)
  • 游戏画面总是卡顿怎么办 告别延迟畅玩游戏
  • vllm启动Qwen/Qwen3-Coder-30B-A3B-Instruct并支持工具调用
  • DP-v2.1-mem-clean学习(3.6.8.2-3.6.8.3)
  • 《 ThreadLocal 工作机制深度解析:高并发场景的利与弊》