• <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)
            太強了,依然保持看不懂的水平  回復  更多評論
              
            国产综合成人久久大片91| 色综合久久综合中文综合网| 久久综合久久久| 国内精品久久久久久久coent| 少妇久久久久久被弄到高潮| 一本色综合网久久| 久久香蕉国产线看观看乱码| 久久久青草青青国产亚洲免观| 漂亮人妻被黑人久久精品| 91久久精品国产91性色也| 久久久久久免费视频| 国产精品青草久久久久婷婷| 亚洲欧美精品一区久久中文字幕| 狼狼综合久久久久综合网| 性欧美大战久久久久久久| 国产精品久久波多野结衣| 久久综合亚洲色一区二区三区| 99久久婷婷国产一区二区| 久久国产精品成人片免费| 91麻豆国产精品91久久久| 久久精品国产亚洲精品| 狠色狠色狠狠色综合久久 | 精品少妇人妻av无码久久| 热re99久久精品国产99热| 国产精品久久久久久五月尺| 99热成人精品免费久久| 人妻少妇久久中文字幕| 欧美亚洲国产精品久久久久| 国内精品久久久久久不卡影院| 国产精品一久久香蕉国产线看观看| 久久久久亚洲AV无码观看| 国产亚州精品女人久久久久久| 欧美日韩中文字幕久久伊人| 99久久精品日本一区二区免费| 久久99国产综合精品女同| 亚洲欧洲日产国码无码久久99| 思思久久精品在热线热| 久久亚洲sm情趣捆绑调教| 欧美精品乱码99久久蜜桃| 欧美成人免费观看久久| 久久受www免费人成_看片中文|