廣語言“廣譯”從javascript的關鍵字翻譯說起

來源:互聯網
上載者:User

例:
變 串="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 果;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.