RELATEED CONSULTING
相关咨询
选择相应客服马上在线沟通
客服电话:0531-88989050
服务时间:8:30-18:00
关闭右侧工具栏
文言文编程之道,难上加难
  • 作者:大左软件
  • 发表时间:2020-03-05
  • 更新时间:2020-06-11
  • 新闻资讯

一门新的编程语言,吸引了大量开发者的目光,该语言名为“文言(wenyan-lang)”,这是一门采用文言文输入的编程语言,该语言不包括英文字符,仅包含繁体中文字符,并保留繁体引号「」。


时钟示例:


吾嘗觀「「曆法」」之書。方悟「今何紀元時」「彼時何小時」「彼刻何刻」「彼分何分」「彼秒何秒」之義。
吾嘗觀「「畫譜」」之書。方悟「備紙」「擇筆」「蘸色」「落筆」「運筆」「提筆」「設色」「裱畫」之義。
吾嘗觀「「算經」」之書。方悟「倍圓周率」「正弦」「餘弦」之義。

施「今何紀元時」。名之曰「紀元時」。
施「彼時何小時」於「紀元時」。名之曰「小時」。
施「彼刻何刻」於「紀元時」。名之曰「刻」。
施「彼分何分」於「紀元時」。名之曰「分」。
施「彼秒何秒」於「紀元時」。名之曰「秒」。

有數四百。名之曰「紙縱」。
有數四百。名之曰「紙橫」。
除二於「紙縱」。名之曰「半縱」。
除二於「紙橫」。名之曰「半橫」。
吾有一數。名之曰「比例」。

若「半橫」小於「半縱」者。
    昔之「比例」者。今「半橫」是矣。
若非。
    昔之「比例」者。今「半縱」是矣。
云云。

吾有一術。名之曰「縱坐標」。欲行是術。必先得一數。曰「南」。是術曰。
    乘「南」以「比例」。減其於「半縱」。乃得矣。
是謂「縱坐標」之術也。

吾有一術。名之曰「橫坐標」。欲行是術。必先得一數。曰「東」。是術曰。
    乘「東」以「比例」。減其於「半橫」。乃得矣。
是謂「橫坐標」之術也。

吾有一術。名之曰「極坐標」。欲行是術。必先得二數。曰「距」。曰「角」。是術曰。
    施「餘弦」於「角」。乘其以「距」。取一以施「縱坐標」。名之曰「縱」。
    施「正弦」於「角」。乘其以「距」。取一以施「橫坐標」。名之曰「橫」。
    吾有一物。名之曰「坐標」。其物如是。
        物之「「橫」」者。數曰「橫」。
        物之「「縱」」者。數曰「縱」。
    是謂「坐標」之物也。乃得「坐標」。
是謂「極坐標」之術也。

吾有一術。名之曰「畫鐘面」。
欲行是術。必先得一物。曰「紙」。一數。曰「半徑」。
是術曰。

    有數一千零二十四。名之曰「割圓」。
    夫「半徑」。夫零。取二以施「極坐標」。名之曰「始坐標」。
    夫「紙」。夫「始坐標」之「「橫」」。夫「始坐標」之「「縱」」。取三以施「落筆」。

    有數一。名之曰「甲」。
    為是「割圓」遍。
        除「甲」以「割圓」。乘其以「倍圓周率」。名之曰「乙」。
        夫「半徑」。夫「乙」。取二以施「極坐標」。名之曰「坐標」。
        夫「紙」。夫「坐標」之「「橫」」。夫「坐標」之「「縱」」。取三以施「運筆」。
        加「甲」以一。昔之「甲」者。今其是矣。
    云云。

    施「蘸色」於「紙」於「「鈦白」」。
    施「設色」於「紙」。
    施「蘸色」於「紙」於「「黑」」。
    施「提筆」於「紙」。

    有數零。名之曰「丙」。

    為是六十遍。
        除「丙」以六十。乘其以「倍圓周率」。名之曰「丁」。
        夫「半徑」。夫「丁」。取二以施「極坐標」。名之曰「正刻外坐標」。
        夫「紙」。夫「正刻外坐標」之「「橫」」。夫「正刻外坐標」之「「縱」」。取三以施「落筆」。
        乘九分五於「半徑」。夫「丁」。取二以施「極坐標」。名之曰「正刻內坐標」。
        夫「紙」。夫「正刻內坐標」之「「橫」」。夫「正刻內坐標」之「「縱」」。取三以施「運筆」。
        施「提筆」於「紙」。

        加「丙」以一。昔之「丙」者。今其是矣。
    云云。


    有數零。名之曰「丙」。

    為是十二遍。
        除「丙」以十二。乘其以「倍圓周率」。名之曰「戊」。
        夫「半徑」。夫「戊」。取二以施「極坐標」。名之曰「初刻外坐標」。
        夫「紙」。夫「初刻外坐標」之「「橫」」。夫「初刻外坐標」之「「縱」」。取三以施「落筆」。
        乘八分五於「半徑」。夫「戊」。取二以施「極坐標」。名之曰「初刻內坐標」。
        夫「紙」。夫「初刻內坐標」之「「橫」」。夫「初刻內坐標」之「「縱」」。取三以施「運筆」。
        施「提筆」於「紙」。

        加「丙」以一。昔之「丙」者。今其是矣。
    云云。

是謂「畫鐘面」之術也。

吾有一術。名之曰「畫指針」。
欲行是術。必先得一物。曰「紙」。五數。曰「角」。曰「針長」。曰「尾長」。曰「針角」。曰「尾角」。
是術曰。

    夫「針長」。加「針角」於「角」。取二以施「極坐標」。名之曰「甲」。
    乘負一於「尾長」。減「尾角」於「角」。取二以施「極坐標」。名之曰「乙」。
    乘負一於「尾長」。加「尾角」於「角」。取二以施「極坐標」。名之曰「丙」。
    夫「針長」。減「針角」於「角」。取二以施「極坐標」。名之曰「丁」。

    夫「紙」。夫「甲」之「「橫」」。夫「甲」之「「縱」」。取三以施「落筆」。
    夫「紙」。夫「乙」之「「橫」」。夫「乙」之「「縱」」。取三以施「運筆」。
    夫「紙」。夫「丙」之「「橫」」。夫「丙」之「「縱」」。取三以施「運筆」。
    夫「紙」。夫「丁」之「「橫」」。夫「丁」之「「縱」」。取三以施「運筆」。
    夫「紙」。夫「甲」之「「橫」」。夫「甲」之「「縱」」。取三以施「運筆」。

    施「蘸色」於「紙」於「「花青」」。
    施「設色」於「紙」。

是謂「畫指針」之術也。

吾有一術。名之曰「执笔」。是術曰。

    施「(()=>document.getElementById("out").innerHTML="")」。
    施「今何紀元時」。名之曰「紀元時」。
    施「彼時何小時」於「紀元時」。名之曰「時」。
    施「彼分何分」於「紀元時」。名之曰「分」。
    施「彼刻何刻」於「紀元時」。名之曰「刻」。
    施「彼秒何秒」於「紀元時」。名之曰「秒」。

    乘「刻」以十五。加其於「分」。昔之「分」者。今其是矣。

    除「秒」以六十。加其於「分」。昔之「分」者。今其是矣。
    除「分」以六十。加其於「時」。昔之「時」者。今其是矣。

    除「分」以六十。乘其以「倍圓周率」。乘其以負一。名之曰「分角」。
    除「時」以十二。乘其以「倍圓周率」。乘其以負一。名之曰「時角」。
    除「秒」以六十。乘其以「倍圓周率」。乘其以負一。名之曰「秒角」。


    施「備紙」於「紙橫」。於「紙縱」。名之曰「紙」。
    施「畫鐘面」於「紙」。於九分。
    施「畫指針」於「紙」。於「秒角」。於八分。於一分。於三毫。於一分。
    施「畫指針」於「紙」。於「分角」。於七分五釐。於一分。於三毫。於三分。
    施「畫指針」於「紙」。於「時角」。於五分五釐。於八釐。於五毫。於五分。
    施「裱畫」於「紙」於「「out」」。

是謂「执笔」之術也。

施「(x=>setInterval(x, 500))」於「执笔」。


翻译一下:


/* module 算經 is hidden */
/*___wenyan_module_曆表_start___*/
var 曆表 = new function() {
  /*"此文程式之作文也。勿施以修訂。"*/ /*"程式書於文 tools/make_calendar.js "*/
  var 始曆月 = this.始曆月 = 57105;
  var 曆月表 = this.曆月表 = [];
  var 始閏月 = this.始閏月 = 1701;
  var 閏月表 = this.閏月表 = [];
  曆月表.push(1, 1, 1, 1, 0, 1, 0, 0, 0, -1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, -1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1);
  閏月表.push(-3, -1, 1, 2, -2, 0, 2, -3, 0, 1, 2, -1, 0, 2, -2, -1, 1, 3, -1, 0, 3, -2, -1, 1, -2, -2, 0, 1, -2, -2, 1, 2, -1, 0, 2, -1, -1, 1, 2, -3, 0, 1, 1, -1, 1, 2, -2, 0, 1, -2, -1, 0, 3, -2, 0, 2, -3, -1, 0, 3, -2, 0, 2, -3, -1, 0, 2, -2, -1, 2, -2, -1, 0, 3, -2);
}; /*___wenyan_module_曆表_end___*/ /*___wenyan_module_西曆法_start___*/
var 西曆法 = new function() {
  var 紀元時 = this.紀元時 = _ => {};
  紀元時 = this.紀元時 = () => {
    const _ans1 = (() => new Date().getTime() / 1000)();
    return _ans1;
  };
  var 時差 = this.時差 = _ => {};
  時差 = this.時差 = 時 => {
    const _ans2 = (x => 0 - new Date(x * 1000).getTimezoneOffset() * 60)(時);
    return _ans2;
  };
}; /*___wenyan_module_西曆法_end___*/
var 紀元時 = 西曆法.紀元時;
var 時差 = 西曆法.時差;
var 始曆月 = 曆表.始曆月;
var 曆月表 = 曆表.曆月表;
var 始閏月 = 曆表.始閏月;
var 閏月表 = 曆表.閏月表;
var 取底除 = 算經.取底除;
var 取整除 = 算經.取整除;
var 取底 = 算經.取底;
var 取頂 = 算經.取頂;
var 取整 = 算經.取整; /*"今之年月日時刻者。當以紀元時(Unix timestamp)推算之。"*/ /*"格林威治平時西曆一九七〇年一月一日木曜日〇時即西元一九六九年己酉年十一月二十四日辛巳日子正起所積秒數也。"*/ /*"日八萬六千四百秒。"*/ /*"今何紀元時。同Javascript之Date.now() / 1000也。"*/
var 今何紀元時 = this.今何紀元時 = _ => {};
今何紀元時 = this.今何紀元時 = () => {
  const _ans1 = 紀元時();
  return _ans1;
}; /*"言今之日時。同Javascript之new Date().toString(), in Chinese calendar也。"*/
var 言今之日時 = this.言今之日時 = _ => {};
言今之日時 = this.言今之日時 = () => {
  const _ans2 = 紀元時();
  const _ans3 = 言彼之日時(_ans2);
  return _ans3;
}; /*"言今之年月日。同Javascript之new Date().toDateString(), in Chinese calendar也。"*/
var 言今之年月日 = this.言今之年月日 = _ => {};
言今之年月日 = this.言今之年月日 = () => {
  const _ans4 = 紀元時();
  const _ans5 = 言彼之年月日(_ans4);
  return _ans5;
}; /*"言今之時刻。同Javascript之new Date().toTimeString(), in Chinese calendar也。"*/
var 言今之時刻 = this.言今之時刻 = _ => {};
言今之時刻 = this.言今之時刻 = () => {
  const _ans6 = 紀元時();
  const _ans7 = 言彼之時刻(_ans6);
  return _ans7;
}; /*"今年何年號。同Javascript之\"西元\" for modern dates也。"*/
var 今年何年號 = this.今年何年號 = _ => {};
今年何年號 = this.今年何年號 = () => {
  const _ans8 = 紀元時();
  const _ans9 = 彼年何年號(_ans8);
  return _ans9;
}; /*"今年何年。同Javascript之new Date().getFullYear() for modern dates, in Chinese calendar也。"*/
var 今年何年 = this.今年何年 = _ => {};
今年何年 = this.今年何年 = () => {
  /*"年者。或以西元。或以帝王年號紀之。"*/
  const _ans10 = 紀元時();
  const _ans11 = 彼年何年(_ans10);
  return _ans11;
}; /*"今年何干支。同Javascript之Get index (1 to 60) of this year in the 60-year cycle也。"*/
var 今年何干支 = this.今年何干支 = _ => {};
今年何干支 = this.今年何干支 = () => {
  /*"甲子得一。乙丑得二。乃至癸亥得六十也。"*/
  const _ans12 = 紀元時();
  const _ans13 = 彼年何干支(_ans12);
  return _ans13;
}; /*"今年積何年。同Javascript之new Date().getFullYear() + 2697, in Chinese calendar也。"*/
var 今年積何年 = this.今年積何年 = _ => {};
今年積何年 = this.今年積何年 = () => {
  /*"米制公約訂立年積四千五百七十二年。"*/ /*"紀元年積四千六百六十六年。"*/
  const _ans14 = 紀元時();
  const _ans15 = 彼年積何年(_ans14);
  return _ans15;
}; /*"今月何月。同Javascript之new Date().getMonth() + 1, N + 0.5 for leap months, in Chinese calendar也。"*/
var 今月何月 = this.今月何月 = _ => {};
今月何月 = this.今月何月 = () => {
  /*"月者。正月至臘月也。"*/ /*"正月得一。二月得二。乃至十二月得十二也。閏月者。加半於前月數。"*/
  const _ans16 = 紀元時();
  const _ans17 = 彼月何月(_ans16);
  return _ans17;
}; /*"今月積何月。同Javascript之Get continuously counting month number of this month也。"*/
var 今月積何月 = this.今月積何月 = _ => {};
今月積何月 = this.今月積何月 = () => {
  /*"米制公約訂立月積五萬六千五百五十一月。"*/ /*"紀元月積五萬七千七百二十一月。"*/
  const _ans18 = 紀元時();
  const _ans19 = 彼月積何月(_ans18);
  return _ans19;
}; /*"今日何日。同Javascript之new Date().getDate(), in Chinese calendar也。"*/
var 今日何日 = this.今日何日 = _ => {};
今日何日 = this.今日何日 = () => {
  /*"古有越人歌。曰。今日何日兮,得與王子同舟。"*/ /*"初一日得一。初二日得二。乃至三十日得三十也。"*/
  const _ans20 = 紀元時();
  const _ans21 = 彼日何日(_ans20);
  return _ans21;
}; /*"今日何干支。同Javascript之Get index (1 to 60) of today in the 60-day cycle也。"*/
var 今日何干支 = this.今日何干支 = _ => {};
今日何干支 = this.今日何干支 = () => {
  /*"甲子得一。乙丑得二。乃至癸亥得六十也。"*/
  const _ans22 = 紀元時();
  const _ans23 = 彼日何干支(_ans22);
  return _ans23;
}; /*"今日積何日。同Javascript之Get continuously counting day number of today也。"*/
var 今日積何日 = this.今日積何日 = _ => {};
今日積何日 = this.今日積何日 = () => {
  /*"米制公約訂立日積一百六十六萬九千九百九十九日。"*/ /*"紀元日積一百七十〇萬四千五百五十八日。"*/
  const _ans24 = 紀元時();
  const _ans25 = 彼日積何日(_ans24);
  return _ans25;
}; /*"今時何時。同Javascript之Get index (1 to 12) of current time in the 12 divisions of day也。"*/
var 今時何時 = this.今時何時 = _ => {};
今時何時 = this.今時何時 = () => {
  /*"時者。子丑寅卯辰巳午未申酉戌亥。"*/ /*"子時得一。丑時得二。乃至亥時得十二也。"*/
  const _ans26 = 紀元時();
  const _ans27 = 彼時何時(_ans26);
  return _ans27;
}; /*"今時何小時。同Javascript之new Date().getHours()也。"*/
var 今時何小時 = this.今時何小時 = _ => {};
今時何小時 = this.今時何小時 = () => {
  /*"小時者。子丑寅卯辰巳午未申酉戌亥。各分初正。"*/ /*"子正得〇。丑初得一。乃至子初得二十三也。"*/
  const _ans28 = 紀元時();
  const _ans29 = 彼時何小時(_ans28);
  return _ans29;
}; /*"今刻何刻。同Javascript之Math.floor(new Date().getMinutes() / 15)也。"*/
var 今刻何刻 = this.今刻何刻 = _ => {};
今刻何刻 = this.今刻何刻 = () => {
  /*"說文解字曰。晝夜百刻。後世改為九十六、百八、百二十刻。未知孰為可法。"*/ /*"初刻得〇。一刻得一。二刻得二。三刻得三。古法四刻得四。"*/
  const _ans30 = 紀元時();
  const _ans31 = 彼刻何刻(_ans30);
  return _ans31;
}; /*"今分何分。同Javascript之new Date().getMinutes() % 15也。"*/
var 今分何分 = this.今分何分 = _ => {};
今分何分 = this.今分何分 = () => {
  const _ans32 = 紀元時();
  const _ans33 = 彼分何分(_ans32);
  return _ans33;
}; /*"今秒何秒。同Javascript之new Date().getSeconds()也。"*/
var 今秒何秒 = this.今秒何秒 = _ => {};
今秒何秒 = this.今秒何秒 = () => {
  const _ans34 = 紀元時();
  const _ans35 = 彼秒何秒(_ans34);
  return _ans35;
}; /*"既知某一紀元時。乃得其年月日時刻。故謂之彼。"*/
var 天干 = [];
天干.push("甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸");
var 地支 = [];
地支.push("子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥");
var 數字 = [];
數字.push("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九");
var 言序數 = _ => {};
言序數 = 甲 => {
  const _ans36 = 甲;
  const _ans37 = 10;
  const _ans38 = 取底除(_ans36)(_ans37);
  var 乙 = _ans38;
  const _ans39 = 乙["餘"];
  const _ans40 = _ans39 + 1;
  const _ans41 = 數字[_ans40 - 1];
  var 數 = _ans41;
  while (true) {
    const _ans42 = 乙["商"];
    const _ans43 = 10;
    const _ans44 = 取底除(_ans42)(_ans43);
    乙 = _ans44;
    const _ans45 = 乙["餘"];
    const _ans46 = _ans45 + 1;
    const _ans47 = 數字[_ans46 - 1];
    const _ans48 = _ans47 + 數;
    數 = _ans48;
    if (乙["商"] == 0) {
      return 數;
    };
  };
};
var 言百內數 = _ => {};
言百內數 = 甲 => {
  const _ans49 = 甲;
  const _ans50 = 10;
  const _ans51 = 取底除(_ans49)(_ans50);
  var 乙 = _ans51;
  const _ans52 = 乙["商"];
  if (_ans52 == 0) {
    const _ans53 = 乙["餘"];
    const _ans54 = _ans53 + 1;
    const _ans55 = 數字[_ans54 - 1];
    return _ans55;
  };
  var 數 = "";
  const _ans56 = 乙["商"];
  if (_ans56 == 1) {
    數 = "十";
  } else {
    const _ans57 = 乙["商"];
    const _ans58 = _ans57 + 1;
    const _ans59 = 數字[_ans58 - 1];
    const _ans60 = _ans59 + "十";
    數 = _ans60;
  };
  const _ans61 = 乙["餘"];
  if (_ans61 > 0) {
    const _ans62 = 乙["餘"];
    const _ans63 = _ans62 + 1;
    const _ans64 = 數字[_ans63 - 1];
    const _ans65 = 數 + _ans64;
    數 = _ans65;
  };
  return 數;
};
var 言年月日 = _ => {};
言年月日 = 積日 => {
  const _ans66 = 積日;
  const _ans67 = 日積何月(_ans66);
  var 積月 = _ans67;
  const _ans68 = 積月;
  const _ans69 = 月積何閏月(_ans68);
  var 積閏月 = _ans69;
  const _ans70 = 積月 - 積閏月;
  const _ans71 = _ans70 / 12;
  const _ans72 = 取底(_ans71);
  var 積年 = _ans72;
  var 年號 = "西元";
  const _ans73 = 積年 - 2697;
  var 年 = _ans73;
  const _ans74 = 積月 - 積閏月;
  const _ans75 = _ans74 % 12;
  const _ans76 = 1 + _ans75;
  var 月 = _ans76;
  var 閏 = false;
  const _ans77 = 積閏月;
  const _ans78 = 閏月積何月(_ans77);
  if (_ans78 == 積月) {
    閏 = true;
  };
  const _ans79 = 積月;
  const _ans80 = 月積何日(_ans79);
  const _ans81 = 積日 - _ans80;
  const _ans82 = _ans81 + 1;
  var 日 = _ans82;
  var 年月日 = 年號;
  if (年 <= 0) {
    const _ans83 = 年號 + "前";
    年月日 = _ans83;
    const _ans84 = 1 - 年;
    年 = _ans84;
  };
  if (年 <= 100) {
    const _ans85 = 年;
    const _ans86 = 言百內數(_ans85);
    const _ans87 = _ans86 + "年";
    const _ans88 = 年月日 + _ans87;
    年月日 = _ans88;
  } else {
    const _ans89 = 年;
    const _ans90 = 言序數(_ans89);
    const _ans91 = _ans90 + "年";
    const _ans92 = 年月日 + _ans91;
    年月日 = _ans92;
  };
  const _ans93 = 積年 - 1;
  const _ans94 = _ans93 % 10;
  const _ans95 = _ans94 + 1;
  const _ans96 = 天干[_ans95 - 1];
  const _ans97 = 年月日 + _ans96;
  年月日 = _ans97;
  const _ans98 = 積年 - 1;
  const _ans99 = _ans98 % 12;
  const _ans100 = _ans99 + 1;
  const _ans101 = 地支[_ans100 - 1];
  const _ans102 = 年月日 + _ans101;
  年月日 = _ans102;
  const _ans103 = 年月日 + "年";
  年月日 = _ans103;
  if (閏) {
    const _ans104 = 年月日 + "閏";
    年月日 = _ans104;
  };
  if (月 == 1) {
    const _ans105 = 年月日 + "正月";
    年月日 = _ans105;
  } else {
    const _ans106 = 月;
    const _ans107 = 言百內數(_ans106);
    const _ans108 = _ans107 + "月";
    const _ans109 = 年月日 + _ans108;
    年月日 = _ans109;
  };
  if (日 <= 10) {
    const _ans110 = 年月日 + "初";
    年月日 = _ans110;
  };
  const _ans111 = 日;
  const _ans112 = 言百內數(_ans111);
  const _ans113 = _ans112 + "日";
  const _ans114 = 年月日 + _ans113;
  年月日 = _ans114;
  const _ans115 = 積日 - 1;
  const _ans116 = _ans115 % 10;
  const _ans117 = _ans116 + 1;
  const _ans118 = 天干[_ans117 - 1];
  const _ans119 = 年月日 + _ans118;
  年月日 = _ans119;
  const _ans120 = 積日 - 1;
  const _ans121 = _ans120 % 12;
  const _ans122 = _ans121 + 1;
  const _ans123 = 地支[_ans122 - 1];
  const _ans124 = 年月日 + _ans123;
  年月日 = _ans124;
  const _ans125 = 年月日 + "日";
  年月日 = _ans125;
  return 年月日;
};
var 言時刻 = _ => {};
言時刻 = 日內秒 => {
  const _ans126 = 日內秒;
  const _ans127 = 3600;
  const _ans128 = 取底除(_ans126)(_ans127);
  var 甲 = _ans128;
  const _ans129 = 甲["商"];
  const _ans130 = _ans129 / 2;
  const _ans131 = 取頂(_ans130);
  const _ans132 = _ans131 + 1;
  var 乙 = _ans132;
  if (乙 > 12) {
    const _ans133 = 乙 - 12;
    乙 = _ans133;
  };
  const _ans134 = 地支[乙 - 1];
  var 時刻 = _ans134;
  const _ans135 = 甲["商"];
  const _ans136 = _ans135 % 2;
  if (_ans136 == 0) {
    const _ans137 = 時刻 + "正";
    時刻 = _ans137;
  } else {
    const _ans138 = 時刻 + "初";
    時刻 = _ans138;
  };
  const _ans139 = 甲["餘"];
  const _ans140 = 900;
  const _ans141 = 取底除(_ans139)(_ans140);
  var 丙 = _ans141;
  const _ans142 = 丙["商"];
  if (_ans142 == 0) {
    const _ans143 = 時刻 + "初刻";
    時刻 = _ans143;
  } else {
    const _ans144 = 丙["商"];
    const _ans145 = 言百內數(_ans144);
    const _ans146 = _ans145 + "刻";
    const _ans147 = 時刻 + _ans146;
    時刻 = _ans147;
  };
  const _ans148 = 丙["餘"];
  const _ans149 = 60;
  const _ans150 = 取底除(_ans148)(_ans149);
  var 丁 = _ans150;
  const _ans151 = 丁["商"];
  if (_ans151 == 0) {
    const _ans152 = 丁["餘"];
    if (_ans152 > 0) {
      const _ans153 = 時刻 + "零";
      時刻 = _ans153;
    };
  } else {
    const _ans154 = 丁["商"];
    const _ans155 = 言百內數(_ans154);
    const _ans156 = _ans155 + "分";
    const _ans157 = 時刻 + _ans156;
    時刻 = _ans157;
  };
  const _ans158 = 丁["餘"];
  if (_ans158 > 0) {
    const _ans159 = 丁["餘"];
    const _ans160 = 言百內數(_ans159);
    const _ans161 = _ans160 + "秒";
    const _ans162 = 時刻 + _ans161;
    時刻 = _ans162;
  };
  return 時刻;
}; /*"言彼之日時。同Javascript之new Date(x * 1000).toString(), in Chinese calendar也。"*/
var 言彼之日時 = this.言彼之日時 = _ => {};
言彼之日時 = this.言彼之日時 = 時 => {
  const _ans163 = 時差(時);
  const _ans164 = 時 + _ans163;
  var 甲 = _ans164;
  const _ans165 = 甲;
  const _ans166 = 86400;
  const _ans167 = 取底除(_ans165)(_ans166);
  var 乙 = _ans167;
  const _ans168 = 乙["商"];
  const _ans169 = _ans168 + 1704558;
  const _ans170 = 言年月日(_ans169);
  var 年月日 = _ans170;
  const _ans171 = 乙["餘"];
  const _ans172 = 取底(_ans171);
  const _ans173 = 言時刻(_ans172);
  var 時刻 = _ans173;
  const _ans174 = 年月日 + 時刻;
  return _ans174;
}; /*"言彼之年月日。同Javascript之new Date(x * 1000).toDateString(), in Chinese calendar也。"*/
var 言彼之年月日 = this.言彼之年月日 = _ => {};
言彼之年月日 = this.言彼之年月日 = 時 => {
  const _ans175 = 時差(時);
  const _ans176 = 時 + _ans175;
  var 甲 = _ans176;
  const _ans177 = 甲;
  const _ans178 = 86400;
  const _ans179 = 取底除(_ans177)(_ans178);
  var 乙 = _ans179;
  const _ans180 = 乙["商"];
  const _ans181 = _ans180 + 1704558;
  const _ans182 = 言年月日(_ans181);
  return _ans182;
}; /*"言彼之時刻。同Javascript之new Date(x * 1000).toTimeString(), in Chinese calendar也。"*/
var 言彼之時刻 = this.言彼之時刻 = _ => {};
言彼之時刻 = this.言彼之時刻 = 時 => {
  const _ans183 = 時差(時);
  const _ans184 = 時 + _ans183;
  var 甲 = _ans184;
  const _ans185 = 甲;
  const _ans186 = 86400;
  const _ans187 = 取底除(_ans185)(_ans186);
  var 乙 = _ans187;
  const _ans188 = 乙["餘"];
  const _ans189 = 取底(_ans188);
  const _ans190 = 言時刻(_ans189);
  return _ans190;
}; /*"彼年何年號。同Javascript之\"西元\" for modern dates也。"*/
var 彼年何年號 = this.彼年何年號 = _ => {};
彼年何年號 = this.彼年何年號 = 時 => {
  return "西元";
}; /*"彼年何年。同Javascript之new Date(x * 1000).getFullYear() for modern dates, in Chinese calendar也。"*/
var 彼年何年 = this.彼年何年 = _ => {};
彼年何年 = this.彼年何年 = 時 => {
  const _ans191 = 彼年積何年(時);
  const _ans192 = _ans191 - 2697;
  return _ans192;
}; /*"彼年何干支。同Javascript之Get index (1 to 60) in the 60-year cycle也。"*/
var 彼年何干支 = this.彼年何干支 = _ => {};
彼年何干支 = this.彼年何干支 = 時 => {
  const _ans193 = 彼年積何年(時);
  const _ans194 = _ans193 - 1;
  const _ans195 = 60;
  const _ans196 = 取底除(_ans194)(_ans195);
  const _ans197 = _ans196["餘"];
  const _ans198 = _ans197 + 1;
  return _ans198;
}; /*"彼年積何年。同Javascript之new Date(x * 1000).getFullYear() + 2697, in Chinese calendar也。"*/
var 彼年積何年 = this.彼年積何年 = _ => {};
彼年積何年 = this.彼年積何年 = 時 => {
  const _ans199 = 彼月積何月(時);
  var 積月 = _ans199;
  const _ans200 = 積月;
  const _ans201 = 月積何閏月(_ans200);
  var 積閏月 = _ans201;
  const _ans202 = 積月 - 積閏月;
  const _ans203 = _ans202 / 12;
  const _ans204 = 取底(_ans203);
  return _ans204;
}; /*"彼月何月。同Javascript之new Date(x * 1000).getMonth() + 1, N + 0.5 for leap months, in Chinese calendar也。"*/
var 彼月何月 = this.彼月何月 = _ => {};
彼月何月 = this.彼月何月 = 時 => {
  const _ans205 = 彼月積何月(時);
  var 積月 = _ans205;
  const _ans206 = 積月;
  const _ans207 = 月積何閏月(_ans206);
  var 積閏月 = _ans207;
  const _ans208 = 積月 - 積閏月;
  const _ans209 = _ans208 % 12;
  const _ans210 = 1 + _ans209;
  var 月 = _ans210;
  const _ans211 = 積閏月;
  const _ans212 = 閏月積何月(_ans211);
  if (_ans212 == 積月) {
    const _ans213 = 月 + 0.5;
    return _ans213;
  } else {
    return 月;
  };
}; /*"彼月積何月。同Javascript之Get continuously counting month number也。"*/
var 彼月積何月 = this.彼月積何月 = _ => {};
彼月積何月 = this.彼月積何月 = 時 => {
  const _ans214 = 彼日積何日(時);
  const _ans215 = 日積何月(_ans214);
  return _ans215;
}; /*"彼日何日。同Javascript之new Date(x * 1000).getDate(), in Chinese calendar也。"*/
var 彼日何日 = this.彼日何日 = _ => {};
彼日何日 = this.彼日何日 = 時 => {
  const _ans216 = 彼日積何日(時);
  var 積日 = _ans216;
  const _ans217 = 積日;
  const _ans218 = 日積何月(_ans217);
  const _ans219 = 月積何日(_ans218);
  const _ans220 = 積日 - _ans219;
  const _ans221 = _ans220 + 1;
  return _ans221;
}; /*"彼日何干支。同Javascript之Get index (1 to 60) in the 60-day cycle也。"*/
var 彼日何干支 = this.彼日何干支 = _ => {};
彼日何干支 = this.彼日何干支 = 時 => {
  const _ans222 = 彼日積何日(時);
  const _ans223 = _ans222 - 1;
  const _ans224 = 60;
  const _ans225 = 取底除(_ans223)(_ans224);
  const _ans226 = _ans225["餘"];
  const _ans227 = _ans226 + 1;
  return _ans227;
}; /*"彼日積何日。同Javascript之Get continuously counting day number也。"*/
var 彼日積何日 = this.彼日積何日 = _ => {};
彼日積何日 = this.彼日積何日 = 時 => {
  const _ans228 = 時差(時);
  const _ans229 = 時 + _ans228;
  var 甲 = _ans229;
  const _ans230 = 甲;
  const _ans231 = 86400;
  const _ans232 = 取底除(_ans230)(_ans231);
  const _ans233 = _ans232["商"];
  const _ans234 = _ans233 + 1704558;
  return _ans234;
}; /*"彼時何時。同Javascript之Get index (1 to 12) in the 12 divisions of day也。"*/
var 彼時何時 = this.彼時何時 = _ => {};
彼時何時 = this.彼時何時 = 時 => {
  const _ans235 = 彼時何小時(時);
  const _ans236 = _ans235 / 2;
  const _ans237 = 取頂(_ans236);
  const _ans238 = _ans237 + 1;
  var 甲 = _ans238;
  if (甲 > 12) {
    const _ans239 = 甲 - 12;
    return _ans239;
  } else {
    return 甲;
  };
}; /*"彼時何小時。同Javascript之new Date(x * 1000).getHours()也。"*/
var 彼時何小時 = this.彼時何小時 = _ => {};
彼時何小時 = this.彼時何小時 = 時 => {
  const _ans240 = 時差(時);
  const _ans241 = 時 + _ans240;
  var 甲 = _ans241;
  const _ans242 = 甲;
  const _ans243 = 86400;
  const _ans244 = 取底除(_ans242)(_ans243);
  const _ans245 = _ans244["餘"];
  const _ans246 = 3600;
  const _ans247 = 取底除(_ans245)(_ans246);
  const _ans248 = _ans247["商"];
  return _ans248;
}; /*"彼刻何刻。同Javascript之Math.floor(new Date(x * 1000).getMinutes() / 15)也。"*/
var 彼刻何刻 = this.彼刻何刻 = _ => {};
彼刻何刻 = this.彼刻何刻 = 時 => {
  const _ans249 = 時差(時);
  const _ans250 = 時 + _ans249;
  var 甲 = _ans250;
  const _ans251 = 甲;
  const _ans252 = 3600;
  const _ans253 = 取底除(_ans251)(_ans252);
  const _ans254 = _ans253["餘"];
  const _ans255 = 900;
  const _ans256 = 取底除(_ans254)(_ans255);
  const _ans257 = _ans256["商"];
  return _ans257;
}; /*"彼分何分。同Javascript之new Date(x * 1000).getMinutes() % 15也。"*/
var 彼分何分 = this.彼分何分 = _ => {};
彼分何分 = this.彼分何分 = 時 => {
  const _ans258 = 時差(時);
  const _ans259 = 時 + _ans258;
  var 甲 = _ans259;
  const _ans260 = 甲;
  const _ans261 = 900;
  const _ans262 = 取底除(_ans260)(_ans261);
  const _ans263 = _ans262["餘"];
  const _ans264 = 60;
  const _ans265 = 取底除(_ans263)(_ans264);
  const _ans266 = _ans265["商"];
  return _ans266;
}; /*"彼秒何秒。同Javascript之new Date(x * 1000).getSeconds()也。"*/
var 彼秒何秒 = this.彼秒何秒 = _ => {};
彼秒何秒 = this.彼秒何秒 = 時 => {
  const _ans267 = 時差(時);
  const _ans268 = 時 + _ans267;
  var 甲 = _ans268;
  const _ans269 = 甲;
  const _ans270 = 60;
  const _ans271 = 取底除(_ans269)(_ans270);
  const _ans272 = _ans271["餘"];
  const _ans273 = 取底(_ans272);
  return _ans273;
};
var 月積何日 = _ => {};
月積何日 = 積月 => {
  const _ans274 = 積月 - 始曆月;
  const _ans275 = _ans274 + 1;
  var 引 = _ans275;
  if (引 < 1) {
    {
      const _rand1 = new Error();
      _rand1.name = "越界";
      _rand1.message = "";
      throw _rand1;
    }
    return;
  };
  const _ans276 = 曆月表.length;
  if (引 > _ans276) {
    {
      const _rand2 = new Error();
      _rand2.name = "越界";
      _rand2.message = "";
      throw _rand2;
    }
    return;
  };
  const _ans277 = 曆月表[引 - 1];
  var 校 = _ans277;
  const _ans278 = 積月 * 25101;
  const _ans279 = _ans278 / 850;
  const _ans280 = _ans279 - 1;
  const _ans281 = 取頂(_ans280);
  const _ans282 = _ans281 + 校;
  return _ans282;
};
var 日積何月 = _ => {};
日積何月 = 積日 => {
  const _ans283 = 積日 + 1;
  const _ans284 = _ans283 * 850;
  const _ans285 = _ans284 / 25101;
  const _ans286 = 取整(_ans285);
  var 積月 = _ans286;
  const _ans287 = 月積何日(積月);
  var 初日 = _ans287;
  if (積日 < 初日) {
    const _ans288 = 積月 - 1;
    return _ans288;
  } else {
    return 積月;
  };
};
var 閏月積何月 = _ => {};
閏月積何月 = 積閏月 => {
  const _ans289 = 積閏月 - 始閏月;
  const _ans290 = _ans289 + 1;
  var 引 = _ans290;
  if (引 < 1) {
    if (引 == 0) {
      return -10000000000000000;
    } else {
      {
        const _rand3 = new Error();
        _rand3.name = "越界";
        _rand3.message = "";
        throw _rand3;
      }
      return;
    };
  };
  const _ans291 = 閏月表.length;
  if (引 > _ans291) {
    const _ans292 = 閏月表.length;
    const _ans293 = _ans292 + 1;
    if (引 == _ans293) {
      return 10000000000000000;
    } else {
      {
        const _rand4 = new Error();
        _rand4.name = "越界";
        _rand4.message = "";
        throw _rand4;
      }
      return;
    };
  };
  const _ans294 = 閏月表[引 - 1];
  var 校 = _ans294;
  const _ans295 = 積閏月 * 3157;
  const _ans296 = _ans295 / 94;
  const _ans297 = _ans296 - 27;
  const _ans298 = 取頂(_ans297);
  const _ans299 = _ans298 + 校;
  return _ans299;
};
var 月積何閏月 = _ => {};
月積何閏月 = 積月 => {
  const _ans300 = 積月 + 27;
  const _ans301 = _ans300 * 94;
  const _ans302 = _ans301 / 3157;
  const _ans303 = 取整(_ans302);
  var 積閏月 = _ans303;
  const _ans304 = 閏月積何月(積閏月);
  var 閏月 = _ans304;
  if (積月 < 閏月) {
    const _ans305 = 積閏月 - 1;
    return _ans305;
  } else {
    return 積閏月;
  };
};
}; /*___wenyan_module_曆法_end___*/
var 今何紀元時 = 曆法.今何紀元時;
var 彼時何小時 = 曆法.彼時何小時;
var 彼刻何刻 = 曆法.彼刻何刻;
var 彼分何分 = 曆法.彼分何分;
var 彼秒何秒 = 曆法.彼秒何秒;
var 備紙 = 畫譜.備紙;
var 擇筆 = 畫譜.擇筆;
var 蘸色 = 畫譜.蘸色;
var 落筆 = 畫譜.落筆;
var 運筆 = 畫譜.運筆;
var 提筆 = 畫譜.提筆;
var 設色 = 畫譜.設色;
var 裱畫 = 畫譜.裱畫;
var 倍圓周率 = 算經.倍圓周率;
var 正弦 = 算經.正弦;
var 餘弦 = 算經.餘弦;
const _ans1 = 今何紀元時();
var 紀元時 = _ans1;
const _ans2 = 彼時何小時(紀元時);
var 小時 = _ans2;
const _ans3 = 彼刻何刻(紀元時);
var 刻 = _ans3;
const _ans4 = 彼分何分(紀元時);
var 分 = _ans4;
const _ans5 = 彼秒何秒(紀元時);
var 秒 = _ans5;
var 紙縱 = 400;
var 紙橫 = 400;
const _ans6 = 紙縱 / 2;
var 半縱 = _ans6;
const _ans7 = 紙橫 / 2;
var 半橫 = _ans7;
var 比例 = 0;
if (半橫 < 半縱) {
  比例 = 半橫;
} else {
  比例 = 半縱;
};
var 縱坐標 = _ => {};
縱坐標 = 南 => {
  const _ans8 = 南 * 比例;
  const _ans9 = 半縱 - _ans8;
  return _ans9;
};
var 橫坐標 = _ => {};
橫坐標 = 東 => {
  const _ans10 = 東 * 比例;
  const _ans11 = 半橫 - _ans10;
  return _ans11;
};
var 極坐標 = _ => {};
極坐標 = 距 => 角 => {
  const _ans12 = 餘弦(角);
  const _ans13 = _ans12 * 距;
  const _ans14 = 縱坐標(_ans13);
  var 縱 = _ans14;
  const _ans15 = 正弦(角);
  const _ans16 = _ans15 * 距;
  const _ans17 = 橫坐標(_ans16);
  var 橫 = _ans17;
  var 坐標 = {};
  坐標 = {
    "橫": 橫,
    "縱": 縱,
  };
  return 坐標;
};
var 畫鐘面 = _ => {};
畫鐘面 = 紙 => 半徑 => {
  var 割圓 = 1024;
  const _ans18 = 半徑;
  const _ans19 = 0;
  const _ans20 = 極坐標(_ans18)(_ans19);
  var 始坐標 = _ans20;
  const _ans21 = 紙;
  const _ans22 = 始坐標["橫"];
  const _ans23 = 始坐標["縱"];
  const _ans24 = 落筆(_ans21)(_ans22)(_ans23);
  var 甲 = 1;
  for (let _rand1 = 0; _rand1 < 割圓; _rand1++) {
    const _ans25 = 甲 / 割圓;
    const _ans26 = _ans25 * 倍圓周率;
    var 乙 = _ans26;
    const _ans27 = 半徑;
    const _ans28 = 乙;
    const _ans29 = 極坐標(_ans27)(_ans28);
    var 坐標 = _ans29;
    const _ans30 = 紙;
    const _ans31 = 坐標["橫"];
    const _ans32 = 坐標["縱"];
    const _ans33 = 運筆(_ans30)(_ans31)(_ans32);
    const _ans34 = 甲 + 1;
    甲 = _ans34;
  };
  const _ans35 = 蘸色(紙)("鈦白");
  const _ans36 = 設色(紙);
  const _ans37 = 蘸色(紙)("黑");
  const _ans38 = 提筆(紙);
  var 丙 = 0;
  for (let _rand2 = 0; _rand2 < 60; _rand2++) {
    const _ans39 = 丙 / 60;
    const _ans40 = _ans39 * 倍圓周率;
    var 丁 = _ans40;
    const _ans41 = 半徑;
    const _ans42 = 丁;
    const _ans43 = 極坐標(_ans41)(_ans42);
    var 正刻外坐標 = _ans43;
    const _ans44 = 紙;
    const _ans45 = 正刻外坐標["橫"];
    const _ans46 = 正刻外坐標["縱"];
    const _ans47 = 落筆(_ans44)(_ans45)(_ans46);
    const _ans48 = 半徑 * 0.95;
    const _ans49 = 丁;
    const _ans50 = 極坐標(_ans48)(_ans49);
    var 正刻內坐標 = _ans50;
    const _ans51 = 紙;
    const _ans52 = 正刻內坐標["橫"];
    const _ans53 = 正刻內坐標["縱"];
    const _ans54 = 運筆(_ans51)(_ans52)(_ans53);
    const _ans55 = 提筆(紙);
    const _ans56 = 丙 + 1;
    丙 = _ans56;
  };
  var 丙 = 0;
  for (let _rand3 = 0; _rand3 < 12; _rand3++) {
    const _ans57 = 丙 / 12;
    const _ans58 = _ans57 * 倍圓周率;
    var 戊 = _ans58;
    const _ans59 = 半徑;
    const _ans60 = 戊;
    const _ans61 = 極坐標(_ans59)(_ans60);
    var 初刻外坐標 = _ans61;
    const _ans62 = 紙;
    const _ans63 = 初刻外坐標["橫"];
    const _ans64 = 初刻外坐標["縱"];
    const _ans65 = 落筆(_ans62)(_ans63)(_ans64);
    const _ans66 = 半徑 * 0.85;
    const _ans67 = 戊;
    const _ans68 = 極坐標(_ans66)(_ans67);
    var 初刻內坐標 = _ans68;
    const _ans69 = 紙;
    const _ans70 = 初刻內坐標["橫"];
    const _ans71 = 初刻內坐標["縱"];
    const _ans72 = 運筆(_ans69)(_ans70)(_ans71);
    const _ans73 = 提筆(紙);
    const _ans74 = 丙 + 1;
    丙 = _ans74;
  };
};
var 畫指針 = _ => {};
畫指針 = 紙 => 角 => 針長 => 尾長 => 針角 => 尾角 => {
  const _ans75 = 針長;
  const _ans76 = 角 + 針角;
  const _ans77 = 極坐標(_ans75)(_ans76);
  var 甲 = _ans77;
  const _ans78 = 尾長 * -1;
  const _ans79 = 角 - 尾角;
  const _ans80 = 極坐標(_ans78)(_ans79);
  var 乙 = _ans80;
  const _ans81 = 尾長 * -1;
  const _ans82 = 角 + 尾角;
  const _ans83 = 極坐標(_ans81)(_ans82);
  var 丙 = _ans83;
  const _ans84 = 針長;
  const _ans85 = 角 - 針角;
  const _ans86 = 極坐標(_ans84)(_ans85);
  var 丁 = _ans86;
  const _ans87 = 紙;
  const _ans88 = 甲["橫"];
  const _ans89 = 甲["縱"];
  const _ans90 = 落筆(_ans87)(_ans88)(_ans89);
  const _ans91 = 紙;
  const _ans92 = 乙["橫"];
  const _ans93 = 乙["縱"];
  const _ans94 = 運筆(_ans91)(_ans92)(_ans93);
  const _ans95 = 紙;
  const _ans96 = 丙["橫"];
  const _ans97 = 丙["縱"];
  const _ans98 = 運筆(_ans95)(_ans96)(_ans97);
  const _ans99 = 紙;
  const _ans100 = 丁["橫"];
  const _ans101 = 丁["縱"];
  const _ans102 = 運筆(_ans99)(_ans100)(_ans101);
  const _ans103 = 紙;
  const _ans104 = 甲["橫"];
  const _ans105 = 甲["縱"];
  const _ans106 = 運筆(_ans103)(_ans104)(_ans105);
  const _ans107 = 蘸色(紙)("花青");
  const _ans108 = 設色(紙);
};
var 执笔 = _ => {};
执笔 = () => {
  const _ans109 = (() => document.getElementById("out").innerHTML = "")();
  const _ans110 = 今何紀元時();
  var 紀元時 = _ans110;
  const _ans111 = 彼時何小時(紀元時);
  var 時 = _ans111;
  const _ans112 = 彼分何分(紀元時);
  var 分 = _ans112;
  const _ans113 = 彼刻何刻(紀元時);
  var 刻 = _ans113;
  const _ans114 = 彼秒何秒(紀元時);
  var 秒 = _ans114;
  const _ans115 = 刻 * 15;
  const _ans116 = 分 + _ans115;
  分 = _ans116;
  const _ans117 = 秒 / 60;
  const _ans118 = 分 + _ans117;
  分 = _ans118;
  const _ans119 = 分 / 60;
  const _ans120 = 時 + _ans119;
  時 = _ans120;
  const _ans121 = 分 / 60;
  const _ans122 = _ans121 * 倍圓周率;
  const _ans123 = _ans122 * -1;
  var 分角 = _ans123;
  const _ans124 = 時 / 12;
  const _ans125 = _ans124 * 倍圓周率;
  const _ans126 = _ans125 * -1;
  var 時角 = _ans126;
  const _ans127 = 秒 / 60;
  const _ans128 = _ans127 * 倍圓周率;
  const _ans129 = _ans128 * -1;
  var 秒角 = _ans129;
  const _ans130 = 備紙(紙橫)(紙縱);
  var 紙 = _ans130;
  const _ans131 = 畫鐘面(紙)(0.9);
  const _ans132 = 畫指針(紙)(秒角)(0.8)(0.1)(3e-3)(0.1);
  const _ans133 = 畫指針(紙)(分角)(0.75)(0.1)(3e-3)(0.3);
  const _ans134 = 畫指針(紙)(時角)(0.55)(0.08)(5e-3)(0.5);
  const _ans135 = 裱畫(紙)("out");
};
const _ans136 = (x => setInterval(x, 500))(执笔);


运行效果:

微信图片_20200305121929.png