摘要: 本文介绍了构造语法分析器的相关接口、T4 模板实现,以及示例。 阅读全文
posted @ 2022-11-02 10:26 CYJB 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了如何在词法分析器中做短语层次的错误恢复,以及恐慌模式的错误恢复。 阅读全文
posted @ 2022-11-02 10:26 CYJB 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了在语法分析中使用二义性文法,以及解决二义性问题的优先级和结合性。 阅读全文
posted @ 2022-11-02 10:26 CYJB 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了 LALR 语法分析的概念,以及如何构造 LALR 语法分析表。 阅读全文
posted @ 2022-11-02 10:26 CYJB 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了 LR(0) 语法分析器的概念,及其语法分析表的构造。 阅读全文
posted @ 2022-11-02 10:25 CYJB 阅读(875) 评论(1) 推荐(2) 编辑
摘要: 本文介绍了语法分析器的基本概念和流程,以及 LL(k)、LR(k) 文法的区别。 阅读全文
posted @ 2022-11-02 10:25 CYJB 阅读(1168) 评论(0) 推荐(1) 编辑
摘要: 提供了在不同区域性下对字符范围做批量大小写转换的方法,避免遍历字符范围中的每个字符。 阅读全文
posted @ 2022-04-28 01:51 CYJB 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 优化的基于树状位压缩数组的字符集合,在提供高性能的同时并不需要消耗过多内存,可以完全取代任何用到 HashSet 阅读全文
posted @ 2022-04-27 03:32 CYJB 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 计算字符宽度(显示为全宽还是半宽) 阅读全文
posted @ 2022-04-22 03:44 CYJB 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 介绍了 C# 编译器生成的 XML 文档注释的文件格式,和相关的规则。 阅读全文
posted @ 2015-03-14 22:38 CYJB 阅读(3357) 评论(0) 推荐(2) 编辑
摘要: 可变参数的方法是指具有 CallingConventions.VarArgs 调用约定的方法,可以根据需要传递任意个数的参数,参数的类型也可以互不相同。本文从 P/Invoke、C# 中可变参数方法的声明、IL 代码和 RuntimeArgumentHandle 四个方面介绍了 C# 中的可变参数方法。 阅读全文
posted @ 2015-02-12 02:11 CYJB 阅读(16858) 评论(5) 推荐(6) 编辑
摘要: C# 在运行时只能进行兼容的引用类型转换和装箱/拆箱转换,因此我利用 System.Reflection.Emit 实现了一套在运行时动态生成 IL 进行类型转换的框架,能够在运行时实现与编译器基本相同的类型转换支持,并对泛型类型提供了完整的支持。可以完整兼容各种数值类型转换、隐式/显式引用类型转换和用户自定义类型转换。 阅读全文
posted @ 2015-02-03 02:56 CYJB 阅读(4495) 评论(13) 推荐(21) 编辑
摘要: 本文译自微软 Framework Design Guidelines 的 Type Design Guidelines(.NET Framework 4.5) 一节,简要说明了类、结构体、抽象类、静态类、接口、枚举和嵌套类型的设计准则。 阅读全文
posted @ 2015-01-12 10:16 CYJB 阅读(1495) 评论(1) 推荐(0) 编辑
摘要: 介绍了词法分析器的数据结构,以及如何自定义词法分析器 阅读全文
posted @ 2014-01-09 12:46 CYJB 阅读(9187) 评论(4) 推荐(4) 编辑
摘要: 在编写应用程序时,我们经常要处理这样的一组对象,它们的类型都派生自同一个基类,但又需要为每个不同的子类型应用不同的处理方法。我将利用字典,根据对象类型调用相应的方法这一过程封装起来,形成了方法切换器类。还可以根据特性标注,自动选择相应的方法,而避免了手工输入。 阅读全文
posted @ 2013-10-11 12:27 CYJB 阅读(1893) 评论(2) 推荐(0) 编辑
摘要: 在 C# 的 WinForm 应用中,有时可能需要用硬件加速来提高绘制的效率。本文介绍了两种在 WinForm 应用中嵌入 Direct2D 的方法,使得窗口的某一部分可以应用 Direct2D 绘制,其它部分仍然可以使用现有的 WinForm 技术。 阅读全文
posted @ 2013-10-03 16:07 CYJB 阅读(12175) 评论(11) 推荐(5) 编辑
摘要: 我使用 SharpDX 类库实现拼图游戏,用户选定的图片会被分割为很多拼图碎片,游戏过程就是拖动拼图碎片,并拼成完整的图案。 阅读全文
posted @ 2013-09-21 00:03 CYJB 阅读(3955) 评论(5) 推荐(2) 编辑
摘要: 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。本文介绍了带路径压缩的按秩合并的并查集,以及按节点数合并的并查集。 阅读全文
posted @ 2013-09-12 16:38 CYJB 阅读(53279) 评论(8) 推荐(35) 编辑
摘要: 顺序表与链表是非常基本的数据结构,它们是线性表的不同存储结构,各自有不同的特点和适用范围。针对它们各自的缺点,也有很多改进的措施,包括顺序表动态扩容、静态链表、块状链表和跳表。 阅读全文
posted @ 2013-09-11 01:29 CYJB 阅读(13668) 评论(5) 推荐(2) 编辑
摘要: 解题报告:计算 1 至 n 中数字 X 出现的次数,其中 n ≥ 1,X 的取值范围是 [0,9]。 阅读全文
posted @ 2013-09-09 00:05 CYJB 阅读(18086) 评论(10) 推荐(5) 编辑
Fork me on GitHub