03 2013 档案
摘要:本文介绍了一个用于词法分析器的,可以支持无限制回退的输入缓冲类,以及如何实现在代码中定位行号和列号。
阅读全文
摘要:C# 中的 Encoding.Default.GetByteCount 方法,使用的时候却有很容易忽视的内存问题,具体表现为多次(数万次,不同电脑可能不同)调用 GetByteCount 方法时,会导致内存垃圾回收,那么意味着在这个过程中产生了大量的临时对象。
阅读全文
摘要:词法分析是编译原理的第一步,本篇文章会对词法分析做综合性的概述,介绍其中用到的技术和大致的流程。
阅读全文
摘要:.Net 的反射是个很好很强大的东西,不过它的效率却实在是不给力。本篇文章同样是讨论利用委托来加速反射调用函数,不过重点并不在于如何提升调用速度,而是如何更加智能的构造出反射的委托,并最终完成一个方便易用的委托创建器 DelegateBuilder。
阅读全文
摘要:这篇随笔介绍了一个比较完整的 C# 中泛型方法的类型推断的实现。这里所谓的“泛型方法的类型推断”,指的是根据已有的方法实参的类型,推断出泛型方法的类型实参。对于泛型方法 void Method(T[] args),如果我给出方法实参类型是 int[],那么则能够推断出 T = int。
阅读全文