
project
文章平均质量分 94
rzO_KQP_Orz
新博客地址:http://kqp.world/,优快云内容已不再维护
展开
-
【编译原理大作业】Tiny+的三地址码
咕得有点久了 这是编译原理大作业的第二步:进行语义分析,生成三地址码。 三地址码是一种平台无关的中间代码(类似汇编,但没到 x86、MIPS 那么具体),特点是:1、变量和 label 无需换成具体的地址,能区分清楚就行(例如嵌套作用域的同名变量要区分开);2、寄存器无限量,不需要考虑有限的寄存器池;3、没有关于 CPU、操作系统的对接细节。这还是一个比较中间层次的东西,要生成具体的可执行代码时,不同平台可以直接拿三地址码来翻译。 有了上一步的语法树之后,这一部分就不需要额外的工具了,就在语原创 2021-08-11 16:32:19 · 2971 阅读 · 0 评论 -
【编译原理大作业】Tiny+的语法树
这是编译原理大作业的第一步:词法分析与语法分析,最终效果是构建出语法树。 学过编译原理都知道,词法分析要用自动机,语法分析要用 CFG。善良的老师说,我们可以不用手写自动机和 CFG,可以用工具。然后又看到实验室里做逻辑公式求解器的代码也用的是 flex 和 bison,于是我就需要学习 flex+bison 这一套现代工具链。 过程中我发誓我一定要写一篇 flex 和 bison 踩坑记 推荐资料:《flex与bison(中文版)》、bison官方文档,做的过程中遇到问题在谷歌里搜索,原创 2021-04-17 22:17:24 · 2470 阅读 · 0 评论 -
RSA 破解同一模数的其他私钥
把那些别人认为显然的而我死也想不出来的东西,都记下来 Task 做作业的时候遇到了这么个题: Alice and Bob love each other, so they decide to use a single RSA modulus NNN for their key pairs. Of course each of them does not know the private key of the other. Mathematically, Alice and Bob have the原创 2020-10-07 11:19:39 · 760 阅读 · 0 评论 -
【程设大作业】printf 的实现
我决定挂(biao)一挂(biao)我们的这个程设大作业。 (同样是大一,别人家的大作业是写一个 jumping game,怎么到你这就是个 printf 呢。。。 Task 一句话,就是要手写 printf。原创 2019-01-31 23:23:29 · 470 阅读 · 0 评论 -
【程设大作业】mydeque
记录下,那段,与 STL 斗智斗勇的岁月~ Task 一句话,实现 `deque<int>` 及相应的 `iterator`。 具体来说,你需要实现 `mydeque`、`myIterator`、`myrIterator` 三个类(不允许使用 STL),需要完成的功能如下:原创 2019-07-19 20:39:27 · 542 阅读 · 0 评论