-
大小: 172KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-06-13
- 语言: JavaScript
- 标签: java 脚本 解释器
资源简介
这是我用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个文件信息
相关资源
- 重邮-微信小程序源码
- movecss效果-微信小程序源码
-
ja
vasc ript in IoT -
HTML5-ja
vasc ript动画基础 -
ja
vasc ript制作的无缝轮播图(仿京 -
marked一个用ja
vasc ript写的功能齐全 -
ja
vasc ript打砖块 源码 - 疯狂打地鼠 游戏代码
- Lodash中文离线文档.chm
-
ja
vasc ript在线文字识别 - 跟随鼠标移动的鲸鱼
- web网页实现思维导图展示
- js实现文字循环移动(仿LED屏幕)
- JS实现水印效果
- Autojs乡拍脚本自动做任务(乡拍.js)
-
ja
vasc ript中jQuery中胡DOM操作 -
《计算机程序的构造和解释》 ja
v - 大王叫我来巡山.js
- 哈工大疫情每日上报-油桃脚本(hit
-
ja
vasc ript源码大全.chm - JS实现漂亮的随机密码生成器DEMO演示
-
ja
vasc ript案例:红绿灯.html -
ja
vasc ript教程--从入门到精通(P -
ja
vasc ript高级程序设计第3版.pdf带 - java web租车系统.7z
- 十万词汇英汉词典词库JSON格式
-
ja
vasc ript程序设计——事件 -
JS ba
se64编码/解码 -
程序员常用ja
vasc ript特效 -
ja
vasc ript 高级程序设计第三版源码
评论
共有 条评论