首页 > 编程语言 >文言编程语言/wenyan-lang的教程来啦!!!

文言编程语言/wenyan-lang的教程来啦!!!

时间:2022-11-27 10:46:16浏览次数:66  
标签:wenyan lang 编程语言 一術 JavaScript 快排 文言 var 乃得

这是一个大学生开源的一个文言文编程语言。

关键是这门文言文的编程语言,是一位卡内基梅隆大学(CMU)的大四学生开发。利用 NLP 的一些技术,将文言文程序语法转换到 JavaScript 或 Python 运行,并不是简单的将程序中的英文字符换成了中文

如要体验这门语言就到Wenyan Online IDE

下面就是这门语言的操作。

1.定义数据

文言                                                       javascript

吾有一數。曰三。名之曰⌈甲⌋。                               var a = 3;
有數五十。名之曰⌈大衍⌋。                                   var dayan = 50;
昔之⌈甲⌋者。今⌈大衍⌋是也。                                  a = dayan;
吾有一言。曰⌈⌈abc⌋⌋。名之曰⌈乙⌋。                            var b =" abc";
吾有一爻。曰蔭。名之曰⌈丙⌋。                                var c = false;
吾有一列。名之曰⌈丁⌋。                                     var d = [];
吾有三數。曰一。曰二。曰五。名之曰⌈甲⌋。曰⌈乙⌋。曰⌈丙⌋。     var a =1,b = 2,c=5;

2.流程控制

文言                                                                   JavaScript

若三大於二者。乃得⌈⌈想當然耳⌋⌋也。                                        if (3>2){return "of course";}
若三不大於五者。乃得「「想當然耳」」                                     if(3<=5){return "of course"}else{return "noway"}
為是百遍。……云云。                                                     for(vari=0;i100;i++){...}
恒為是。……云云。                                                       while (true){...}                                                      
凡「天地」中之「人」。……云云。                                         for (var human of world){...}
乃止。                                                                   break;



                                                                 

 3.运算

文言                                     JavaScript
 
加一以二。                                  1+2
加一於二。                                  2+1
加一以二。乘其以三。                       (1+2)*3
除十以三。所餘幾何。                        10%3
減七百五十六以四百三十三。名之曰「甲」。    var a=756-433;
夫「甲」「乙」中有陽乎。                    a||b
夫「甲」「乙」中無陰乎。                    a&&b

4.容器

文言                                         JavaScript

吾有一列。名之曰⌈甲⌋。充⌈甲⌋以四。以二。         var a = []; a.push(4,2);
銜⌈甲⌋以⌈乙⌋。以⌈丙⌋。                            a.concat(b).concat(c);
夫⌈甲⌋之一。                                    a[0];
夫⌈甲⌋之其餘。                                  a.slice(1);
夫⌈玫瑰⌋之⌈⌈名⌋⌋。                                rose["name"]
夫⌈寳劍⌋之辰。                                  sword.lengh;

5.函数

 

    文言                                                                    JavaScript

吾有一術。名之曰⌈吸星大法⌋。是術曰。……是謂⌈吸星大法⌋之術也。            function f(){……}

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

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

施⌈翻倍⌋於⌈大衍⌋。                                                          double(dayan);
吾有一數。曰一。書之。                                                     console.log(1);

这样我们就可以实现一些基本操作,如: 

//快速排序
吾有一術。名之曰「快排」。欲行是術。必先得一列。曰「甲」。乃行是術曰。         //摘自https://ide.wy-lang.org/?file=quicksort
	若「甲」之長不大於一者。
		乃得「甲」
	也。
	吾有三列。名之曰「首」。曰「頷」。曰「尾」。

	夫「甲」之一。名之曰「甲一」。
	充「頷」以「甲一」。
	夫「甲」之其餘。名之曰「甲餘」。

	凡「甲餘」中之「丁」。
		若「丁」小於「甲一」者。
			充「首」以「丁」。
		若非。
			充「尾」以「丁」
		也。
	云云。
	施「快排」於「首」。昔之「首」者。今其是矣。
	施「快排」於「尾」。昔之「尾」者。今其是矣。

	銜「首」以「頷」以「尾」。名之曰「乙」。
	乃得「乙」。

是謂「快排」之術也。

吾有一列。名之曰「己」。
充「己」以五。以三。以二十。以八。以三十五。以七百。
施「快排」於「己」。書之。

 

标签:wenyan,lang,编程语言,一術,JavaScript,快排,文言,var,乃得
From: https://www.cnblogs.com/demc/p/16929106.html

相关文章

  • golang_learn note_2022年11月26日
    D:\code_gitee\go_example\main.gopackagemainimport( "fmt")funcmain(){ //显示声明类型 constastring="hello" //隐式声明类型 constb="hello"......
  • golang的两把利器,协程和管道
    golang的协程相信大家都不陌生,在golang中的使用也很简单,只要加上一个关键字「go」即可,虽然说大家都知道,但是真的在实际使用中又遇到这样那样的问题,坑其实还是挺多的。而网上......
  • python基础:计算机五大组成部分详解、计算机三大核心硬件、操作系统、编程与编程语言
    目录计算机五大组成部分详解计算机三大核心硬件操作系统编程与编程语言编程语言发展史编程语言的分类python解释器环境变量运行python程序的三种方式计算机五大组成部分详......
  • [golang]字符串拼接
    前言在go语言中,因为字符串只能被访问,不能被修改,所以进行字符串拼接的时候,golang都需要进行内存拷贝,造成一定的性能消耗。方式1:操作符+特点:简单,可读性良好。每次拼接都......
  • 基于Docker的Golang开发
    一、Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。1)一致的开发环境使用Docker,可以保证整个研发团队使用一致的开......
  • Golang中一个不错的处理 JSON 的库 go-dproxy
    国庆七天,你是吃多了,还是睡多了?放假七天转眼即逝,接下来的七天可能你又觉得会很漫才。言归正传。Golang虽然自己就带了JSON(encoding/json)处理的库,也有第三方的simplejs......
  • 【五期伍捷威】CCF-A(AAAI'20)Federated Learning for Vision-and-Language Grounding
    Li,Li,etal."Areviewofapplicationsinfederatedlearning."Computers&IndustrialEngineering149(2020):106854.CCF-A(AAAI'20)  本论文提出了一种联......
  • 法语编程语言Linotte体验
    Linotte简介[http://langagelinotte.free.fr/wordpress/][https://github.com/cpc6128/LangageLinotte]Codezavecunvrailangageetenfrançais!用真正的法语编......
  • 错误 CS1617 Invalid option '7.3' for /langversion; must be ISO-1, ISO-2, Default
    一年前的程序版本拉下来需要改动下,突然生成程序报这个错。解决方法,网上说修改项目属性-生成-高级,语言版本选择default。我这个项目就不能修改,后来查了下https://stac......
  • golang coredump
    golang生成coredump文件refer:   https://blog.csdn.net/xmcy001122/article/details/105665732   http://t.zoukankan.com/lit10050528-p-4811833.html1.设置cor......