韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > 头条 > 文言文也可以用来编程了?作者竟是大四学生

文言文也可以用来编程了?作者竟是大四学生

文言文 编程 大四学生

头像

爱喝马黛茶的安东尼

2019-12-20 16:43:173477浏览 · 0收藏 · 0评论

近日,GitHub 上一个叫做文言文(wenyan)的编程语言项目火了,就在本文成文期间,GitHub 上的 Star 数已经从 2200 涨到 2800,并还有继续上涨的趋势。只需要在在线编辑器上,或下载一个编译器,就可以用文言文进行编程。让人惊讶的是,这个涉及思路清奇的项目竟然出自卡内基梅隆大学的一名大四学生之手,不禁让人感叹后生可畏。

df2c4184303e76a757b259f4573153d.png

python学习网,大量的免费python视频教程,欢迎在线学习!

文言文(wenyan)是一种深奥的编程语言,遵循中国古典文学的语法和文风。据介绍,这种编程语言文字仅包含繁体中文字符和“''引号,因此古代中国人绝对看得懂。是不是觉得很新奇?那不妨动动你的小手尝试一下吧,可以在在线编辑器上试用,也可以下载编译器或查看源代码。

在线编辑器:http://wenyan-lang.lingdong.works/ide.html

下载编译器:https://github.com/LingDong-/wenyan-lang#installation

开源代码:https://github.com/LingDong-/wenyan-lang

04a2749691de49d00c0700c4c7e06db.png

这个项目受到了大家很多好评,有人说项目的设计思路奇特,有人表示在学编程的同时还顺带学习了文言文,一箭双雕。

那么,wenyan 究竟是怎么玩的?我们来跟着 GitHub 学习一下。

语法

正如如名,文言文(wenyan)遵循古文言文的语法: 

1229b90f4a3ed7e94972d445893dcca.png

编辑

wenyan 目前可编译为 JavaScript 或 Python,将来可能会支持更多语言(比如 C)。上面的“ Hello World”示例(或任何编辑)将转换为:

varn =3;for(vari =0; i < n; i++) {console.log("問天地好在");}

输出结果:

問天地好在
問天地好在
問天地好在

标点和换行符是完全可选的(就像古文言文一样),因此上面的代码等效于:

吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云

上面的代码是可编辑的,你可以自定义问候语并点击??!

另一个稍微复杂一点的示例,使用埃及筛查找素数:

注:埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。来源 | 百度百科        

5c432a7986ef1f3dcc62ffeadf06bd4.png

你可以在在线 IDE 上找到更多示例,例如通用图灵机、曼德勃罗分形图、汉诺塔等。

特征

NLP遵循古文言文语法

编译为JavaScript或Python

图灵完备(https://github.com/LingDong-/wenyan-lang/blob/master/examples/turing.wy 在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么它是图灵完备的。)

在线IDE http://wenyan-lang.lingdong.works/ide.html

入门示例 https://github.com/LingDong-/wenyan-lang/tree/master/examples

安装

编译器

克隆存储库(或下载 ./build/wenyan.js 并设置其可执行位 chmod +x wenyan.js)。然后运行 ./build/wenyan.js,把你的 wenyan 源代码编译为目标语言。调用不带参数的编译器将显示帮助消息,如下所示:

Usage: wenyan [options] [input files]Options:
--eval -e:Give astringinsteadofa file (default:`')
--exec -x:Execute ouput (default:`false')
--inspect -i:Interactive REPL (default:false')
--lang -l:Language: js/py (default:js')
--log:Log file (default:`/dev/null')
--output -o:Output file (default:/dev/stdout')
--roman -r:Romanize identifiers (default:true')

首先尝试构建包含的示例,例如:

./build/wenyan.js examples/helloworld.wy -o helloworld.js

构建平台特定的二进制文件

克隆仓库

npm install
npm run make_cmdline

macOS、Windows和Linux二进制文件将位于./build文件夹中。

语法备忘单

该项目团队正在加紧构建与上下文无关的语法描述。同时,你还可以查看以下备忘单或src/parser.js 了解该项目语法。

变量        

管理

b8607a9eae2be3ea471bab653d7a7be.png

数学

be45da1038f65e3140b89cfcf2f0ac3.png

f16c679703e486f02bd148a9eba840e.png

容器

数组是1索引的。         

10df2777cb8fb49f99d791ede9ec7db.png

特征

渲染器

66da3f81b400abb3761d9b715fc500d.png

src / render.js 可以将 wenyan 程序渲染为有历史感的印刷书籍页面图像。它还可以将生成的SVG 文件解析回原始程序。下面是用 wenyan 编写的通用图灵机的渲染图:        

出自CMU大四学生之手

b5aa16d46782b359d14064f0b513235.png

值得注意的是,这个思路清奇的设计竟然出自一名卡内基梅隆大学的大四学生 Ling Dong Huang。

5e512cbe7cb867e471d68ba4dce0ccc.png

在 作者简介中,Ling Dong Huang 表示自己将于 2020 年获得计算机科学学位,此前,他曾在迪士尼研究院、 Antimodular 研究院和《纽约时报》实习,自己也做了项目网站 https://lingdong.works/。 目前已经有将近 30 个项目。 项目主题丰富多彩,比如用 emoji 做成的小游戏,使用用户提交的涂鸦做成的计算机动画,以及和本文一样对中国下手,把中国表意文字和部首做成可视化动画,等等,并给出了项目的源代码。    

ca02773aa470c638a4cfb9725a74fde.png

f9d1534d757f6d413858a0bbea5d2a4.png

python学习网,免费的在线学习python平台,欢迎关注!

本文转自:https://www.jianshu.com/p/40c6219f9255

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

初中小姐姐脚丫踩在男生困困| 美国式禁忌| 老师穿白色双开真丝旗袍怎么穿| 黑色蕾丝女装大长腿| 《酒店激战》动漫1-5集免费观.. 《魅魔之耻》1~4集免费看 | 《艳乳欲乱2》免费观看| 色情版巜劳拉性放荡ID剧情| 《从上司到妻子》动画结局| 台球室的特殊待遇2HD| 日本在线视频| 小扫货几天没弄了| 麻豆传媒| 坤坤寒入桃子里电视剧免费看| 16岁小花妹妹CSGO| 《訾花交换做爰》| 《家访的老师》动浸在线观看 | 电影《满足2》完整版在线观看| 交换朋友的老婆2中字谜给看| 免费观看已满十八岁电视剧在线播..| 公交车被上高湖了还能坐吗小说| 家庭性史| 亚洲AV成人片无码WWW| 性的快乐| 《朋友的妈妈2》中字头歌词| 啊灬啊灬啊灬快…深的含义 | 欧美大片PPT免费大全| 《訾花交换做爰》| 《高压监狱3》法国版正版| 天美麻花星空高清MV播放音乐| 主动把奶头放进男朋友嘴巴里 | 女性无裆连体内衣| 闺蜜老公把我压在怀里| 《出差的日子》叶爱| 男生把小困困放到女生困里视频| DJ快了又快又骚的POP歌曲| 小泽玛利亚| 东北娘们国语版免费播放| 韩剧《喂奶2》的主要内容是什么| DJ快了又快又骚的POP歌曲| 《交换做爰》在线观看| 免费的行情网站WWW下载大全