posts - 57, comments - 109, trackbacks - 0, articles - 2
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月25日

正文内容加载中...

posted @ 2012-10-25 09:33 xuld 阅读(11411) 评论(2) 推荐(4) 编辑

2020年3月18日

摘要:xuld/原创 Custom transformer (自定义转换器)是干什么的 简单说,TypeScript 可以将 TS 源码编译成 JS 代码,自定义转换器插件则可以让你定制生成的代码。比如删掉代码里的注释、改变变量的名字、将类转换为函数等等。 TypeScript 将 TS 代码编译到 JS 阅读全文

posted @ 2020-03-18 14:31 xuld 阅读(349) 评论(2) 推荐(1) 编辑

2020年3月13日

摘要:在上一节主要介绍了语法树的解析生成。就好比电脑已经听到了“你真聪明”这句话,现在要让电脑开始思考这句话的含义——是真聪明还是假聪明。 这是一个非常的复杂的过程,接下来将有连续几节内容介绍实现原理,本节则主要提前介绍一些相关的概念。 符号 在代码里面,可以定义一个变量、一个函数、或者一个类,这些定义都 阅读全文

posted @ 2020-03-13 12:24 xuld 阅读(245) 评论(2) 推荐(0) 编辑

2020年2月8日

摘要:在上一节介绍了语法树的结构,本节则介绍如何解析标记组成语法树。 对应的源码位于 src/compiler/parser.ts。 入口函数 要解析一份源码,输入当然是源码内容(字符串),同时还提供路径(用于报错)、语言版本(比如ES3 和 ES5 在有些细节不同)。 createSourceFile 阅读全文

posted @ 2020-02-08 22:50 xuld 阅读(537) 评论(3) 推荐(0) 编辑

2020年2月2日

摘要:早在 2015,我就已经精通了 C++、C#、JS,也用过其它语言,比如 PHP、Python、Java 做过一些项目,就觉得这些语言设计得太过复杂、坑多、麻烦,所以就开始设计一门新语言,暂且叫 T 语言。我希望新语言是非常简单的,比如不需要脚手架就可以开工,不担心依赖安装问题,不会因为用了很多依赖 阅读全文

posted @ 2020-02-02 22:47 xuld 阅读(126) 评论(0) 推荐(0) 编辑

2020年1月28日

摘要:在上一节介绍了标记的解析,就相当于识别了一句话里有哪些词语,接下来就是把这些词语组成完整的句子,即拼装标记为语法树。 树(tree) 树是计算机数据结构里的专业术语。就像一个学校有很多年级,每个年级下面有很多班,每个班级下面有很多学生,这种组织结构就叫树。 组成树的每个部分称为节点(Node); 最 阅读全文

posted @ 2020-01-28 15:16 xuld 阅读(572) 评论(0) 推荐(1) 编辑

2020年1月18日

摘要:在上一节主要介绍了单个字符的处理,现在我们已经有了对单个字符分析的能力,比如: 判断字符是否是换行符:isLineBreak 判断字符是否是空格:isWhiteSpaceSingleLine 判断字符是否是数字:isDigit 判断字符是否是标识符(变量名): 标识符开头部分:isIdentifie 阅读全文

posted @ 2020-01-18 23:56 xuld 阅读(461) 评论(0) 推荐(0) 编辑

2020年1月13日

摘要:本节文章研究的代码位于 tsc/src/compiler/scanner.ts 字符 任何源码都是由很多字符组成的,这些字符可以是字母、数字、空格、符号、汉字等…… 每一个字符都有一个编码值,比如字符“a”的编码值是97,字符“林”的编码值是26519。 每个字符对应的编码值是多少是由编码表决定的, 阅读全文

posted @ 2020-01-13 15:31 xuld 阅读(475) 评论(1) 推荐(0) 编辑

摘要:TypeScript 由微软在 2012 年 10 月首发,经过几年的发展,已经成为国内外很多前端团队的首选编程语言。前端三大框架中的 Angular 和 Vue 3 也都改用了 TypeScript 开发。即使很多人没直接用过 TypeScript,他们也在通过 VSCode 提供的智能提示功能间 阅读全文

posted @ 2020-01-13 12:14 xuld 阅读(1166) 评论(1) 推荐(2) 编辑

2019年12月29日

摘要:无论因为什么,你可能想要自己造一个语言。在具体实施之前,请听我一些忠告。 首先开发语言是一个一非常漫长又辛苦的过程,现在很多成功的语言都是由一个大公司的团队经过几年的打造才完成的,如果你不能保证长期的投入,建议还是放弃这个念头,以免前功尽弃。 其次,你得明确你的语言的亮点是什么。除非你的亮点足以使用 阅读全文

posted @ 2019-12-29 20:56 xuld 阅读(407) 评论(0) 推荐(2) 编辑

2018年1月24日

摘要:为什么有这么多的编程语言 1 改革换代,适应时代发展需求 2 特定的领域需要特定的语言 3 没有一个语言可以完美适配各种场景 4 个人习惯 所有语言都有一个发明初衷 Lisp - 一切抽象为数学符号,利用公式自动计算结果 C - 汇编太繁琐,我能更简洁地写逻辑 C++ - C 只能写普通逻辑,我能用 阅读全文

posted @ 2018-01-24 00:46 xuld 阅读(679) 评论(5) 推荐(1) 编辑