• <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  評(píng)論-2670  文章-0  trackbacks-0

            點(diǎn)擊這里下載。

            作者保留對(duì)源代碼的一切權(quán)利

            文件是一個(gè)rar壓縮包,結(jié)構(gòu)如下:
            【產(chǎn)品】
                【Demo】?jī)蓚€(gè)Demo的編譯結(jié)果。這個(gè)文件夾里面的腳本代碼僅供測(cè)試用。
                【庫(kù)】編譯結(jié)果以及Vczh Free Script 2.0提供的插件封裝,使用Vczh Free Script腳本語(yǔ)言編寫(xiě)。
                【文檔>】使用說(shuō)明書(shū)。
            【源代碼】源代碼僅能使用Visual C++ 2005或以上編譯器編譯。
                【FreeScript】使用FsRuntime.dll寫(xiě)的C++Demo,控制臺(tái)虛擬機(jī)。
                【FreeScript_CSharp】使用FsRuntime_clr.dll寫(xiě)的C#Demo,控制臺(tái)虛擬機(jī)。
                【FsRuntime】Vczh Free Script 2.0 DLL接口。
                【FsRuntime_CLR】使用FsRuntime.dll寫(xiě)的.NET接口。
                【Library】
                    【Data】數(shù)據(jù)輸出以及必要的操作系統(tǒng)接口封裝。
                        【Data】為了不使用STL而做出來(lái)的字符串、對(duì)象池以及容器模板庫(kù)。
                        【Grammar】具有不同目的的兩套正則表達(dá)式引擎以及上下文無(wú)關(guān)文法分析器。
                    【Platform】控制臺(tái)封裝。
                    【Script】
                        【Free】
                            【Common】指令集。
                            【Compiler】編譯器。
                            【Machine】虛擬機(jī)。

            posted on 2008-07-01 05:35 陳梓瀚(vczh) 閱讀(11168) 評(píng)論(23)  編輯 收藏 引用 所屬分類: 作品

            評(píng)論:
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-01 05:45 | Vampire.Kiss
            我操。 總算占個(gè)沙發(fā)了。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-01 07:18 | foxtail
            很好 很強(qiáng)大 BT  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-01 18:10 | 某菜鳥(niǎo)
            非常感謝分享源代碼!

            贊!

            小聲問(wèn)一句:有沒(méi)有設(shè)計(jì)文檔?還是你想到哪寫(xiě)到哪?  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-01 18:24 | 陳梓瀚(vczh)
            設(shè)計(jì)文檔不提供。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-01 21:22 | true
            你精力旺盛  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-02 07:07 | 某菜鳥(niǎo)
            很好,很神經(jīng),很強(qiáng)大。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-03 05:30 | Lnn
            很好,很神,很強(qiáng)!  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-03 07:35 | Gohan
            啊,來(lái)支持一下大牛~  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-03 19:56 | 雪梨酒
            好牛虻啦!
              回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-03 23:28 | suxiaojack
            函數(shù)式解析非常不錯(cuò)!值得學(xué)習(xí)!
            不過(guò)速度有點(diǎn)慢。
            測(cè)試了一下,比用編譯型的東東慢了一千左右倍,實(shí)際應(yīng)用需要優(yōu)化才行。

            bench.free
            ______________________________________________
            _run(_global,readfile(vmpath++"Library.free"));

            local c=0;
            writeln("開(kāi)始");
            for( i in 1 to 1000)
            {
            for ( j in 1 to 1000000)
            {
            c=c+1;
            };
            };
            writeln("結(jié)束.",c);

            這個(gè)要等多久??
            ___________________________________________________

            _run(_global,readfile(vmpath++"Library.free"));

            local c=0;
            writeln("開(kāi)始");
            for( i in 1 to 1)
            {
            for ( j in 1 to 1000000)
            {
            c=c+1;
            };
            };
            writeln("結(jié)束.",c);
            這個(gè)要7秒在我的2.0G AMD CPU上。
              回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-03 23:34 | suxiaojack
            _run(_global,readfile(vmpath++"Library.free"));

            local c=0;
            fixed f=func(){
            writeln("開(kāi)始");
            for( i in 1 to 1)
            {
            for ( j in 1 to 1000000)
            {
            c=c+1;
            };
            writeln("結(jié)束.",c);
            };
            };
            f();
            這樣寫(xiě),時(shí)間少用了!只要4秒了!  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-04 00:10 | 陳梓瀚(vczh)
            哦,我明白了,是因?yàn)開(kāi)run(_global,readfile(vmpath++"Library.free")); 導(dǎo)致了這個(gè)區(qū)別。所以你用func的時(shí)候,尋找c的時(shí)間就縮短了。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-04 18:06 | 陳梓瀚(vczh)
            不過(guò)這個(gè)腳本引擎的速度是快在庫(kù)上面的,動(dòng)態(tài)語(yǔ)言不適合計(jì)算密集型任務(wù)。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-04 19:53 | suxiaojack
            動(dòng)態(tài)語(yǔ)言老外有做得很快的,現(xiàn)在都是動(dòng)態(tài)編譯了。比如java、tinyCC.開(kāi)放編譯接口給用戶。可以有eval函數(shù)出來(lái)。最早的動(dòng)態(tài)語(yǔ)言是全在自己寫(xiě)的虛擬機(jī)上解釋執(zhí)行,但現(xiàn)在的虛擬機(jī)又有解釋器部分,又還有編譯器部分,很多東東都在內(nèi)存中直接翻譯為機(jī)器碼執(zhí)行,速度快了很多。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-04 21:48 | 空明流轉(zhuǎn)
            樓上的那種叫做JIT  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-04 21:50 | 空明流轉(zhuǎn)
            對(duì)了,有沒(méi)有能判斷是否為L(zhǎng)ALR1文法的技巧或者方法的?最近要給我的軟件渲染器做一個(gè)shader的編譯器.  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-05 05:49 | 陳梓瀚(vczh)
            那也得是弱類型或者強(qiáng)類型的才能順利JIT,無(wú)類型的JIT其實(shí)跟不JIT并沒(méi)有太大差別,因?yàn)橐獧z查的東西都非常多。而且JIT代碼生成的不好還會(huì)更慢。這門(mén)語(yǔ)言之所以做成這樣很大程度上是因?yàn)檎Z(yǔ)法決定的。開(kāi)放的語(yǔ)法總會(huì)有效率上或工程上的弱點(diǎn),兩者必居其一。所以我選擇了工程。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-05 05:51 | 陳梓瀚(vczh)
            @空明流轉(zhuǎn)
            嘗試寫(xiě)文法,寫(xiě)不出來(lái)就是不行了。人處理而已。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-05 08:01 | 空明流轉(zhuǎn)
            @陳梓瀚(vczh)
            我搞出來(lái)一串左遞歸文法。。。。  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2008-07-05 09:12 | 陳梓瀚(vczh)
            LALR不是有能力處理左遞歸么……  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2013-06-01 19:58 | Scan
            @陳梓瀚(vczh)
            老大,過(guò)去很多年了,能解釋下這里提到的這個(gè)觀點(diǎn)嗎?“那也得是弱類型或者強(qiáng)類型的才能順利JIT,無(wú)類型的JIT其實(shí)跟不JIT并沒(méi)有太大差別”。
            我現(xiàn)在也只停留在你當(dāng)年的這個(gè)認(rèn)識(shí)上,但luajit、v8的javascript,他們是怎么做到j(luò)it然后效率暴高的呢?能否簡(jiǎn)單解釋下?  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2013-06-02 07:45 | 陳梓瀚(vczh)
            @Scan
            因?yàn)樽隽祟愋屯茖?dǎo),盡管不可能得出精確的結(jié)果,但是大部分情況下你都可以得到概率最大的那個(gè)  回復(fù)  更多評(píng)論
              
            # re: Vczh Free Script 2.0 beta 發(fā)布 2015-10-12 03:17 | replica watches uk
            前來(lái)學(xué)習(xí)  回復(fù)  更多評(píng)論
              
            伊人久久精品无码av一区| 91精品婷婷国产综合久久| 久久www免费人成看片| 亚洲国产美女精品久久久久∴ | 浪潮AV色综合久久天堂| 精品乱码久久久久久久| 国产香蕉97碰碰久久人人| 久久久黄色大片| 成人精品一区二区久久| 精品久久久久成人码免费动漫 | 亚洲av日韩精品久久久久久a| 久久99精品国产自在现线小黄鸭 | 午夜精品久久久久久久| 日本久久久精品中文字幕| 久久天天躁狠狠躁夜夜avapp | 亚洲欧洲久久久精品| 国产成人久久精品一区二区三区| 久久99精品久久久久久秒播| 午夜精品久久久久久久| 97精品伊人久久大香线蕉| 国产AⅤ精品一区二区三区久久| 亚洲色婷婷综合久久| 久久精品国产精品亚洲| 一本一道久久精品综合| 无码人妻久久久一区二区三区| 免费一级做a爰片久久毛片潮 | 久久国产精品99国产精| 精产国品久久一二三产区区别| 精品水蜜桃久久久久久久| 久久精品嫩草影院| 99国产精品久久| 国产99精品久久| 99久久99久久| 97久久超碰成人精品网站| 人妻精品久久久久中文字幕一冢本| 亚洲精品第一综合99久久| 久久亚洲AV无码精品色午夜麻豆| 久久精品国产精品亚洲下载| 久久精品国产亚洲av瑜伽| 久久久久久无码国产精品中文字幕 | 久久精品亚洲精品国产欧美|