• <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)
            太強了,依然保持看不懂的水平  回復  更多評論
              
            精品久久久久久| 久久国产精品国产自线拍免费| 国产Av激情久久无码天堂| 久久久久国产精品熟女影院 | 久久无码精品一区二区三区| 中文字幕成人精品久久不卡 | 2021少妇久久久久久久久久| 国产Av激情久久无码天堂 | 色播久久人人爽人人爽人人片AV| 久久九九久精品国产免费直播| 国产V综合V亚洲欧美久久| 色99久久久久高潮综合影院| 国产成人久久精品激情| 亚洲成av人片不卡无码久久| 91精品国产色综合久久| A级毛片无码久久精品免费| 狠狠综合久久综合中文88| 久久精品成人国产午夜| 狠狠综合久久综合88亚洲| 久久伊人色| 18禁黄久久久AAA片| 久久精品人人做人人爽电影| 色偷偷91久久综合噜噜噜噜| 国产亚洲精午夜久久久久久| 久久国产精品成人免费 | 久久精品日日躁夜夜躁欧美| 久久久久久伊人高潮影院| 久久精品中文字幕一区| 无码伊人66久久大杳蕉网站谷歌| 伊人久久久AV老熟妇色| 久久久女人与动物群交毛片| 久久亚洲国产午夜精品理论片 | 久久综合九色欧美综合狠狠| 久久亚洲国产最新网站| 国产精品久久久天天影视| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 国产精品99久久免费观看| 久久久久国产日韩精品网站| 18岁日韩内射颜射午夜久久成人| 亚洲精品美女久久777777| 久久影视综合亚洲|