Hyggge's Blog
「Compile」SysY编译器设计 「Compile」SysY编译器设计
编译器总体设计 总体结构 本文描述的编译器是采用Java语言编写的MIPS编译器。该编译器分为前端,中端,后端三部分—— 前端:词法分析、语法分析、语义分析,最终将源程序生成为LLVM IR 中端:中间代码优化,包括mem2reg,GVN
2023-01-11
「Ruby」 Block的理解和使用 「Ruby」 Block的理解和使用
Block是Ruby中比较重要的概念,也算是一块比较难啃的骨头。笔者在学Ruby基础的时候,碰到了很多关于块的“神奇操作“,但是在google上搜了很久也没有找到满意的答案(毕竟Ruby相对小众一点)。本想先跳过,在学完rails之后再补习
2022-10-08
「Ruby」Case Equality 「Ruby」Case Equality
前言 当笔者第一次看到===时,便想当然的认为这与JavaScript中===的用法相同,即“同时比较数据类型和数值”。为了验证这个猜想,我在irb中做了以下测试 1.0是浮点类型,而1是整数类型,但是1===1.0的结果却是true。很
2022-09-06
「Shell」 Shell中的特殊符号 「Shell」 Shell中的特殊符号
Shell中有一系列诸如 ${ },$[ ],$( ),[[ ]]这样的特殊符号,它们长相相似但用法却大相径庭,非常容易混淆。笔者在写Shell脚本时也经常将它们的用法弄混,因此特地整理在此,以便日后查阅。 $ 的用法 在写Shell脚本时
2022-07-25
「Git」Little Tips 「Git」Little Tips
Git中还有很多实用并且常用的小技巧,适当的使用可以提高我们的工作效率。但因为这些Tips比较琐碎,没法将它们归档到特定的主题下,于是我便整理到这里了—— git commit 选项 git commit -a指令可以自动把所有已经跟踪
2022-07-06
「Git」stash命令 「Git」stash命令
stash命令 假设我们正在分支dev上工作,干着干着突然被要求在master分支上解决一个问题。但是此时我们在dev上的工作还没完成,没法commit到本地版本库,如果所以我们现在应该怎么做呢? 这就需要stash出场了——stash可以
2022-07-06
2 / 11