
		<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
				<title>ADCakeyuan&#39;s blog</title>
				<link>https://adcakeyuan.top/blog</link>
				<description>I&#39;m ADCakeyuan, a university student from Guangxi. This is my personal blog for documenting my learning, life, and thoughts.</description>
				<language>en-US</language>
				<managingEditor>huqinyuan923@outlook.com (ADCakeyuan)</managingEditor>
				<webMaster>huqinyuan923@outlook.com (ADCakeyuan)</webMaster>
				<lastBuildDate>Wed, 07 Oct 2026 00:00:00 GMT</lastBuildDate>
				<atom:link href="https://adcakeyuan.top/tags/compiler/feed.xml" rel="self" type="application/rss+xml"/>
				
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-1-design</guid>
			<title>手写一门编程语言（一）：在写第一行代码之前，先画设计图纸</title>
			<link>https://adcakeyuan.top/blog/cha-series-1-design</link>
			<description>用 TypeScript 从零写一门叫「茶」的编程语言——第 1 章不写代码，只做一件事：把「不做什么」想清楚。设计目标、拒绝清单、以及五个一定会被问到的语义决定。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-2-lexer</guid>
			<title>手写一门编程语言（二）：词法分析器，以及最难的十行模板字符串</title>
			<link>https://adcakeyuan.top/blog/cha-series-2-lexer</link>
			<description>Cha 语言系列第 2 章：字符流怎么变成 token 流。数字与转义、行列号追踪、嵌套块注释、中文标识符，以及整个项目里最难的代码——模板字符串插值的词法处理。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-3-parser</guid>
			<title>手写一门编程语言（三）：解析器——优先级是「降」出来的</title>
			<link>https://adcakeyuan.top/blog/cha-series-3-parser</link>
			<description>Cha 语言系列第 3 章：递归下降解析器。优先级为什么是一条「往下降」的函数链、赋值左值的经典难题、map 与代码块的 {} 之争，以及两次真实的设计返工。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-4-interpreter</guid>
			<title>手写一门编程语言（四）：求值器——一门语言的「运行时」长什么样</title>
			<link>https://adcakeyuan.top/blog/cha-series-4-interpreter</link>
			<description>Cha 语言系列第 4 章：树遍历求值器。环境链与作用域距离、用异常做非局部跳转、and/or 返回操作数的实用主义、把 0.1+0.2 清洗成 0.3 的一个决定，以及 14 个内建函数的安装方式。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-5-resolver</guid>
			<title>手写一门编程语言（五）：作用域解析——让错误提前爆炸</title>
			<link>https://adcakeyuan.top/blog/cha-series-5-resolver</link>
			<description>Cha 语言系列第 5 章：在程序运行之前再过一遍语法树。resolver 给每个变量引用算出作用域距离，同时把 return 越界、break 越界、重复声明、var x = x 自引用提前到编译期——以及一个真实 bug：全局函数的递归差点被「未初始化检查」误杀。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-6-repl</guid>
			<title>手写一门编程语言（六）：REPL——改了三遍才像样的第一印象</title>
			<link>https://adcakeyuan.top/blog/cha-series-6-repl</link>
			<description>Cha 语言系列第 6 章：REPL 是语言的第一印象，也是压力最大的测试环境。三次返工实录：Session 让变量跨行存活、表达式自动回显的试探与降级、多行续输入的错误分类学——以及 REPL 的压力如何反哺了解析器（空语句就是这么被逼出来的）。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-7-errors</guid>
			<title>手写一门编程语言（七）：错误体验——「报错是脸面」的完整故事</title>
			<link>https://adcakeyuan.top/blog/cha-series-7-errors</link>
			<description>Cha 语言系列第 7 章：四阶段错误（词法/语法/作用域/运行时）怎么统一成结构化对象、行列号为什么记录起点、中文报错文案的三条分寸——以及一个诚实的局限：运行时错误没有调用栈。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
		<item>
			<guid>https://adcakeyuan.top/blog/cha-series-8-bytecode</guid>
			<title>手写一门编程语言（八·终）：给茶装上字节码虚拟机——同一个语言，两种引擎</title>
			<link>https://adcakeyuan.top/blog/cha-series-8-bytecode</link>
			<description>Cha 语言系列收官：把树遍历求值器换成字节码编译器 + 栈式虚拟机。递归和闭包快了近 3 倍，300 个随机种子程序做差分模糊测试保证两个后端逐字一致——连报错的列号都一样。附可以直接在浏览器里玩的 Playground。</description>
			<pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
			<author>huqinyuan923@outlook.com (ADCakeyuan)</author>
			<category>compiler</category><category>typescript</category><category>programming-language</category>
      
		</item>
	
			</channel>
		</rss>
	