<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    scheme中文編程

    Posted on 2009-03-20 23:27 dennis 閱讀(3117) 評論(8)  編輯  收藏 所屬分類: 動態語言計算機科學與基礎
        受javaeye上的《Ruby中文編程》啟發,帖子中有人提到如果if這樣的關鍵字都可以定義成中文,那就是真正的中文編程。那時我就想到,這個其實要在scheme中實現是多么簡單,將sicp書中的解釋器稍微修改下就可以了,只要修改解析的部分即可。解釋器的完整代碼放后面,我們先看看有趣的例子:
    (定義 你 '男)
    (當 ((是 你 '男) (打印 '男人是泥土做的))
        ((是 你 
    '女) (打印 '女人是水做的))
        (否則
             (打印 
    '妖怪啊)))

        其實呢,“定義”等價于define,“當”等價于cond,“打印”等價于display,說穿了不值一提,只是有趣罷了。不過設想在某些效率不是攸關的場景嵌入這么一個scheme解釋器來定義DSL給業務人員使用,似乎也是不錯的主意。當然這里還是scheme的前綴表達式,再修改下就可以像自然語言那樣流暢,只不過括號還是少不了呀。

        再看幾個例子:
    (使得 ((a 3)
           (b 
    2))
           (
    + a b))

    (定義 成績 
    90)
    (如果 (
    > 成績 80)
          (打印 
    '良好)
          (打印 '要打PP了))
    ((函數(x) (* x x)) 3)  => 9

    (定義 (平方 x) (* x x))
    (平方 3)               =>9
       
        “使得”就是let,如果就是if,函數就是lambda。這不是中文編程嗎?也許可以考慮申請國家專項資金來扶持:D

        完整的解釋器代碼,在drscheme選擇R5RS標準下測試通過(代碼折疊,請展開):

    解釋器源碼


    評論

    # re: scheme中文編程  回復  更多評論   

    2009-03-21 12:44 by tri
    可見中文編程是一件多么愚蠢的事。
    干脆阿拉伯數字也別用,那是印度人發明的。
    干脆變量都用甲乙丙丁,干脆數學符號都改成“大于”、“乘以”

    # re: scheme中文編程  回復  更多評論   

    2009-03-21 19:03 by ttt
    感覺有點惡心

    # re: scheme中文編程[未登錄]  回復  更多評論   

    2009-03-29 13:38 by edwin
    能幫解決個 小問題嗎?用DRscheme 編段元代碼?
    若愿意的話,請發EMAIL通知我

    davidjondy@hotmail.com

    我將題發給你。。
    等待高手幫解決

    # re: scheme中文編程  回復  更多評論   

    2010-06-11 23:04 by guorui
    @tri
    不能太較真,只是好玩而已,別整那么嚴肅。

    # re: scheme中文編程  回復  更多評論   

    2011-11-14 23:53 by xion
    這個是一個很不錯的主意!!

    # re: scheme中文編程  回復  更多評論   

    2012-03-17 13:15 by coreBugZJ
    正在看 SICP,剛看到解釋器實現,學習了。

    # finance55525  回復  更多評論   

    2015-07-22 21:53 by You'll for certain do not have something to lose w
    You'll for certain do not have something to lose with Adiphene, thus for those that actually need to slim while not losing their time and power, then Adiphene is that the product for you. Perhaps the main reason behind this though is that you have developed a dependence on food. Glucomannan is among the most active hunger suppressants in Adiphene, and it works to suppress yearnings and help you handle your parts.

    # christmasvideogame7405  回復  更多評論   

    2015-10-11 22:46 by Hi! I just wish to offer you a huge thumbs up for
    Hi! I just wish to offer you a huge thumbs up for your excellent info you have got right here on this post. I'll be returning to your web site for more soon.
    主站蜘蛛池模板: 日本特黄特色免费大片| 亚洲日本va在线视频观看| 国产91成人精品亚洲精品| 亚洲色偷精品一区二区三区| 成人永久免费高清| a级毛片在线视频免费观看| 亚洲国产视频一区| 免费在线观看理论片| 亚洲AV无码成人精品区日韩| 中文字幕亚洲日韩无线码| 亚洲一区二区免费视频| 一级毛片不卡免费看老司机| 精品亚洲麻豆1区2区3区| 四虎成人精品在永久免费| 色欲国产麻豆一精品一AV一免费| 亚洲欧美成人av在线观看| 亚洲成AV人片在线观看| 日本成人在线免费观看| 亚洲国产精品免费视频| mm1313亚洲国产精品无码试看| 亚洲AV永久无码区成人网站 | 国产精品极品美女自在线观看免费| 久久亚洲熟女cc98cm| 免费在线不卡视频| 免费阿v网站在线观看g| 成人精品一区二区三区不卡免费看 | 亚洲人精品午夜射精日韩| 好男人视频在线观看免费看片| 久久一区二区三区免费播放| 美女黄色免费网站| 亚洲一线产品二线产品| 亚洲精品一卡2卡3卡三卡四卡| 亚洲熟妇无码另类久久久| 国产成人精品免费视频大全五级| 亚洲视频在线免费看| 久久免费国产精品一区二区| 一级女人18片毛片免费视频| 狼人大香伊蕉国产WWW亚洲| 国产一区视频在线免费观看| 亚洲精品国产免费| 青青操视频在线免费观看|