资源简介

这是我用java制作的一个脚本语言解释器,这种脚本语言不是现存的脚本语言,类似Ruby结构。这也是一种完全面向对象的语言。支持操作java对象,但是没有javaScript那么简单。因为这里的基本数据类型也是通过自己定义的,系统除了定义真假为java中的Boolean外的其他的数据类型都要通过,基本语言文件,也就是这里的类文件。目前为测试版本,正在收集Bug。希望大家帮我测试一下,联系我 QQ:495904500 。希望共同探讨的也可以加我。

资源截图

代码片段和文件信息



import java.io.File;
import java.util.Scanner;

import com.sapp.main.SappEngine;

public class Sapp {

/**
 * @param args
 * @throws Exception 
 */
public static void main(String []args){

SappEngine re = new SappEngine();
try {
//设置默认的本地class路径。
re.setNativeClassPath(“res/native“);
//加载语言简表。
re.load(“res/lang/SappBasicConfigration.sph“);
//加载语言文件
re.load(“res/Test/Hash/hash1.sph“);
//Tools.printVector(re.commnds);
re.exeBegin();
} catch (Exception e) {
e.printStackTrace();
}

/*Scanner input = new Scanner(System.in); 
SappEngine re = new SappEngine();
//设置默认的本地class路径。
re.setNativeClassPath(“res/native“);
//加载语言简表。
try {
//re.setCompCodePath(“res/complied“);

re.load(“res/lang/SappBasicConfigration.sph“);

} catch (Exception e1) {
System.out.println(“加载语言简表文件失败!“);
e1.printStackTrace();
}
while(true){
System.out.println(“请输入要执行的操作:lf-加载文件ri-进入交互界面et-退出程序“);
String str = input.nextLine().trim();
if(str.equals(“lf“)){
System.out.println(“请输入要加载的文件(路径):这个命令先清空Sapp中的begin集合。“);
str = input.nextLine().trim();
File file = new File(str);
if(!file.exists()){
System.out.println(“对不起文件不存在!“);
System.out.print(“按回车键继续...“);
input.nextLine();
}else{
try {
//清空begin
re.clearBegin();
//加载文件
re.load(str);
//执行begin
re.exeBegin();
System.out.print(“按回车键继续...“);
input.nextLine();
} catch (Exception e) {
e.printStackTrace();
System.out.print(“按回车键继续...“);
input.nextLine();
}
}
}else if(str.equals(“ri“)){
StringBuffer cjml = new StringBuffer();
System.out.println(“进入了交互模式:任意输入为串接当前命令(如果以-c 开头的为立即执行)exe-执行串接“ +
“好的命令(会清空此命令)cr-清除串接好的命令et-退出交互模式“);
while(true){
System.out.print(“>“);
str = input.nextLine().trim();
if(str.equals(“exe“)){
try {
re.exeCode(cjml+““);
System.out.println();
cjml = new StringBuffer();
} catch (Exception e) {
e.printStackTrace();
}
}else if(str.equals(“cr“)){
cjml = new StringBuffer();
}else if(str.equals(“et“)){
break;
}else{
if(str.startsWith(“-c“)){
if(str.length()>2){
str = str.substring(2).trim();
try {
re.exeCode(str);
System.out.println();
} catch (Exception e) {
e.printStackTrace();
}
}else{
System.out.println(“无效的命令:“+str);
}
}else{
cjml.append(str);
}
}
}
}else if(str.equals(“et“)){
break;
}else{
System.out.println(“未知的命令!“);
}
}*/

}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        910  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\complie\AnalysedTree$Analysed.class

     文件      13367  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\complie\AnalysedTree.class

     文件       3907  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\complie\Codedivide.class

     文件      10372  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\complie\Complies.class

     文件       3908  2011-08-13 17:17  Sapphire1.21测试版\com\sapp\engine\Codedivide.class

     文件      26160  2011-08-13 17:17  Sapphire1.21测试版\com\sapp\engine\ComplieCmds.class

     文件       2022  2011-09-01 18:58  Sapphire1.21测试版\com\sapp\engine\DivideClass.class

     文件      23324  2011-09-01 18:15  Sapphire1.21测试版\com\sapp\engine\Interpreter.class

     文件        475  2011-08-19 17:42  Sapphire1.21测试版\com\sapp\engine\ParamsInterface.class

     文件        444  2011-08-08 22:47  Sapphire1.21测试版\com\sapp\engine\RunStateException.class

     文件       7687  2011-09-01 18:58  Sapphire1.21测试版\com\sapp\engine\SappClass.class

     文件      14909  2011-09-01 18:58  Sapphire1.21测试版\com\sapp\engine\SapphireEngine.class

     文件       5869  2011-08-09 22:07  Sapphire1.21测试版\com\sapp\engine\SappMethod.class

     文件      21529  2011-09-08 14:48  Sapphire1.21测试版\com\sapp\interpreter\Interpreter.class

     文件        454  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\interpreter\RunStateException.class

     文件        505  2011-09-08 13:46  Sapphire1.21测试版\com\sapp\main\ParamsInterface.class

     文件       3382  2011-09-07 20:24  Sapphire1.21测试版\com\sapp\main\Sapp.class

     文件       2221  2011-09-08 14:48  Sapphire1.21测试版\com\sapp\main\SappClass$DivideClass.class

     文件       6295  2011-09-08 14:48  Sapphire1.21测试版\com\sapp\main\SappClass.class

     文件       1406  2011-09-08 14:48  Sapphire1.21测试版\com\sapp\main\SappEngine$ClassMess.class

     文件      13363  2011-09-08 14:48  Sapphire1.21测试版\com\sapp\main\SappEngine.class

     文件       6539  2011-09-08 14:35  Sapphire1.21测试版\com\sapp\main\SappMethod.class

     文件       3770  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\tools\CompliesTools.class

     文件       2200  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\tools\EngineTools.class

     文件       2119  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\tools\InterpreterTools.class

     文件        785  2011-09-08 13:19  Sapphire1.21测试版\com\sapp\tools\SappClassLoader.class

     文件       9582  2011-08-08 22:47  Sapphire1.21测试版\com\sapp\tools\Tools.class

     文件       1345  2011-09-07 20:06  Sapphire1.21测试版\res\lang\SappArray.sph

     文件        499  2011-09-07 12:31  Sapphire1.21测试版\res\lang\SappBasicConfigration.sph

     文件       1189  2011-09-07 16:41  Sapphire1.21测试版\res\lang\SappBoolean.sph

............此处省略90个文件信息

评论

共有 条评论