【百宝箱】包含多种常用工具
听歌
在线听&下载
HiFiNi(论坛形式,可免费下载)
天天静听
MyFreeMP3
音乐搜索器
spotify
影视
下载
BT之家(片源高清,资源多)
片库
强大的下载资源地
电影天堂
b站下载工具
在线观看
LIBVIO(推荐1)
低端影视(推荐2)
影视在线
在线之家
爱看美剧
speedsoon
爱迪影视
磁力搜索
海盗湾(推荐1)
SkrBT
18+
最全的导航:porndude
私人网盘1:tgbak网盘
私人网盘2:张三网盘
AV1:JAV学习
AV2:netflav
[HongKong Doll 在线](https://fvkn-my.sharepoint.com/personal/vgga_a_1ove_ml/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fvgga_a_1ove_ml%2FDocuments%2FHongKond Doll&ga=1)
图片1:个人摄影
图片2:摄影网站
论坛:x1080x论坛
torrent下载
游戏
skidrowcodex(第一时间发布各种游戏的破解,免费,种子下载)
...
【Compiler-7】LR分析法
LR分析法
本章介绍上下文无关文法的LR分析方法及分析程序的自动构造。
LR:自左至右扫描,最右推导的逆过程。
基本思想
在规范归约过程中,一方面记住已移进和归约出的整个符号串,另一方面根据所用的产生式推测未来可能碰到的输入符号。
优缺点
优点:与其他技术相比,适应文法范围更广,能力更强,识别效率相当,尤其在自左向右扫描输入串时就能发现其中错误,并能准确指出出错位置。
缺点:
若用手工构造分析程序,工作量太大,且容易出错,所以必须使用自动产生这种分析程序的产生器。
LR分析器
实际上是个有下推栈的确定的有限状态自动机
从逻辑上说,LR分析器包括两部分:
总控程序,或称为语法分析程序
分析表;
注
后面要学习的四种LR分析器的总控程序都相同,仅仅是它们的分析表不同
总控程序
查分析表,根据分析表的内容做若干简单动,如:读头后移,入栈,出栈等。
分析表
四种分析表范围
一个文法的LR分析器常常对应着若干不同分析表所有分析表都恰好识别文法所产生的所有语句。
一共有下列四种分析表
1、LR(0)分析表:
分析能力有限,但这是建立其他LR分析法的基础。
...
【Compiler-6】自上而下分析
自下而上分析法
使用归约法
一共有三种归约法
简单优先分析法
算符优先分析法
LR分析法
思想
自下而上的语法分析过程是一个最左归约的过程,从输入串开始,朝着文法的开始符号进行归约,直到到达文法的开始符号为止的过程。
注意:输入串在这里是指从词法分析器送来的单词符号组成的二元式的有限序列。、
自下而上分析法使用下推自动机
下推自动机PDA
工作方式
自左至右把输入串的符号一个一个移进栈,在移进过程中不断查看栈顶符号串,一旦形成某个句型的句柄时,就将此句柄用相应的产生式左部替换(归约)
若再形成句柄,就继续替换,直到栈顶不再形成句柄为止。
然后继续移进符号,重复上面的过程直到栈顶只剩下文法的开始符号,输入串读完为止,这样就可以认为识别了一个句子。
注:
1)初态时栈内仅有栈底符“#”,读头指在最左边的单词符号上。
语法分析程序执行的动作:
a)移进:读入一个单词并压入栈内,读头后移;
b) 归约:检查栈顶若干个符号能否进行归约,若能,就以产生式左部替代该符号串,同时输出产生式编号;
c) 识别成功:移进一归约的结局是栈内只剩下栈底符号和文法开始符号,读头也 ...
【Compiler】-5 自上而下的语法分析
自上而下的语法分析
1、语法分析的地位
是编译程序的核心部分
2、语法分析的任务
识别由词法分析得出的单词序列是否是给定文法的句子。
3、语法分析的理论基础
上下文无关文法和下推自动机
4、语法分析的方式
自上而下语法分析:从开始符号->符号串。反复使用不同产生式进行推导以谋求与输入符号串相匹配
自下而上语法分析:从符号串->开始符号。对输入符号串,寻找不同产生式进行归约直到文法开始符号。
下推自动机
相对于一个自动机,多出了个下推栈
定义如下
H下推栈内字母表
z0是一个标志,表示栈到底了(栈空状态)
z是栈顶元素
q0是初始状态
q是状态
举例
输入:在q状态下,如果栈顶元素为z,输入符号(读头的符号)为a
使用这个函数
输出:将q变成不同状态q’,并且让栈顶元素z变成r1,r2,r3……
因为这个PDA是不确定的PDA
基本构成
将栈顶元素和读头进行比较,如果相同,就top–,读头++;
如果不相同,就从语法表中找到这个非终结符的产生式,用产生式替换非终结符(栈顶元素)位置,再取栈顶符号
当栈中的开始符号“#”和读头 ...
【Cryptography】ssh的本地端口转发与远程端口转发
原因
下午上密码学,看到讲解ssh端口转发的内容,书中讲的实在太模糊了,于是上网找相关内容自学
本文实现目标
1、ssh本地端口转发讲解
2、ssh远程端口转发讲解与windows上演示
正文
1、ssh本地端口转发
适合的状况
本地主机hostLocal(图中左边)无法访问私网主机hostPrivate(图中右边)
本地主机可以访问云服务器
私网主机可以访问云服务器
云服务器可以访问私网主机(非常重要啊,能和下面的远程端口转发区分开)
云服务器无法访问本地主机
为了实现的目标
让本地主机可以访问私网主机
思路
因为本地主机可以连接到云服务器,那可以借助云服务器,近一步访问到私网主机
整体流程
在本地主机设置一个端口(假如为)2233(目的是,以后本地主机可以通过端口2233访问私网主机)
给目标私网主机设置一个端口(假如为)7788(目的是:可以在此端口运行web服务网页,当然也可以设置为FTP协议对应的21端口)。当然,私网主机也有一个私网ip嘛,假如为52.77.56.16。
先明确一点:云服务器是可以访问到这个私网ip:52.77.56.16,以及对 ...
【hexo】22端口被禁用无法推送到github
原因
出于安全原因,学校把22端口禁用了,使用校园网无法通过ssh(默认22端口)连接上github。
本文实现目标
0、不使用代理
1、在windows下,解决22端口无法连接到github
2、解决hexo无法上传到github问题
步骤
1、配置ssh的config
用记事本打开ssh连接用到的config文件,如果没有.ssh目录,请打开“隐藏的目录和文件”
路径:C:\Users\用户名\.ssh\config
代码如下,需要自行修改IdentityFile,其它的可以不变
12345Host github HostName ssh.github.com Port 443 User git IdentityFile "C:\Users\用户名\.ssh\id_rsa"
相关解释
名称
值
解释
Host
github
是自定义的名称,方便给每个服务器设置一个方便记忆的名字,如:github.com或github
HostName
ssh.github.com
必须为真实的域名或服务器ip,因为要用ssh连接到githu ...
【Compiler】-4-词法分析程序
词法分析程序
任务
从左至右扫描源程序的字符串,按照词法规则识别出一个个正确的单词,并转换为相应的二元式(类号,内码)形式,交给语法分析使用。
输入缓冲区中可以会有预处理
预处理原因:
对空行、回车、空格、注释进行过滤
一行语句结束应配上一个特殊字符说明,如分号“;”
有些语言要识别标号区,区分标号语句,找出续行符连接成完整语句等
超前搜索
一般高级语言不必超前搜索,但有些对关键字不加保护的语言,单词间没有明确界符,要在上下文环境中识别单词,这时需要超前搜索。
单词分类
基本字(关键字、保留字),设置基本字表,每个基本字占有一个类号,内码缺省;
标识符: 变量名、数组名、函数名、过程名―常量,动态填写标识符表。
各种标识符统一为一类,由内码来区分不同的标识符名。通常将各标识符的符号表入口地址作为其内码。
对于常量,以常量的数据类型区分不同类号。对每一类(整数、浮点数)设置相应常量表。各常量在其常量表中的入口地址作为其内码。
运算符:设置运算符表
界符:. , ; ( ):等。有时把运算符也当作界符。设置界符表
【hexo】在typora添加图片并上传到阿里云oss
本文要实现的目标
在typora添加图片后,图片会上传到阿里云的oss,并能在网站的文章中显示
前提
开通阿里云的oss服务和cdn服务
本文不教如何开通阿里云oss与cdn
步骤
1、上传图片到阿里云oss
教程:https://zhuanlan.zhihu.com/p/344941041
2、设置Typora
在Typora里面偏好设置->图像->插入图片时,选择上传图片
并且!!!
下面的选项中
优先使用相对路径选中!!!
插入时转义图片最好也选中,如果图片名是中文的话,需要转义后才能引用
3、本地检测
完成这些后,再新建一篇文章,随便复制一张图片到文章中,随后picgo会自动上传到阿里云oss中,并且在typora的图片链接会变成对应的cdn链接,如下图所示。
4、网站上检测
同时打开网站看看是否可以显示出图片,图片显示正常。成功!!!
5、优点
使用cdn优点,加载速度比从github获得图片更快
6、缺点
每个月会产生一定费用,如果用量不大,1块钱左右
如果开通了防盗链,typora上无法显示图片,并且无法调整图片的大小
【compiler】-3-词法分析
词法分析是编译的第一个阶段,在单词的级别上分析和翻译源程序。
理论基础
有限自动机理论
有限自动机理论与正规文法、正规式之间在描述语言方面有一对一的关系。
学习目标
掌握有限自动机与正规文法、正规式之间的转换。
能够构造词法分析程序。
正规文法、正规集、正规式
正规文法
正规文法是compiler-2中提到的3型文法
正规文法是描述正规集的文法,可用于描述程序设计语言的语法部分。
例如:标识符这种单词可以用下面的规则描述。
<标识符>→<字母>|标识符>(<字母>|<数字>)
<字母>表示在意英文字母
<数字>表示任意数字
正规集
由正规文法产生的语言
正规集是集合,可有穷也可无穷。可通过正规式来形式化表示。
正规式
规则:
设A是非空的有限字母表,A={a,/ i=1,2,… …n},则空串、空集,字母表中任一字母【a~i~ (i=1,2,… …n)】都是正规式。
心
若α、β是正规式,则α|β、α*β 、α*、β*也是正规式。【α的正闭包一定是正规式】
正规式只能通过 ...
【Compiler】-2-编译原理基础知识
程序语言的定义
语言=语法+语义
语法
任何语言程序都可以看成是一定字符集(字母表)上的字符串。
语法使得这串字符形成一个形式上正确的程序。
语法=词法规则+语法规则,例如:0.5*x1+c
0.5、x1、c、*、+是语言的单词符号
0.5*x1+c是语言的语法单位
词法规则
词法规则规定了字母表中哪些字符串是单词符号
单词符号一般包括:==常数、标识符、基本字算符、界限符==等。比如界限符 [](){}…… 再比如“:=”是赋值符号
我们用正规式和**==有限自动机==理论来描述词法结构和进行词法分析**。
语法规则
规定了如何从单词符号来形成语法单位:==表达式、子句、语句、函数、过程、程序==
现在多数程序语言使用**==上下文无关文法==来描述语法规则**。
语言的词法规则和语法规则定义了程序的形式结构,是判断输入字符串是否构成一个形式上正确的程序的依据。
本章重点:有限自动机、上下文无关文法
刚刚判断了句子上构造是否有问题,但无法判断句子是否有意义,所有还需要语义
语义
对于一个语言来说,不仅要给出它的词法规则、语法规则,而且要定 ...