绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
文言文编程语言
2019-12-18 23:15:56

授权协议: MIT

开发语言: JavaScript 查看源码»

操作系统: 跨平台


文言(wenyan-lang)是一门采用文言文输入的编程语言,该语言不使用英文字符,仅包含繁体中文字符,并保留繁体引号「」。

特性

采用 NLP 共享古典汉语语法

编译为 JavaScript 或 Python

图灵完备

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

提供入门示例

语法定义

变量

wenyanJavaScript

吾有一數。曰三。名之曰「甲」。var a = 3;

有數五十。名之曰「大衍」。var dayan = 50;

昔之「甲」者。今「大衍」是也。a = dayan;

吾有一言。曰「「噫吁戲」」。名之曰「乙」。var b = "alas!";

吾有一爻。曰陰。名之曰「丙」。var c = false;

吾有一列。名之曰「丁」。var d = [];

吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。var a=1,b=3,c=5;

控制

wenyanJavaScript

若三大於二者。乃得「「想當然耳」」也。if (3>2){ return "of course"; }

若三不大於五者。乃得「「想當然耳」」。若非。乃得「「怪哉」」也。if(3<=5){return "of course"}else{return "no way"}

為是百遍。⋯⋯ 云云。for (var i = 0; i < 100; i++){ ... }

恆為是。⋯⋯ 云云。while (true) { ... }

凡「天地」中之「人」。⋯⋯ 云云。for (var human of world){ ... }

乃止。break;

运算

wenyanJavaScript

加一以二。1+2

加一於二。2+1

加一以二。乘其以三。(1+2)*3

除十以三。所餘幾何。10%3

減七百五十六以四百三十三。名之曰「甲」。var a = 756-433;

夫「甲」「乙」中有陽乎。a || b

夫「甲」「乙」中無陰乎。a && b

容器

数组从 1 开始索引。

wenyanJavaScript

吾有一列。名之曰「甲」。充「甲」以四。以二。var a = []; a.push(4, 2);

銜「甲」以「乙」。以「丙」a.concat(b).concat(c);

夫「甲」之一。a[0]

夫「甲」之其餘。a.slice(1);

夫「玫瑰」之「「名」」。rose["name"]

夫「寶劍」之長。sword.length;

函数

wenyanJavaScript

吾有一術。名之曰「吸星大F」。是術曰。⋯⋯是謂「吸星大F」之術也。function f(){...}

吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。⋯⋯是謂「六脈神劍」之術也。function f(a,b,c,d,e,f){...}

吾有一術。名之曰「翻倍」。欲行是術。必先得一數。曰「甲」。乃行是術曰。乘「甲」以二。名之曰「乙」。乃得「乙」。是謂「翻倍」之術也。function double(a){var b = a * 2; return b;}

Helloworld demo

Wenyan:

吾有一數。曰三。名之曰「甲」。

為是「甲」遍。

吾有一言。曰「「問天地好在。」」。書之。

云云。

等效 JavaScript:

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

输出:

問天地好在。

問天地好在。

問天地好在。

同时,标点和换行符是完全可选的,与古汉语一致,上面的代码等效于:

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

分享好友

分享这个小栈给你的朋友们,一起进步吧。

蓄水池
创建时间:2019-04-03 09:55:40
来这里灌灌水,弄10个字先
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • boypoo
    栈主

小栈成员

查看更多
  • ITPUB001
  • u_9a3ed7a37f8e4a
  • 喵呜
  • u_d85dca47a8b1
戳我,来吐槽~