首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 教育频道
学院论坛 | 推荐专题 | 专家答疑 | Flash剧场 | Photoshop | 名词解释 | 梦幻桌面 | PS高手进阶 | QQ区 | 壁纸 | 黑客教材
Flash教程| 动画制作 | AutoCAD  | 3DMax专区 | PS视频教程| 网页制作 | CorelDRAW| Firework | 滤镜与实例 | 全部视频教程
学院热点专题
|21互联专区| 照片处理 | QQ 动画 | 系统优化 | 会声会影 | 制作游戏 | Win2003 | 大话成语 | MSN专题 | 头条
| 天音听听 | QQ 技巧  | ASP教程 | 菜鸟入门 | 实用工具 | ADSL宽带 | 硬盘世界| BT  下载 | Vista  | 问吧
   1991年,Sun Microsystems公司开始研究一种新的计算机语言,这种语言最后撼动了传统编程的基础。起初,这种语言被命名为Oak,到1995年正式命名为Java。Java在两个方面改变了编程的过程。第一,Java集成了有利于编制Internet程序的特性。第二,Java发展了计算机语言的精髓。因此,Java的重要性体现在两点:对Internet的内嵌支持和对计算机语言发展的推动。这两点中的任何一点都足以使Java成为一种出色的语言;但是只有将这两点成功地结合起来,Java才能成为一种伟大的语言,才能确定它在计算机历史中的地位。


使用Java实现语言解释器的原因

  大多数程序员都曾经梦想着创造自己的计算机语言。坦率地说,能够创造、控制、增强和修改属于自己的计算机语言,这种想法确实非常具有吸引力。然而,只有极少数程序员认为,实现这个想法是一件非常容易和令人愉悦的事情。开发一个功能齐备的编译器(例如Java编译器)的确是一项艰巨的任务。但是相比之下,创建一个语言解释器却简单得多。

  尽管解释器和编译器都以应用程序源代码作为输入内容,但是它们对这些源代码的处理过程却截然不同。编译器将程序的源代码转化为可执行代码的形式。通常情况下,这种可执行代码由计算机的CPU指令组成,因此可以直接在计算机上执行。例如,C++即采用这种编译方式。还有一种情况,编译器输出一种可移植的中间代码,它们由运行时系统执行。Java采用的就是这种方式。在Java中,称这种中间代码为“字节码 ”。

  解释器的工作原理则完全不同。它顺序读入程序的源代码,然后依次执行每一条语句。因此,解释器并不真正将源代码转化为目标代码,而是直接执行程序。尽管使用解释器执行程序的速度比将相同的程序编译成目标代码后再执行的速度慢,但是解释器仍然在编程中被广泛使用。原因有以下几个方面:

  第一,解释器能够提供真正的交互式环境,由解释器执行的程序能够根据用户的指令暂停或者恢复运行。这种交互式环境在机器人技术等方面用途很广。第二,语言解释器的先天特性决定了它们特别适合于交互式的程序调试。第三,解释器最适合于作为“脚本语言”,比如数据库查询语言等。第四,语言解释器使得同一个程序运行于不同类型的平台成为可能。此时惟一的工作只是为每个新环境实现解释器的运行包。

  在有些情况下,术语“解释器”的含义与刚才所描述的情况有所不同。例如,最初的Java运行时系统被称为“字节码解释器”。但是这种解释器与本章中介绍的解释器的类型并不完全相同。字节码是一组高度优化的可移植的机器指令,而Java运行时系统则为字节码提供一个执行环境。然而Java运行时系统并不直接执行源代码,而是执行可移植的机器代码。这也是Java运行时系统被称为Java虚拟机的原因。

  将要介绍的解释器代码不仅有趣而且实用。同时,它还充分显示了Java语言简单高效的特性。与第2章中介绍的解析器相同的是,这个语言解释器也使用“纯代码”编写。同时,解释器也是一个相当复杂的程序,但是使用Java语言实现起来却非常简单,这也是Java语言功能多样化的一个例证。此外,解析器代码的简洁还显示了Java语法和库的强大表达能力。

图书简介
本书目录
第一部分 Java 精 髓
· 完全集成的异常机制
· 对多态性支持的改进
· 可移植性和安全性
· 丰富的Java API
· Applet
· 继续变革
第二部分 递归下降的表达式解析器
· 表达式
· 解析表达式
· 表达式的解析
· 表达式的分解
· 表达式解析器
· 向解析器中添加变量
· 解析器中的语法检查
· 计算器Applet
· 一些尝试
第三部分 使用Java实现语言解释器
· 使用Java的原因
· 解释计算机语言
· 解释器概述
· Small BASIC解释器
· Small BASIC表达式解析器
· 解释器
· Small BASIC的使用
· 进行增强和扩展
· 创建计算机语言
热点排行(Top10)

热门关键字:手机 | 笔记本 | MP3 | 移动存储 | 数码相机 | 数码摄像机 | 显示器 | 学院 | 软件下载 | 游戏 | IT女性 | 方案库

关于eNet | 广告服务 | 我们的产品 | 使用版权 | 投稿指南 | 诚邀加盟 | 联系我们

网站合作、内容监督、商务咨询:010-65245588
对本站有任何建议、意见或投诉,请点这里在线提交
Copyright © 1998--2007 硅谷动力公司版权所有

未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
【声明】本网站部分内容属论坛网友发布,本网站仅提供网友交流平台,但有权在本网站
范围内引用、发布、转载来自论坛网友发布的内容。网友发布内容纯属个人行为,与本网
站立场无关。本网站对于论坛网友发布的内容所引发的版权、署名权的异议及纠纷,不承
担任何责任。其他媒体转载须事先与原作者和本网站联系。
京ICP证000044