免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
年度最騷的編程語言來了!大四學生發(fā)明文言文編程語言!

黑客技術

Java開發(fā)進階
點擊右側關注,掌握進階之路!

Python開發(fā)
點擊右側關注,探討技術話題!

來源丨開源最前線(ID:OpenSourceTop)
猿妹綜合整理

猿妹這兩天刷微博、朋友圈、公眾號,發(fā)現大家都被一個文言文編程的項目圈粉了。

就連中科院計算所研究員、機器翻譯領域知名專家劉群老師都贊嘆道:后生可畏

到底是什么神仙項目,竟然獲得如此高的評價?原來,這是一位卡內基梅隆大學(CMU)的大四學生開發(fā)的基于文言文的編程語言。

這個項目叫做Lingdong,可編譯成Javascript,也可編譯成Python,而且還有線上編輯器可直接運行。如今已經在Github上標星7K324個Fork

Github地址:
https://github.com/LingDong-/

而且發(fā)文前,Lingdong妥妥霸榜GitHub Trending日榜第一,單日斬獲4000+Star!下面還是來看看Lingdong怎么用吧。
假如你想知道文言文是如何輸出“Hello World”?,你會發(fā)現原來是這樣的:
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
    吾有一言。曰「「問天地好在。」」。書之。
云云。
編譯成JavaScript是這樣的:
var n = 3;
for (var i = 0; i < n; i++) {
    console.log('問天地好在。');
}
輸出是這樣的
問天地好在。
問天地好在。
問天地好在。
再比如,我們大學時候的編程,總會有一道求100以內素數的練習題,放到文言文里會是怎樣的呢?這時候,你就要用到一個名為“埃氏篩”的算法,完整文言文如下:
編譯成JavaScript就是如下這樣:
var 埃氏篩 = () => 0;
埃氏篩 = function({
    var 掩 = [];
    for (var _rand1 = 0; _rand1 < 甲; _rand1++) {
        掩.push(true);
    };
    var _ans1 = 甲 / 2;
    var 甲半 = _ans1;
    var 戊 = 2;
    while (true) {
        if (戊 == 甲半) {
            break;
        };
        var 戌 = 2;
        while (true) {
            if (戌 == 甲半) {
                break;
            };
            var _ans2 = 戊 * 戌;
            var 合 = _ans2;
            if (合 <= 甲) {
                掩[合 - 1] = false;
            } else {
                break;
            };
            var _ans3 = 1 + 戌;
            戌 = _ans3;
        };
        var _ans4 = 1 + 戊;
        戊 = _ans4;
    };
    var 諸素 = [];
    var 戊 = 2;
    while (true) {
        if (戊 == 掩.length) {
            break;
        };
        var _ans5 = 掩[戊 - 1];
        var 素耶 = _ans5;
        if (素耶) {
            諸素.push(戊);
        };
        var _ans6 = 1 + 戊;
        戊 = _ans6;
    };
    return 諸素
};
var _ans7 = 埃氏篩(100);
console.log(_ans7);
最后,我們來看看運行結果:
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
猿妹找不到文言文來夸它,那就只能說出一個字:牛!!!
此外,作者還提供了一個在線的IDE,你不妨趕緊試試,地址:http://wenyan-lang.lingdong.works/ide.html
你以為這就夠了么?當然不,作者還做了個圖靈機demo:
相關語法表
下面,我們在來看看相關的語法表,比如他是如何定義一個變量的:
還有一些運算是如何定義的呢?如下:
還有基本的數學運算:
最后還有函數定義:
看到這里,猿妹只能自嘆自己沒文化了,當年沒能好好動腦敲代碼。
安裝與使用
說了這么多,要如何安裝使用呢?你只需要克隆此項目, (或者直接下載 ./build/wenyan.js 然后賦予它執(zhí)行權限,在終端中輸入 chmod +x wenyan.js)。 之后執(zhí)行 ./build/wenyan.js 把源代碼編譯成為目標語言。如果執(zhí)行此命令不帶任何參數,則輸出以下幫助信息。
Usage: wenyan [options] [input files]

Options:
--eval    -e <string>  : Give a string instead of a file (default: `')
--exec    -x <boolean> : Execute output (default: `false')
--inspect -i <boolean> : Interactive REPL (default: `false')
--lang    -l <string>  : Language: js/py (default: `js')
--log        <string>  : Log file (default: `/dev/null')
--output  -o <string>  : Output file (default: `/dev/stdout')
--roman   -r <boolean> : Romanize identifiers (default: `true')
然后就可以嘗試編譯幾個簡單的例子啦:
./build/wenyan.js examples/helloworld.wy -o helloworld.js
如果你只是嘗鮮,就通過前面的IDE地址就可以體驗啦。
關于作者

作者是一名卡內基梅隆大學的大四學生,將在2020年取得計算機科學學位,雖然還未畢業(yè)但已經有多個實習經歷。也有自己的個人項目網站。
通過他的Github主頁,你還可以找到很多有趣的項目,例如可以用程序無限生成的中國山水畫,age2death(抖音很火的看著自己慢慢變老),edges2calligraphy(把你的涂鴉變成中國書法)格律詩編輯程序,隱士等等,從這些項目可以看出,這是一個對中國文化很感興趣的小哥哥。
最后再附上他的主頁地址:

https://lingdong.works/
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
大四學生發(fā)明文言文編程語言,腦洞新奇
年度最騷編程語言:文言文!CMU中國留學生打造,在線編輯器可玩
文言文編程火了,可我完全學不懂
還能用中文寫代碼?東北話:我先來整一個
妙哉!那個用文言文編程的小哥,從28萬行唐詩中找出了對稱矩陣
Javascript[0x06] -- 基于Javascript范疇代碼風格和規(guī)范的總結
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服