E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
2023SCAU编译原理
编译原理
期末复习概念梳理笔记
纯自用,仅概念无题型,配合课本《
编译原理
第4版》(ISBN:978-7-121-31930-3)理解。
shandianchengzi
·
2022-02-15 11:02
笔记
编译原理
华中科技大学
编译原理
实验四攻略|完整版
助力来年
编译原理
加大难度!(hhh)MiniC语法分析及中间代码生成我根据我的实验报告重置了攻略。贴个完成时间。
shandianchengzi
·
2022-02-15 11:01
笔记
编译原理
实验
考研科目及参考书目
考研科目及参考书目初试科目①101思想政治理论②201英语一③301数学一④845数据结构和算法、操作系统、计算机系统基础、计算机网络复试科目3301笔试:离散数学;3302笔试:
编译原理
;3303C+
小白菜炒肉
·
2022-02-14 19:13
计算机技术
科学路线总结的学习路线计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、
编译原理
、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
九月_adhoc
·
2022-02-13 20:42
编译原理
笔记4:从正规式到词法分析器(1):构造词法分析器的一般步骤、从正规式到 NFA
一般方法和步骤用正规式描述模式(描述词法规则);为每个正规式构造一个NFA,这个NFA识别正规式表示的正规集(即,将正规式转成NFA。正规式和NFA在这里就描述同一个正规集了,他们两个是等价的);将上一步得到的NFA转换成与之等价的DFA,这一步叫做”确定化“;优化上一步得到的DFA,使其状态数最少,这一步叫做”最小化“;从上一步得到的DFA来构造词法分析器。在上面的步骤中,我们通过NFA构造DF
marsCatXDU_李经纬
·
2022-02-13 20:08
编译原理
笔记17:自下而上语法分析(4)LR(0)、SLR(1) 分析表的构造
LR(0)文法若一个文法G的拓广文法G'的识别活前缀的自动机中的每个状态(项目集)均不存在下述情况:既有移进项目又有规约项目(移进-规约冲突);含有多个规约项目(规约-规约冲突),则称G为一个LR(0)文法(移进项目就是指圆点右边是终结符的项目,规约项目指的就是圆点在右部最右端的项目)如下图所示就不是一个LR(0)文法,红框状态中的项目中均存在移进-规约冲突,且均是上面的项目为规约项、下面的项目为
marsCatXDU_李经纬
·
2022-02-13 14:40
编译原理
实验二 LL(1)分析法
一、实验目的通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区别和联系。使学生了解语法分析的功能,掌握语法分析程序设计的原理和构造方法,训练学生掌握开发应用程序的基本方法。有利于提高学生的专业素质,为培养适应社会多方面需要的能力。二、实验内容根据某一文法编制调试LL(1)分析程序,以便对任意输入的符号串进行分析。构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分析程序
宇智波卡卡
·
2022-02-12 01:34
词法分析器的实现
词法分析器实现一、写在前面
编译原理
是软件工程的一项基础的课程,是研究软件是什么,为什么可以运行,以及怎么运行的学科,编译系统的改进将会直接对其上层的应用程序的执行效率,执行原理产生深刻的影响。
黎涛note
·
2022-02-09 20:36
[elixir! #0084] 关于 DFA(确定性有限自动机)的那些事儿
最近在看
编译原理
这本书,感觉是很棒的入门书(指难度由浅入深深深深)。前两章主要是一些概念性的东西,第三章就开始动真格的,上代码上公式了。不自己实现一下,根本就是看得云里雾里的。
·
2022-02-09 20:27
编译原理
kN_
编译原理
_2
编译原理
内容太多分几次。课本《
编译原理
》第三版,陈火旺等编著。
嘟噜嘟噜啪
·
2022-02-09 10:44
深入了解 Vue3 模板
编译原理
Vue的编译模块包含4个目录:compiler-corecompiler-dom//浏览器compiler-sfc//单文件组件compiler-ssr//服务端渲染其中compiler-core模块是Vue编译的核心模块,并且是平台无关的。而剩下的三个都是在compiler-core的基础上针对不同的平台作了适配处理。Vue的编译分为三个阶段,分别是:parse、transform、codege
frontend_frank
·
2022-02-09 09:06
python
js
javascript
java
vue
【
编译原理
】第四章:语法分析
一、自顶向下分析概述从分析树的根节点到叶节点方向构造分析树。即从开始符号S推导出词串w的过程。例:自顶向下分析最左推导、最右规约总是选择每个句型的最左非终结符进行替换。最左推导、最右规约最右推导、最左规约总是选择每个句型的最右非终结符进行替换。最右推导、最左规约在自底向上的分析中,总是采用最左规约的方式,因此把最左规约称为规范规约,对应的最右推导称为规范推导。最左推导、最右推导的唯一性最左推导、最
littlefogcat
·
2022-02-09 08:13
[
编译原理
]-----第二章 语言及其文法
1.基本概念(1).字母表字母表:字母表Σ是符号元素的非空集合.符号:字母表中的元素.符号串:字母表中符号组成的任意有穷序列.例:有一个字母表Σ={a,b}则:a,b是字母表中的符号a,aa,aaa,ab,bb,bbb,abab,abaabb.....这些都是符号串空符号串:不含任何符号的符号串,用ε(epsilon)表示.(2).符号表上的运算1).字母表的乘积Σ1Σ2={ab|a∈Σ1,b∈Σ
Benjamin_Lee
·
2022-02-09 05:11
编译原理
构造LR0分析表
代码已经调试通,直接从实验报告复制粘贴来的,可能会有中文编码问题,调成utf-8就行。【实验名称】LR(0)分析表的构造【实验目的】结合书本上P135面LR(0)分析表构造知识,了解掌握LR(0)分析表构造过程,从构造闭包到构造分析表。为后面LR系列的文法打下基础。【实验原理】假设构造出来LR(0)项目规范族为C={I0,I1,IN},其中Ik为项目集名字,k为状态名称。S’->.S的项目的集合的
吃茶的武士
·
2022-02-08 20:19
大学4年复盘
计算机科学的基础课程:计算机组成原理、操作系统、
编译原理
、计算机网络,分别分布大二大三在4个学期,每学期这些
SaltSoup
·
2022-02-08 17:06
深入学习JavaScript作用域
本文原创:wangkaidong1.作用域相关概念1.1
编译原理
1.1.1传统语言的编译流程分词/词法分析(Tokenizing/Lexing)这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块
jad_design
·
2022-02-08 16:01
编译原理
笔记6:从正规式到词法分析器(3):DFA最小化、词法分析器的构造、Lex 使用示例
从DFA到最小DFA关于星闭包的补充:一个语言被认为是所有可能字的子集。所有可能字的集合可以被认为是所有可能的字符串串接的集合。DFA最小化的过程,就是通过某些等效转换减少原DFA状态数的过程——这里的“等效转换”,就是对多余的状态进行合并。那,什么叫多余?这里的多余,指的是对于同样的输入会得到同样的结果——比如在上面NFA转DFA的例子中,我们观察得到的DFA,发现其中的A、C状态对于字母表中任
marsCatXDU_李经纬
·
2022-02-07 16:38
编译原理
笔记15:自下而上语法分析(2)LR 分析基础、LR 分析表、LR(0) 分析表
LR分析LR分析的特点:采用最一般的无回溯移进-规约方法;适用于几乎所有程序设计语言;能及时发现错误;分析表复杂,难以手工构造。LR分析表和驱动器是LR分析的核心。以下讨论会基于下面的文法进行:E→E-T|T(1)(2)T→T*F|F(3)(4)F→-F|id(5)(6)上面的文法也能够说明LR的适用范围更广:产生式可以左递归(预测分析不支持)同一个符号(-)可以既是一元的也是二元的(算符优先分析
marsCatXDU_李经纬
·
2022-02-07 13:25
1 Nodejs01 预学
1、计算机语言、编程/程序语言的区别:词法分析、语法分析、语义分析;->底层涉及
编译原理
(1).计算机能接受的语言;字符、语法规则组成计算机指令或语句->计算机最基础便是0/1机器语言(2).编程语言是由编译器解析成计算机语言
官清岁月
·
2022-02-07 03:48
编译原理
笔记14:自下而上语法分析(1)短语、句柄,规约,移进规约分析器的工作模式
基本方法从句子ω开始,从左到右扫描ω,反复用产生式的左部替换产生式的右部、谋求对ω的匹配,最终得到文法的开始符号(或,发现错误)(也就是从下往上搞出个树,最后推到根也就是开始符号了)在分析的过程中,每一步都总是尝试在句型中寻找一个能够被替换为产生式左部的子串。就这样一步步向上去替换,最终变成一个开始符号。而,由于我们对记号流的扫描是从左到右的,故我们【尝试寻找句型中能够被替换为产生式左部的子串,并
marsCatXDU_李经纬
·
2022-02-06 19:54
2019-11-27
201911月27日上午想把
编译原理
第四章看完把流程图画出来下午(五点前)把数据结构第二章第一章看完职业生涯规划写了(晚上)回寝室把报告写了
lalalandll
·
2022-02-06 04:45
stm32 移植java_把Lua移植到stm32上,效果不错! (amoBBS 阿莫电子论坛)
前段时间还自己花时间去实现一个C语言解释器,看了一堆
编译原理
的东西,以及虚拟机等,头都搞大了,把基本功能实现了,但总是不满意。后来看到lua,网上一搜:才知道魔兽世界的插件就是lua写的....
weixin_39872257
·
2022-02-05 17:04
stm32
移植java
从0开始的python学习:
编译原理
实验3:词法分析器2—自动机方法
一开始是写了的,就是把之前实验2的东西稍微修改了一下,就去和助教讲了,讲完都没发现原来是做错了的,之后理解下来应该是要现在上边用某种数据结构规定几个判断某语句的DFA,然后扫描的时候自动匹配DFA来进行分析(已经学了快半年了,没有去看,差不多忘记了,不知道说的对不对)实验三:词法分析器2—自动机方法实验目的:通过编写一个扫描器(词法分析器),掌握词法分析器的构造方法之一:自动机方法(模拟DFA法)
Launcher-Z
·
2022-02-05 07:05
学校实验报告
python
编译原理
词法分析
编译原理
笔记8:语法分析(2)上下文无关文法 CFG 、推导
写在前面:前几篇博客中说到的词法分析,做的是从【x+y→id+id】的工作,也就是要将源代码变成一个记号流。语法分析,就是要通过为这个记号流序列(在“龙书”中,该序列被称为“词法单元序列”)构造一棵语法分析树,构造该树的方式就是“推导”(事实上,分析树其实是推导的图形化表示)。若能够进行这样的推导:E=>E+E=>id+E=>id+id,即由E推出了id+id,与从词法分析器那里得到的id+id相
marsCatXDU_李经纬
·
2022-02-05 03:48
编译原理
学习笔记-基本术语
学习前,先来了解两个概念:编译器:计算机上运行的所有软件都是用某种程序设计语言编写的,但是一个程序在运行之前需要被翻译成能够被计算机所识别的形式,也就是及机器语言,完成这项翻译任务的软件就是编译器,也就是说编译器本身也是一个软件;如下图:编译器.png解释器:直接使用用户提供的输入的源程序进行计算执行,同时把结果输出给用户,如下图:解释器.png显然:由编译器产生的及其语言目标程序要比解释器要快的
blentle欢子
·
2022-02-04 23:22
[
编译原理
] 第一章
1.1节的练习练习1.1.1:编译器和解释器之间的区别是什么?编译器解释器1、执行代码的时机:编译器会先把源程序翻译成目标程序,用户再通过目标程序执行代码,执行时是不需要编译器的,直接在平台上执行。解释器是边解释边执行代码。2、源程序错误:编译器是在翻译源程序过程中就发现错误。解释器是在程序运行中,才能发现错误。练习1.1.2:编译器相对于解释器的优点是什么?解释器相对于编译器的优点是什么?编译器
耿杰
·
2022-02-04 20:02
编译原理
笔记16:自下而上语法分析(3)构造 DFA、DFA 对下一步分析的指导(有效项目)
看了前面的内容,我们已经了解到:分析表和驱动器算法,是LR分析器的核心。在分析的过程中,语法分析器总是根据栈顶的状态、当前剩余输入的第一个终结符查询分析表,以确定改变格局的动作并执行,实现对栈和剩余输入的内容的修改,从一个格局转移到另一个格局,如此往复直至分析完毕(或报错)。下面我们就来研究一下如何从文法构造DFA——这是构造LR(0)、SLR(1)分析表的第一步。由NFA用子集法构造DFA前一篇
marsCatXDU_李经纬
·
2022-02-03 17:01
玩转JS中的堆栈内存及函数底层处理机制
这涉及到
编译原理
,js在刚开始就是一大坨字符串文本,浏览器中的
进击的切图仔
·
2022-02-03 08:58
javac 编译与 JIT 编译
很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统
编译原理
中从源代码到目标机器代码的生成过程。
三也视界
·
2022-02-03 01:30
编译原理
笔记1:概述编译相关的基本知识
本系列为个人
编译原理
学习笔记,谬误之处恳请高人指点,感激不尽!内容整理自西安电子科技大学王小兵、张南、鱼滨老师的
编译原理
课程。
marsCatXDU_李经纬
·
2022-02-02 22:25
Go
编译原理
系列5(抽象语法树构建)
前言在上一篇语法分析中,我们知道了Go编译器是如何按照Go的文法,解析go文本文件中的各种声明类型(import、var、const、func等)。语法分析阶段将整个源文件解析到一个File的结构体中,源文件中各种声明类型解析到File.DeclList中。最终生成以File结构体为根节点,importDecl、constDecl、typeDecl、varDecl、FuncDecl等为子节点的语法
·
2022-01-15 09:28
【C++编译】cmake简明教程
cmake存在的意义在介绍g++/gcc原理的文章中C++
编译原理
,我们用一个简单的例子讲解了C++编译的原理,以及g++的使用。对于生成可执行文件这项任务,我们需要包含相应的头文件,以
·
2022-01-14 22:45
Go
编译原理
系列3(词法分析)
前言在上一篇文章中,介绍了词法分析中的核心技术,有穷自动机(DFA),以及两个常见的词法分析器的使用及工作原理。在这个基础上去看Go的词法分析源码会轻松许多本文主要包含以下内容:Go编译的入口文件,以及在编译入口文件中做了哪些事情词法分析处在Go编译的什么位置,以及详细过程是什么样的写一个测试的go源文件,对这个源文件进行词法分析,并获取到词法分析的结果源码分析Go的编译入口为了能更清楚的了解Go
·
2022-01-02 12:41
编译原理
-编译静态库并链接
将test.m编译成test.o:/**clang命令参数:-x:指定编译文件语言类型-g:生成调试信息-c:生成目标文件,只运行preprocess,compile,assemble,不链接-o:输出文件-isysroot:使用的SDK路径1.-I在指定目录寻找头文件headersearchpath2.-L指定库文件路径(.a\.dylib库文件)librarysearchpath3.-l指定链
蓝汐o
·
2021-12-31 11:23
V8 编译浅谈
简介:本文是一个V8
编译原理
知识的介绍文章,旨在让大家感性的了解JavaScript在V8中的解析过程。
·
2021-12-23 15:30
前端javascript
Go
编译原理
系列2(词法分析&语法分析基础)
前言关注公众号:IT猿圈,后台回复:Go
编译原理
系列1,可获得pdf版在前一篇
编译原理
的文章中,并没有介绍词法分析是如何将源文件中的字符转换成一个个的词法单元,中间用到了哪些技术或工具。
·
2021-12-21 11:48
golang编译原理后端
「Vue源码学习」简单讲一讲keep-alive的原理吧
回想起来,我一开始写作的时候就是写Vue源码系列的,都收录在我的掘金专栏Vue源码解析之中:「Vue源码学习(一)」你不知道的-数据响应式原理Vue源码学习(二)」你不知道的-模板
编译原理
「Vue源码学习
·
2021-12-21 10:13
vue.js源码面试
babel插件实践(二)babel插件开发
前言上一篇文章讲述了babel
编译原理
流程,这一篇正式开启编写babel插件。
小猿_Luck_Boy
·
2021-12-11 13:29
[
编译原理
实验] LR0语法分析
LR0语法分析实现(完整版)[
编译原理
实验]_younger77的博客-CSDN博客2.实现效果:3.源代码:#include#include#include#include#definenum20typedefstructl
Younger77
·
2021-12-01 22:28
c语言
C语言督学营 高级笔记 (Day5~6) (汇编重点)
individuality一研为定算法内核
编译原理
设计模式文章目录高级第五次直播内存混合运算内存查看接口编写混合运算深入理解const结构体对齐原理高级第六次直播汇编讲解指令格式与常用指令理解数组与指针对应的汇编汇编实战条件码函数调用原理
QuantumYou
·
2021-12-01 20:25
学习随笔
c++
开发语言
后端
【
编译原理
】- 基于Flex构造词法分析器
【问题描述】设计c语言常见单词的正规式,编制lex源文件,利用flex编译得到词法分析的.c文件,继而对该文件编译得到词法分析器。【输入形式】输入一段c语言程序【输出形式】各类单词的token字,或者给出程序中的单词错误。【样例输入】intmain(){inta=10;doubleb=20.9;if(a#includeintline=1;typedefstructanswer{intline;ch
Spikeeee-
·
2021-12-01 16:54
编译原理
机器学习
c语言
c++
LR0语法分析实现(完整版)[
编译原理
实验]
目录一、实验要求:二、实现效果:(基于python实现)三、源代码:四、测试文法(保存于1.txt)五、参考代码六、源代码下载一、实验要求:给定LR(0)文法,计算LR(0)项目集规范族。构造其自动机(转换函数形式)。判断文法是否为LR(0)的。根据自动机构造其语法分析表。模拟LR语法分析过程。二、实现效果:(基于python实现)三、源代码:grams=[]#存储产生式dot_grams=[]#
Younger77
·
2021-12-01 16:26
python
pycharm
c艹进阶编程(1)
此文并不适合初学者阅读目录替换#define用const替换用enum替换用inline替换constexpr及const的尽可能使用不同文件的static参数初始化顺序替换#define用const替换如果各位对
编译原理
熟悉
无情の学习机器
·
2021-10-30 10:20
c艹新特性集合
c++
开发语言
后端
iOS
编译原理
主要内容:理解C、C++以及OC的关系编译型语言与解释型语言编译器LLVM与CLang理解iOS编译流程预处理编译汇编链接一、理解C、C++以及OC的关系1.C语言C语言是一门面向过程的计算机编程语言,既可用于系统软件开发,也适用于应用软件开发;C语言编译器普遍存在于各种不同的操作系统中,例如MicrosoftWindows,MacOSX,Linux,Unix等;C语言的设计影响了众多后来的编程语
梧雨北辰
·
2021-10-28 09:10
【
编译原理
】自下而上语法分析(C/C++源码+实验报告)
文章目录1实验目的和内容1.1实验目的1.2实验内容1.3实验要求2设计思想2.1根据BNF描述该文法2.2根据文法写出LR(0)项目集规范族2.3根据项目集规范族画出识别活前缀的DFA2.4判断该文法是否是LR(0)文法2.5构造LR(0)分析表3算法流程4源程序5调试数据6思考:词法分析+语法分析6.1将实验一的词法分析作为函数写入语法分析程序6.2调试数据6.3调试结果7实验调试情况及体会7
小天才才
·
2021-10-21 09:45
课程学习资料
c++
编译原理
语法分析
【
编译原理
】自上而下语法分析(C/C++源码+实验报告)
文章目录1实验目的和内容1.1实验目的1.2实验内容1.3实验要求2设计思想2.1根据BNF描述该文法2.2根据文法画相应的语法图2.3判断是否是LL(1)文法---求First、Follow集2.4递归下降子程序3算法流程4源程序5调试数据6思考:词法分析+语法分析6.1将实验一的词法分析作为函数写入语法分析程序6.2调试数据6.3调试结果7实验调试情况及体会7.1实验调试情况7.2实验体会1实
小天才才
·
2021-10-20 10:19
课程学习资料
c++
编译原理
语法分析
C++
编译原理
之求解First集合
目录1、上机要求2、原理3、一点思路及优化4、代码4.1lan.txt文件内容4.2lan.txt文件内容1、上机要求目的:熟练掌握自上而下的语法分析方法,并能用程序实现。要求:例如,使用的文法如下:编写First函数,实现其求解过程。E->TE'E'->+TE'|#T->FT'T'->*FT'|#F->(E)|idend提示:非终结符为大写字母;或后面带'的大写字母终结符为小写字母和符号(+、*
·
2021-10-19 11:24
软件设计师 易错知识点(数据结构与算法
编译原理
)
文章目录数据结构与算法广义表希尔排序推排序基数排序排序算法的时间复杂度
编译原理
编译过程文法定义语法推导树(不清晰)有限自动机正规式函数调用的传值与传址程序语言的特点数据结构与算法广义表希尔排序推排序堆的概念堆的初始化过程
QuantumYou
·
2021-10-16 16:43
学习随笔
数据结构
算法
面试
【
编译原理
】词法分析(C/C++源代码+实验报告)
文章目录1实验目的和内容1.1实验目的1.2实验内容2设计思想2.1单词种类及其正规式2.2根据正规式构造NFA2.3根据NFA构造DFA2.3.1根据替换规则构造未化简的DFA2.3.2最小化DFA3算法流程4源程序5调试数据5.1测试样例一5.2测试样例二5.3测试样例三6实验调试情况及体会6.1实验调试情况6.2实验体会1实验目的和内容1.1实验目的(1)根据PL/0语言的文法规范,编写PL
小天才才
·
2021-10-13 15:25
课程学习资料
c++
编译原理
词法分析
深入了解Vue3模板
编译原理
目录ParseTransformcacheHandlershoistStaticprefixIdentifiersPatchFlagshoiststype变化Codegen代码生成模式静态节点帮助函数helpershelpers是怎么使用的呢?如何生成代码?Vue的编译模块包含4个目录:compiler-corecompiler-dom//浏览器compiler-sfc//单文件组件compile
·
2021-10-12 19:11
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他