
理论基础
guikunchen
这个作者很懒,什么都没留下…
展开
-
编译原理——用C#实现正则表达式到最小DFA的转换
源码已公布在GitHub上,本来是写了这个功能给记事本提供正则表达式的搜索和替换功能,但是记事本那边暂时有一点点bug所以没放在一起。如果想知道构造出来的自动机的结构,我写的代码支持用graphviz进行显示。代码里会告诉你怎么画出跟下面一样的图:接下来我大致讲一下整个代码的结构,而具体的实现请参考GitHub里的代码,关键步骤都打了注释(应该)。正则表达式转NFAThompson算法T...原创 2020-01-30 13:22:23 · 1352 阅读 · 0 评论 -
编译原理——短语、简单短语、句柄
给出文法1:下列句子1可由文法1推导得到:接着构造句子1的语法树:接下来给出短语、简单短语、句柄的不严谨定义:短语:一颗树及其子树包含的所有叶节点组成的符号串,上图的短语为id1 id1*id2 id2 三个。简单短语:只包含叶节点的子树,其叶节点组成的符号串,上图的简单短语为id1 id2 两个。句柄:最左端的简单短语,上图的句柄为id1。接下来看句子1的语法分析的例子...原创 2019-10-12 20:19:16 · 20471 阅读 · 5 评论 -
操作系统——内存管理中的分页存储管理方式
参考文献汤小丹等,《操作系统》名词解释页面(页)将用户程序的地址空间分为若干个固定大小的区域,即页面。物理块(块)将整个内存空间也划分为若干个固定大小的区域,这里的大小与页面的大小一致,称为物理块。地址、数据结构离散分配、页表通过上述的空间划分结构,用户程序的任一页面都可通过离散分配的方式装入内存空间中的某一物理块。为了记录这一映射关系,设置了一个专门的数据结构——页表,如图1所...原创 2019-07-20 11:26:24 · 904 阅读 · 0 评论