首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 一个BASIC语言解释器(带源码)

一个BASIC语言解释器(带源码)

摘要: 一个BASIC语言解释器(带源码)

</td> </tr> <tr> <td width="470" height="35" valign="top" class="ArticleTeitle"> 这是一个用java编写的简单的BASIC语言解释器,只能解释以下关键字:
PRINT INPUT IF THEN FOR NEXT
TO GOTO GOSUB RETURN END
支持数字、变量(A~Z)、运算符(+-*/^=()<>>=<=<>),请看演示程序:

class SBDemo {
public static void main(String args[])
{
if(args.length != 1) {
System.out.println("Usage: sbasic ");
return;
}

try {
SBasic ob = new SBasic(args[0]); //从命令行输入BASIC语言源程序的

文件名
ob.run(); //解释运行
} catch(InterpreterException exc) {
System.out.println(exc);
}
}
}

运行:

C:\java>java SBDemo TEST2.BAS
This program demonstrates nested GOSUBs.
enter a number: 9
9.0 18.0 27.0 36.0 45.0 54.0 63.0 72.0 81.0
C:\java>

下面是BASIC语言源程序:TEST2.BAS
PRINT "This program demonstrates nested GOSUBs."
INPUT "enter a number: ", I
GOSUB 100

END

100 FOR T = 1 TO I
X = X + I
GOSUB 150
NEXT
RETURN

150 PRINT X;
RETURN
function TempSave(ElementID) { CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value); CommentsPersistDiv.save("CommentXMLStore"); } function Restore(ElementID) { CommentsPersistDiv.load("CommentXMLStore"); document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent"); } </td> <td width="214" valign="top" class="ArticleTeitle">
</td> </tr> <tr> <td height="25" colspan="2" valign="top" class="ArticleTeitle">


↑返回目录
前一篇: J2SE 5.0中的泛型
后一篇: 一个表达式解析器

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved