• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                已經差不多有三個多星期沒有寫博客了。這段時間主要是在休假。休假的時候寫代碼,跟朋友玩,去了趟廣州辦點事情,然后就要結束了。Vczh Library++3.0還是一直在開發。第一層語言的語義分析基本上已經做完了,不過還需要加一點功能進去,這在代碼生成部分做了之后再做。

                這次的思路比之前清晰了很多。我一直在思考如何將Javascript編譯成C#再編譯成C語言的問題。當然這說的三種語言只是“類似”,無論換成python也好lua也好都是一樣的。作為一個通用的腳本語言開發平臺,我的目標是讓一門新語言可以被很快的組裝起來,并在我開發的平臺上運行,與平臺上的其他語言互通并共享函數庫。前者是重點,后者是支撐。也就是說無論怎么定位,最終都是要做成一個可以讓各種語言同時運行,并讓新語言可以被快速開發的一個平臺。于是每一層語言需要支持的特性都得經過深思熟慮才能確定下來。

                因此,我的策略是為各種不同類型的語言開發一個元語言,然后通過描述一門新語言與相應的元語言的不同之處來完成該新語言的開發工作。因此最近的工作主要都是針對最基礎的那一層——也就是面向過程非托管語言。在這里大概可以稱之為Native X語言吧。之所以叫Native X,是因為這玩意兒跟C語言還是有一些比較大的區別的。跟之前的CMinus不一樣,CMinus致力于將C(做了一點修改)編譯成x86的代碼,而Native X則致力于提供大多數面向過程的非托管語言所需要的組件,并且為面向對象的托管語言提供必要的基礎設施。

                在不斷地思考中,我的目標已經漸漸清楚了。Native X語言與C語言的差別主要有以下部分:
                1、沒有宏
                2、提供struct的構造函數和析構函數
                3、提供泛型
                4、提供dll級別的反射和泛型支持。
                5、源代碼組織方法不體現在代碼里(沒有#include,或者#import之類的預編譯指令)
                6、提供new和delete的變形

                也就是說,今后用Native X語言寫的模板函數和模板類型,就算編譯進dll也無所謂,照樣可以被其他程序拿去使用。這樣的話可以做很多事情,譬如說實現pascal和basic的數組和字符串,實現C#的類引用等等。但是Native X語言同時具有操作指針和內存的能力,雖然比較危險,但是可以通過上層語言的編譯器來確保產生的代碼是受保護的。這樣做的好處是在Vczh Library++3.0開發完以后,一個游戲的腳本可以大部分用Lua來寫,而且其中需要后門的一小部分代碼可以用C來寫,然后編譯在一起成為一個獨立的腳本程序,最后讓游戲去執行它。

                上面描述的功能是在抽象了很多語言的語法之后確定下來的。這個目標在當前進度下實現了一般,也就是說這些多出來的部分還沒做,但是C語言有的那一部分的語義分析已經做完了,順帶搞定了一個通用的符號表雛形,還有大大簡化語法樹以及相關算法開發的各種基礎設施。目前的計劃是先實現C語言有的那一部分的代碼生成,讓腳本可以運行起來,然后將上面列出來的“區別”一個一個添加進去,同時做好unit test的工作。

                最新的代碼可以在http://vlpp.codeplex.com下載。
            posted on 2010-02-23 08:59 陳梓瀚(vczh) 閱讀(2718) 評論(9)  編輯 收藏 引用 所屬分類: VL++3.0開發紀事

            評論:
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-23 13:22 | 孟布
            不錯不錯。。。  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-23 16:50 | tcpcoder
            一直在關注你的blog  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-23 17:55 | 飛鴿傳書
            確實不錯。  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-23 19:10 | 空明流轉
            牛逼,不過反正我不懂,無所謂了。  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-24 03:14 | mono
            回學校前進來拜大神。。。。。。  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-24 18:55 | kuafoo
            強大啊! 我在用Vczh Library++ 我只用到了里面的正則表達式,流和集合,尚未用過腳本部分,我寫的是個類似蜘蛛的程序,上網爬圖片和下載。我在流里面還加了幾個類,不過我水平不行。  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-24 19:57 | 陳梓瀚(vczh)
            @kuafoo
            當然尚未用過了,還沒寫完你怎么用……  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-24 19:57 | 陳梓瀚(vczh)
            @kuafoo
            話說你加了啥,給我看看……  回復  更多評論
              
            # re: Vczh Library++3.0之開發進度(Native X) 2010-02-25 00:26 | 陳昱(CY)
            太強了,依然保持看不懂的水平  回復  更多評論
              
            国产激情久久久久影院小草| 精品久久久久久久久午夜福利| 久久久www免费人成精品| 99久久无色码中文字幕人妻| 国产99久久精品一区二区| 久久久久99精品成人片牛牛影视| 国产精品久久久久久久app | 新狼窝色AV性久久久久久| 久久国产精品77777| 狠狠精品干练久久久无码中文字幕| 国产精品久久久久久五月尺| 狠狠色丁香久久综合五月| 一本久久a久久精品vr综合| 精品久久久久久国产| 久久久久亚洲AV无码观看 | 国产精自产拍久久久久久蜜| 久久久亚洲AV波多野结衣 | 久久综合久久综合久久综合| 无码人妻久久一区二区三区蜜桃| 97久久超碰成人精品网站| 午夜精品久久久久成人| 欧美日韩精品久久免费| 亚洲精品高清国产一线久久| 国产精品伊人久久伊人电影| 国产高潮国产高潮久久久| 亚洲国产精品成人久久蜜臀 | 欧美va久久久噜噜噜久久| 久久精品国产精品亚洲人人 | 国产成人精品综合久久久久| 久久精品成人| 成人资源影音先锋久久资源网| 欧美亚洲国产精品久久高清| 久久丝袜精品中文字幕| 亚洲国产成人久久精品动漫| 欧美大香线蕉线伊人久久| 久久人与动人物a级毛片| 久久久久人妻一区精品果冻| 久久se精品一区精品二区| 久久亚洲精品国产精品| 久久久久久久久久久久中文字幕 | 久久有码中文字幕|