• <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)
            太強了,依然保持看不懂的水平  回復  更多評論
              
            亚洲欧洲久久久精品| 欧美午夜A∨大片久久| 精品综合久久久久久88小说| 久久香蕉国产线看观看精品yw| 久久久精品国产亚洲成人满18免费网站| 精品无码人妻久久久久久| www.久久热.com| 国产巨作麻豆欧美亚洲综合久久 | 伊人久久大香线蕉AV一区二区| 久久国产精品免费一区| 女同久久| 伊人久久大香线蕉AV色婷婷色 | 久久中文字幕一区二区| 久久久久国产| 女人高潮久久久叫人喷水| 久久久久久国产精品无码超碰| 精品免费久久久久国产一区| 一级a性色生活片久久无少妇一级婬片免费放 | 久久久久国产一区二区三区| 婷婷久久综合| 国产精品99精品久久免费| 久久久久精品国产亚洲AV无码| 国产99久久久国产精免费| 久久久久久久久久免免费精品| 久久久久久久久久久| 精品久久久久久久久中文字幕| 久久久久亚洲av成人网人人软件| 久久精品中文字幕无码绿巨人| 99精品伊人久久久大香线蕉| 久久99国产精品99久久| 久久久久久无码国产精品中文字幕| 国产69精品久久久久久人妻精品| 国产精品热久久无码av| 久久久久99精品成人片欧美| 欧美日韩久久中文字幕| 久久久这里有精品中文字幕| 国内精品伊人久久久久av一坑| 伊人色综合久久天天人守人婷 | 国产精品成人无码久久久久久 | 精品国产乱码久久久久久郑州公司 | 伊人久久精品无码二区麻豆|