首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 教育频道
学院论坛 | 推荐专题 | 专家答疑 | 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才能成为一种伟大的语言,才能确定它在计算机历史中的地位。

 
一些尝试

  本章所介绍的两个表达式解析器可用于许多用途,因为它们使程序员无需做很多工作即可扩展应用程序的功能。考虑一个要求用户输入数字的程序。例如有一个应用程序要求用户输入需要打印的文件份数。在正常情况下,程序只需要显示一个文本框并等待输入,然后将输入的文本转化为应用的内部数字格式。这种简单的方法允许用户输入一个值,例如100。然而,如果总共有9个部门,用户希望为每个部门打印72份文件,该如何处理呢?这时用户必须手工计算得出乘积的结果,并在文本框中输入648。然而,如果用户可以使用解析器计算从文本框中得到的数值,那么就可以直接输入9*72,而不再需要其他任何的手工计算。解析和计算数字表达式的能力可以给应用程序(甚至最简单的应用程序)增加成熟、专业的感觉。因此,不妨在应用程序中尝试使用解析器来处理数字的输入问题。

  在本章中曾经谈到,解析器只执行最小限度的错误检查。因此您可能需要增加更为详细的错误报告。例如,可以突出显示在表达式中检测到的错误位置。这样就使得用户能够很快发现语法错误并及时改正。

  现在这种解析器只能够计算数字表达式。然而,如果向其中增加一些代码,它就有可能计算其他类型的表达式,例如字符串、空间坐标或者是复数等。举例来说,为了使解析器能够计算字符串,必须做如下改动:

  (1) 定义一个新标识符类型,称为STRING。

  (2) 增强getToken()方法的功能,使其能够正确识别字符串。

  (3) 在atom()方法中添加一个新的case处理语句,用来处理STRING类型的标识符。

  这些步骤完成之后,解析器就能够正确处理如下字符串表达式:

  a = "one"

  b = "two"

  c = a + b

  保存在c中的结果应该是a和b的合并,也就是“onetwo”。

 

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

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

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

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

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