程序设计
文章平均质量分 82
younggift
这个作者很懒,什么都没留下…
展开
-
读卡器的状态机, python实现
状态机是个著名的数学模型,在数字电路、编译原理、面向对象系统分析与设计、形式语言与状态机中都有提及。正确的思考方法是有效的工具,在解决问题中非常重要。人类通常不懈于在猛兽面前炫耀速度和力量,而是使用弩箭和陷阱。原创 2014-06-29 19:18:16 · 3435 阅读 · 6 评论 -
笔记:javascript通过反射和遍历,访问对象的所有属性,及 按引用/按值传递
正读 JavaScript: The Good Parts.1. 通过反射和遍历,访问对象的所有属性。var x = { "first-name": "Gift", "last-name" : "Young"};x.nickname = 'nick';for(name in x){ document.writeln(name+"原创 2015-02-02 22:41:51 · 2225 阅读 · 0 评论 -
普通青年的状态机,纯C语言
C语言实现的状态机,仿真录音机按键的行为。原创 2014-06-29 21:42:05 · 14119 阅读 · 2 评论 -
Disptach系列谈1:branch table
Disptach系列谈1:branch table就disptach这一意义而言,branch table与很多技术都是相同的,包括虚函数,中断向量,symbol table,dispatch (SICP中提到),call back, windows消息响应,MFC消息响应,CPU的指令执行循环。如果这一篇对大家有意义,那么,我以后就继续写下去,把后面的技术挨个介绍了。不然,就仅只原创 2013-06-29 23:58:32 · 1820 阅读 · 0 评论 -
解密:LL与LR解析 2(译,完结)
把解析器视为黑盒子,把解析器的输出理解为解析树及其遍历,从这个角度理解LL和LR。这是原文第3节至结束。翻译 2013-07-23 15:31:40 · 7638 阅读 · 1 评论 -
对C语言的写文件操作fwrite的一个初学者常见误解
文件内容原本是:abcdefghijlmn;我们期待:abcAAfghijlmn;但是却变成了:^@^@^@AA.fwrite不是如我们误以为的数组这样的流,而是在fopen时决定了,会对文件系统有些副作用的操作,然后创造了流中的某一种。原创 2013-08-30 11:50:55 · 20699 阅读 · 1 评论 -
用windows sdk写一个贪吃蛇
这是上学期程序设计与实践3课程的一部分,用windows sdk写一个贪吃蛇。此项目由教师在课堂上演示、查SDK手册和解释、design和实现及解释代码,学生观摩。一共进行了五次课。持续五周,每周一次课,每次课90分钟。原创 2013-08-29 00:20:40 · 1249 阅读 · 0 评论 -
bug的定位比修改重要1000倍
bug的定位比修改重要1000倍砍倒一棵树,当然也有技巧,一斧子一斧子劈得要在正确的位置上,还要喊好顺山倒,别砸到别人和自己。不过,在一片林子里找到你想要的那一棵,才是更重要的事,也更困难。修改一个bug,可能只是一个字符,而在几千几万行代码里找到应该修改的地方,就困难得多。就像,修改一个变量,不过赋值语句一行而已,但是查找之难使得衍生出了像二分查找这样的许多算法。前两天跟关同学郑原创 2013-11-30 00:38:57 · 4480 阅读 · 0 评论 -
geek青年的状态机,查表,纯C语言实现
用查表法实现状态机引擎,支持状态迁移和状态-动作对应。查表法的优点是,代码稳定,不随状态、状态迁移匹配条件、动作的增加而变化。原创 2014-06-29 22:57:20 · 6903 阅读 · 13 评论 -
解密:LL与LR解析 1(译)
把解析器视为黑盒子,把解析器的输出理解为解析树及其遍历,从这个角度理解LL和LR。这是原文第1和第2部分。翻译 2013-07-23 00:23:12 · 8349 阅读 · 2 评论 -
俄罗斯方块:win32api开发
本文简述一门课程,演示win32api开发俄罗斯方块的开发过程。假设学生学习过C语言,没学过或者学习C++不好,刚刚开始学习win32api程序设计,还不懂消息循环和注册窗口类。 最近的照片在这里 [http://www.douban.com/photos/album/132796665/] 和 [http://www.douban.com/photos/album/13324154原创 2014-06-15 17:34:05 · 5882 阅读 · 2 评论 -
JavaScript语言实现类似这样的效果: 3.grams.flour
JavaScript语言实现类似这样的效果: 3.grams.flour 参考 Javascript: The Good Parts,第33页代码如下:// copied from page 33 of Javascript: The Good PartsFunction.prototype.method = function (name, func)原创 2015-02-03 00:21:12 · 1464 阅读 · 0 评论