广语言“广译”从javascript的关键字翻译说起
来源:互联网 发布:shiro java 判断权限 编辑:程序博客网 时间:2024/04/28 02:11
例:
变 串="ria4";
弹(串);
//↑上面的代码就是广式javascript,广类型为“javascript广”,被【广译】后,得到下面的javascript原生代码:
var 串="ria4";
alert(串);
广语言最原始的使命是把各种语言的关键字变成中文,然后做一个对应各种对象方法的中文函数库,虽然现在目标更广大,但把关键字本土化,尤其是用一个汉字对应一个关键字,还是广语言的最神圣的过程。下面的函数就是对javascript进行【广译】,即把某种语言广式书写方式还原为此语言原来的样子(一点也不萌了)。最简单的例子就是把“如 ”变成“if ”把“函 ”变成“function ”。
代码的内容,我以后再解释,将来也是用文本式来存在数据库来实现这些对照关系,自然语言作为“别名”,会先替换为极简的广式,再参与【广译】。(以后用“【】”这个符号括起来的内容都是广语言的函数)。
以下是相关的广函:
function 广译(参){
/*
■javascript关键字
如if如果
另else另外,否则
闸switch开关,判断
案case案子,情况,事情
默default默认
继continue继续
破break打破,跳出循环
为for因为,循环
做do做事,请
虽while虽然,当真
在in在里面
变var变量
函function函数
返return返回
尝try尝试
抓catch抓获
顽finally顽强,错也做
抛throw抛出
新new新建
删delete删除
这this这个,此
泊typeof查类型,停泊在
汪instanceof为此类型,汪汪
无void无类型
同with同伙
■javascript关键字组合
若else if否则如果,另如
*/
var 果 = 参 ;
//
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)如/gm" + "广分隔" + "$1if ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)\\s*另/gm" + "广分隔" + "$1else ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)闸/gm" + "广分隔" + "$1switch ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)案/gm" + "广分隔" + "$1case ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)默/gm" + "广分隔" + "$1default ")
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)继/gm" + "广分隔" + "$1continue ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)逃/gm" + "广分隔" + "$1break ")
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)为/gm" + "广分隔" + "$1for ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)做/gm" + "广分隔" + "$1do ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)虽/gm" + "广分隔" + "$1while ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)在/gm" + "广分隔" + "$1in ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)变/gm" + "广分隔" + "$1var ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)函/gm" + "广分隔" + "$1function ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)返/gm" + "广分隔" + "$1return ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)尝/gm" + "广分隔" + "$1try ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)\\s*抓/gm" + "广分隔" + "$1catch ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)顽/gm" + "广分隔" + "$1finally ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)抛/gm" + "广分隔" + "$1throw ");
果 = 换(果 + "广分隔" + "/=(\\s*\\}?)新/gm" + "广分隔" + "= new ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)删/gm" + "广分隔" + "$1delete ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)这/gm" + "广分隔" + "$1this ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)泊/gm" + "广分隔" + "$1typeof ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)汪/gm" + "广分隔" + "$1instanceof ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)无/gm" + "广分隔" + "$1void ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)同/gm" + "广分隔" + "$1with ");
果 = 换(果 + "广分隔" + "/^(\\s*\\}?)若/gm" + "广分隔" + "$1else if ");
//
果 = 换(果 + "广分隔" + "/ 真 /gm" + "广分隔" + " true ");
果 = 换(果 + "广分隔" + "/ 假 /gm" + "广分隔" + " false ");
//
果 = 换(果 + "广分隔" + "/串\\s*\\(/gm" + "广分隔" + "String");
//果 = 换(果 + "广分隔" + "/^\\s*\\}?\\s*\\(/gm" + "广分隔" + "alert(");
果 = 换(果 + "广分隔" + "/^\\s*例\\s*(.+?);?\\s*$/gm" + "广分隔" + "$(\"#果\").html($1);");
//弹("广译:" + 果);
return 果;
}
///////////////////////////////////////
function 换(参){
var 果 = 参2(参); //正则文本
var 妮一 = 执(果) //正则对象
果 = 参1(参).replace(妮一,参3(参));
// 弹("【换】果:" + 果);
return 果.toString();
}
///////////////////////////////////////
function 参1(参){
var 果 = "";
阵参 = 割(参);
果 = 阵参[0];
return 果;
}
function 参2(参){
var 果 = "";
阵参 = 割(参);
果 = 阵参[1];
return 果;
}
function 参3(参){
var 果 = "";
阵参 = 割(参);
果 = 阵参[2];
return 果;
}
//....(其他取参数类似)
///////////////////////////////////////
function 执(参){
var 果 = "";
try{
果 = eval(参+";");
return 果;
}catch(e){
//return 广无果 + 参 + " 错误代码:" + e;
}
}
///////////////////////////////////////
function 割(参){
var 几 = 参.indexOf("广分隔");
var 为有广分隔 = (几 != -1);
var 为有逗号 = 参.indexOf(",") != -1;
var 串="";
if(为有广分隔){
串 = "广分隔";
}else{
if(为有逗号){
串 = ","; //例:441,891
}else{
串 = ",";
}
}
阵参 = 参.split(串);
var 果 = 阵参;
广果 = 果;
return 果;
}
///////////////////////////////////////
- 广语言“广译”从javascript的关键字翻译说起
- 广语言支持的语言
- 广语言的一些概念
- 广语言的一些规则
- 《广语言JavaScript中文编程》关键字与内置对象函数化
- 广语言某一个字的意义 20140620
- 广语言用一个字的用意
- 广语言2051个广命令
- 广语言指令目录
- 《广语言JavaScript中文编程》目录(暂定)
- 广语言是一种语言与脚本上的语言
- 广语言与易语言
- 预处理的广搜
- 广搜的学习
- 广语言可以做什么
- poj3984广搜c语言
- poj1979广搜c语言
- 应用最广的十大Javascript框架
- xcode4.5应用程序本地化
- yum -y install oracle-rdbms-server-11gR2-preinstall
- TQ2440 linux i2c驱动——at24c02(eeprom)
- vector,list,deque区别
- 面试题15:合并两个排序的链表
- 广语言“广译”从javascript的关键字翻译说起
- 1031. Hello World for U (20)-PAT
- Linux的sqlplus环境下方向键、Backspace键使用不正常的解决方法
- 三十分钟掌握STL
- 用代理方式实现android系统抓包
- POJ 1686 Lazy Math Instructor 栈的应用
- 【xpghost】中关村七月最新装机版
- 关于黑盒测试用例的设计
- 为什么使用PreparedStatement