• <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) 閱讀(2722) 評論(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)
            太強了,依然保持看不懂的水平  回復  更多評論
              
            亚洲日本久久久午夜精品| 久久这里只精品99re66| 99久久无码一区人妻a黑| 国产成人精品免费久久久久| 亚洲一区中文字幕久久| 无码8090精品久久一区| 亚洲午夜无码久久久久| 久久er热视频在这里精品| 欧美亚洲日本久久精品| 中文字幕日本人妻久久久免费| 97r久久精品国产99国产精| 精品99久久aaa一级毛片| 亚洲午夜久久久影院| 久久国产一片免费观看| 久久香蕉国产线看观看精品yw | 老司机国内精品久久久久| 久久综合精品国产一区二区三区| 久久夜色精品国产网站| 亚洲精品tv久久久久| 狠狠色丁香婷婷综合久久来| 香蕉久久AⅤ一区二区三区| 久久美女人爽女人爽| 久久亚洲AV成人无码电影| 午夜福利91久久福利| 国产农村妇女毛片精品久久| 国产精品美女久久久久| 无码人妻精品一区二区三区久久久| 欧美麻豆久久久久久中文| 国产成人久久精品二区三区| 国产亚洲精品美女久久久| 久久久久高潮毛片免费全部播放| 午夜福利91久久福利| 少妇被又大又粗又爽毛片久久黑人| AA级片免费看视频久久| a高清免费毛片久久| 久久久久久国产精品免费无码| 综合久久国产九一剧情麻豆| 精品久久久一二三区| 久久91精品国产91| 色综合久久久久久久久五月| av色综合久久天堂av色综合在|