整个引擎代码在github上,地址为:https://github.com/sun2043430/RegularExpression_Engine.git nullable, firstpos, lastpos, followpos函数介绍 接着上两篇文章 <正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——1 概述> <正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——2 构造抽象语法树> 本篇将讲解对抽象语法树上的每一个节点计算对应的4个函数:nullabl…
// 来自龙书第2章2.5小节-简单表达式的翻译器 笔记 既然是语法制导翻译(Syntax-directed translation),那么最重要的东西当然是描述该语言语法的文法,以下为中缀表达式文法(仅由+-以及0~9的数字构成): expr -> expr + term | expr - term | term term -> ~9的数字 接下来考虑如何利用该文法将原语言转化为后缀形式,此时可以脑补一下该文法的语法分析树(parse tree),例如: 严格来说,语法分析树是相对于某特定终…
对于给定的DFA    M,寻找一个状态数比M小的DFA    M'使得L(M)=L(M') 1.状态的等价性: 假设s和t为M的两个状态 ①若分别从状态s和状态t出发都能读出某个字α而停止于终态,则称s和t等价 ②存在一个字α,使得s和t一个读出α停止于终态,另一个读出α停止于非终态,则称s和t可区别 2.基本思想: ①把M的状态集分为一些不相交的子集,使任何两个不同子集状态是可区别的,而同一子集的任何两个状态是等价的 ②让每个子集选出一个代表,同时消去其他状态 3.划分 ①把S划分为终态和非…
目录 First计算 Follow计算 Select计算 已知文法G[S]: S→MH|a H→LSo|ε K→dML|ε L→eHf M→K|bLM 判断G是否是LL(1)文法. First计算 First集合的定义就是某个非终结符表达式可以推导出来的第一个字符可以是什么 比如表达式S --> abb,它的First(S)={a} First(S)={a}+First(M)+First(H)+{ε}={a,b,d,e,ε} # S表达式存在单个的终结符a,添加{a} # S表达式以M开头,添加…
本章主要讲关于分类的一些机器学习知识点.我会按照以下关键点来总结自己的学习心得:(本文源码在文末,请自行获取) 什么是MNIST数据集 二分类 二分类的性能评估与权衡 从二元分类到多类别分类 错误分析 多标签分类.多输出分类   什么是MNIST数据集 MNIST数据集是一组由美国高中生和人口调查局员工手写的70,000个数字图片数据集.官方链接为:http://yann.lecun.com/exdb/mnist/ 这组数据集X标签是28*28大小的像素强度数值,y标签是一个该图像对应的一个真实…
1. 综述 STM8S提供三种类型的 TIM 定时器:高级控制型(TIM1).通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6).它们虽有不同功能但都基于共同的架构.此共同的架构使得采用各个定时器设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能). 本文只针对STM8S103该芯片进行介绍,该芯片的定时器个数为3个,每个类型的定时器都一个,分别为高级控制型(TIM1).通用型(TIM2).基本型定时器(TIM4). 2. 关于STM8S103手册的TIM简介…
0×01 前言: 关于前两节url: 第一章:http://www.freebuf.com/articles/web/40520.html 第二章:http://www.freebuf.com/articles/web/42727.html 说的xss的原理及不同环境的构造方法.和XSS的分类及挖掘方法.那么本期则说XSS技巧,前面两个干货不太多,讲的都是比较基础的.而这期则是满满的干货. 从本期开始,XSS我就开始深入了.至 于下一章XSS编码,已经被0xExploit写过了( http://…
3.1分布式文件 HDFS默认一个块的大小是64MB,与普通文件不同的是如果一个文件小于数据块的大小,它并不占用整个数据块的存储空间. 主节点又叫名称节点:另一个叫从节点又叫数据节点.名称节点负责文件和目录的创建.删除和重命名,同时管理数据节点和文件块的映射关系.数据节点负责数据存储和读取. 3.2HDFS的相关概念 MapReduce中的map一次只处理一个块中的数据.HDFS抽象块的概念可以带来一下好处: 支持大规模文件存储 简化系统 适合数据备份 名称节点在启动过程中处于安全模式,只对外提…