会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
GunLun
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
31
下一页
2023年3月24日
从0开始自制解释器——添加对括号的支持
摘要: 在上一篇我们添加了对乘除法的支持,也介绍了BNF范式,并且针对当前的算术表达式写出了对应的范式,同时根据范式给出相应的代码实现。这篇我们将继续为算数表达式添加对括号的支持。 对应的BNF 范式 在上一篇我们给出了乘除法对应的范式 <expr>::=<term>{(PLUS|MINUS)<term>}
阅读全文
posted @ 2023-03-24 17:41 masimaro
阅读(81)
评论(0)
推荐(0)
2023年3月22日
从0开始自制解释器——添加对乘除法的支持
摘要: 在上一篇中,我们实现了对减法的支持,并且介绍了语法图。针对简单的语法进行描述,用语法图描述当然是没问题的。但是针对一些复杂的语法进行描述,如果每个部分都通过语法图来描述就显得有些繁琐了。这篇我们先介绍另一种描述语法的方式,并进一步介绍一些关于语法分析的知识。 BNF范式与上下文无关文法 巴科斯范式
阅读全文
posted @ 2023-03-22 16:43 masimaro
阅读(76)
评论(0)
推荐(0)
2023年3月14日
从0开始自制解释器——实现多个整数的加减法
摘要: 在上一篇我们实现了一个可以计算两个多位整数加减法的计算器。本章我们继续来给这个计算器添加功能,这次要给它添加可以连续计算多个整数相加减的功能。例如我们可以计算 1 + 2 + 3 这样的表达式。 语法图 在正式写代码之前让我们先来学习一下一些基本的理论知识。这次要介绍的理论是语法图。 什么是语法图呢
阅读全文
posted @ 2023-03-14 17:33 masimaro
阅读(98)
评论(0)
推荐(0)
2023年3月8日
从0开始自制解释器——实现多位整数的加减法计算器
摘要: 上一篇我们实现了一个简单的加法计算器,并且了解了基本的词法分析、词法分析器的概念。本篇我们将要对之前实现的加法计算器进行扩展,我们为它添加以下几个功能 计算减法 能自动识别并跳过空白字符 不再局限于单个整数,而是能计算多位整数 提供一些工具函数 首先为了支持减法,我们需要重新定义一下TokenTyp
阅读全文
posted @ 2023-03-08 13:05 masimaro
阅读(143)
评论(0)
推荐(0)
2023年3月7日
从0开始自制解释器——实现简单的加法计算器
摘要: 为什么要学习编译器和解释器呢?文中的作者给出的答案有下面几个: 为了深入理解计算机是如何工作的:一个显而易见的道理就是,如果你不懂编译器和解释器是如何工作的那么你就不明白计算机是如何工作的 编译器和解释器用到的一些原理和编程技巧以及算法在其他地方也可以用到。学习编译器和解释器能够学到并强化这些技巧的
阅读全文
posted @ 2023-03-07 11:11 masimaro
阅读(224)
评论(0)
推荐(1)
2023年3月4日
从0开始自制解释器——综述
摘要: 作为一个程序员,自制自己的编译器一直是一个梦想。之前也曾为了这个梦想学习过类似龙书、虎书这种大部头的书,但是光看理论总有一些云里雾里的感觉。看完只觉得脑袋昏昏沉沉并没有觉得有多少长进。当初看过《疯狂的程序员》这本书,书里说,真正能学会编译原理并不是靠看各种书然后通过相关考试,而是有一天你的领导找到你
阅读全文
posted @ 2023-03-04 11:21 masimaro
阅读(333)
评论(0)
推荐(1)
2023年2月4日
从零开始配置vim(32)——最后再说两句
摘要: 很抱歉我决定结束这个系列的内容了。原本我打算介绍markdown、orgmode相关的配置,甚至还打算介绍如何在vim 中使用 emacs 的 org-agenda 来进行日常的任务管理。但是出于一些原因我打算放弃了。 首先如果将markdown 理解为另一种类似于HTML 的标记语言的话,我们在介
阅读全文
posted @ 2023-02-04 11:23 masimaro
阅读(201)
评论(1)
推荐(0)
2023年2月1日
从零开始配置vim(31)——git 配置
摘要: 很抱歉又拖更了这么久了,在这个新公司我想快速度过试用期,所以大部分的精力主要花在日常工作上面。但是这个系列还是得更新下去,平时只能抽有限的业余时间来准备。这就导致我写这些文章就慢了一些。 废话不多说,咱们正式开始有关git相关的配置。这些配置都是根据我自身使用习惯来定义的,不一定符合各位的习惯,各位
阅读全文
posted @ 2023-02-01 13:20 masimaro
阅读(162)
评论(0)
推荐(0)
2023年1月7日
2022年回顾与2023年展望
摘要: 时光荏苒,岁月如梭。转眼间2022已经过去了。过去的2022年我们仍然经历了几波疫情的防控,个人和企业的日子都不太好过,仍然有互联网公司的裁员,有超额的加班等等让人心里感到不舒服的事情。虽然说国家、经济等等这些宏观的事物我们无法控制,但是审视自己这一年的得失并调整下一年的计划这个事我还是能够做到的。
阅读全文
posted @ 2023-01-07 13:00 masimaro
阅读(465)
评论(0)
推荐(1)
2022年12月30日
从零开始配置vim(30)——DAP的其他配置
摘要: 很抱歉这么久才来更新这一系列,主要是来新公司还在试用期,我希望在试用期干出点事来,所以摸鱼的时间就少了。加上前面自己阳了休息了一段时间。在想起来更新就过去一个多月了。废话不多说了,让我们开始进入正题。 在前一章,我们谈论了如何在 neovim 中使用cpptools 这个DAP 的适配器对代码进行调
阅读全文
posted @ 2022-12-30 15:39 masimaro
阅读(333)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
···
31
下一页
公告