广语言“广译”从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 果;
}

///////////////////////////////////////

广语言指令目录
原创粉丝点击