摘要: 简单命令处理过程 我们已经看到,对列表命令和管道命令的处理,实际只是一个分解过程,最终命令的执行还是要由简单命令来完成。 在简单命令的处理过程中,必须考虑以下情况: 1、区分内部命令和外部命令 阅读全文
posted @ 2008-12-05 22:34 aoogur 阅读(533) 评论(1) 推荐(1) 编辑
摘要: 命令处理 首先是对处于“shell语法规范”中最上层的列表命令的处理。 l 列表命令的处理过程: 依次检查参数数组中的每一个参数,如果是分号(;),那么就认为分号前面的所有参数组成了一个管道命令,调用 do_pipe_cmd() 来执行对管道命令的处理。如果扫描到最后,不再有分号出现,那么把剩下的所有参数作为一个管道命令处理 阅读全文
posted @ 2008-12-05 22:32 aoogur 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 根据这个思路,我们来看对应的 lex 规则。 %% "\"" {BEGIN QUOTE;} [^\n"]+ {add_arg(yytext);} "\"" {BEGIN 0;} 阅读全文
posted @ 2008-12-05 22:31 aoogur 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 实现shell实例 程序主框架 主程序很简单,它在做一些必要的初始化工作之后,进入这样一个循环 阅读全文
posted @ 2008-12-05 21:31 aoogur 阅读(466) 评论(0) 推荐(0) 编辑
摘要: Shell作为一个命令语言解释器,有一套自己的语言规范,凡是符合这个规范的命令,它就可以正确执行,否则就会报错。这个语言规范是在 IEEE POSIX的第二部分:“shell和tools规范”中定义的。关于这份规范,可以在这里看到 阅读全文
posted @ 2008-12-05 21:29 aoogur 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 摘要:本期的目的是向大家介绍shell的概念和基本原理,并且在此基础上动手做一个简单shell解释器。同时,还将就用到的一些 linux环境编程的知识做一定讲解 阅读全文
posted @ 2008-12-05 21:28 aoogur 阅读(429) 评论(0) 推荐(0) 编辑
摘要: jquery取得text,areatext,radio,checkbox,select的值,以及其他一些操作 阅读全文
posted @ 2008-11-29 10:29 aoogur 阅读(638) 评论(0) 推荐(0) 编辑
摘要: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象 阅读全文
posted @ 2008-11-28 21:22 aoogur 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 许多刚接触编程的朋友都可能理解不了类,其实类是对我们这个现实世界的模拟,把它说成“类别”或者“类型”可能会更容易理解一些。比如“人”这种动物就是一个类,而具体某一个人就是“人”这个类的一个实例,“人”可以有许多实例(地球人超过六十亿了),但“人”这个类只有一个。你或许会说那男人和女人不也是人么?怎么只能有一个?其实这里要谈到一个继承的东西,后边才讲,请继续看下去.... 阅读全文
posted @ 2008-11-28 20:48 aoogur 阅读(171) 评论(0) 推荐(0) 编辑
摘要: shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 阅读全文
posted @ 2008-11-28 16:04 aoogur 阅读(8924) 评论(0) 推荐(0) 编辑