青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
    對(duì)上一次的分析器進(jìn)行重構(gòu)之后,Combinator Parser加入了對(duì)字符串、詞法分析器以及正則表達(dá)式的新支持。功能上則添加了對(duì)于歧義和非歧義的控制。Demo代碼結(jié)構(gòu)如下:

    <Library>
        <Data>
            <Data>數(shù)據(jù)結(jié)構(gòu)
            <Grammar2>正則表達(dá)式源代碼
                <Combinator>文法分析器
    <Demo>例子以及可以在Visual Studio 2008下編譯的工程

    下面是執(zhí)行的截圖:


    點(diǎn)擊這里下載。
posted on 2009-04-06 06:18 陳梓瀚(vczh) 閱讀(10235) 評(píng)論(34)  編輯 收藏 引用 所屬分類(lèi): 作品

評(píng)論:
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-06 17:04 | 1shou
高科技啊。。 樓主牛13  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-07 08:28 | shiweifu
牛人!  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載)[未登錄](méi) 2009-04-11 00:42 | jans2002
好東西.  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-21 06:00 | ooseven
請(qǐng)教樓主一個(gè)問(wèn)題。既然語(yǔ)法分析里的lr1算法那么好用,為什么編譯原理每一本教科書(shū)里都還保留著ll(1)的內(nèi)容。是不是ll(1)在實(shí)際應(yīng)用中有比lr(1)優(yōu)勢(shì)的地方。還是僅僅是它比較適合初學(xué)者學(xué)習(xí),而在實(shí)際應(yīng)用中與lr比較一無(wú)是處?到底有沒(méi)有從ll(1)開(kāi)始學(xué)習(xí)的必要?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-21 07:47 | 陳梓瀚(vczh)
@ooseven
你不認(rèn)為這樣做理解會(huì)深刻一點(diǎn)么  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-28 16:33 | 林林
請(qǐng)問(wèn)博主,這個(gè)自動(dòng)機(jī)是lair(1)? , 它是在編譯期生成還是在執(zhí)行期呢?
boost::spirit是在編譯期生成還是在執(zhí)行器呢?先謝謝了。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-28 23:41 | 林林
呵呵,我把博主當(dāng)成老師了,沒(méi)辦法水平比較差,請(qǐng)老師多多包涵。我還有一個(gè)問(wèn)題。正則語(yǔ)法中大部分操作的意思與ebnf或abnf的意思是一樣的,不知道為什么ebnf或abnf要標(biāo)新立異?
比如正則文法中的 *, + ,{ 、}, ?
分別可對(duì)應(yīng)于上下文無(wú)關(guān)文法中的:
元素* = {元素}
元素+ = 元素,{元素}
元素{1,2} = ebnf沒(méi)有相對(duì)應(yīng),abnf中有 1*2元素
元素? = [元素]

二者的文法所表達(dá)的意思完全一樣,但是形式不統(tǒng)一,給開(kāi)發(fā)分析器的同學(xué)增加了工作量。我想問(wèn)的是這么做有什么原因嗎?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-04-29 19:04 | 陳梓瀚(vczh)
歷史原因  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-05-13 23:47 | dingding
你很強(qiáng)我佩服你,但是你能不能不用unicode編碼。vc6完全打不開(kāi)。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-05-14 02:01 | 陳梓瀚(vczh)
@dingding
不能  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-05-15 00:43 | 林林
陳梓瀚兄還沒(méi)解答我的問(wèn)題呢,你這個(gè)分析器的自動(dòng)機(jī)是用元編程于編譯期生成的還是在執(zhí)行期才生成呢?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-05-15 04:33 | 陳梓瀚(vczh)
@林林
大部分編譯期生成,循環(huán)嵌套的由執(zhí)行期生成并做垃圾收集。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-01 04:08 | ooseven
陳大俠好:
請(qǐng)教大俠一個(gè)問(wèn)題,我已經(jīng)完成了一個(gè)初級(jí)可用的LALR(1)語(yǔ)法分析引擎,里面包含了詞法分析,并且設(shè)計(jì)了ide界面。正在爽的時(shí)候,卻被一個(gè)不起眼的小問(wèn)題給難到了。就是當(dāng)發(fā)現(xiàn)錯(cuò)誤的時(shí)候,如何實(shí)時(shí)的與窗口界面交互?一般來(lái)說(shuō)編譯器都允許出現(xiàn)錯(cuò)誤的情況下繼續(xù)編譯,如果在dos的界面下就簡(jiǎn)單了,一個(gè)printf語(yǔ)句就解決問(wèn)題,但在窗口下就麻煩了。如果直接向窗口發(fā)送消息,就會(huì)引起引擎與界面代碼混在一起的引起人們?cè)嵅〉脑O(shè)計(jì),如果用throw那么就只允許發(fā)生一次錯(cuò)誤。如果這樣的話(huà),那錯(cuò)誤恢復(fù)策略就白做了!,不知道有沒(méi)有什么好的解決方案啊!
感謝您白忙之中的恢復(fù)
敬禮!
2009/08/01
來(lái)自廈門(mén)。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-02 02:30 | 陳梓瀚(vczh)
@ooseven
用Observer模式  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-02 04:58 | ooseven
Observer模式!馬上去學(xué)習(xí),謝謝大俠!  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-02 05:47 | ooseven
看了一下observer模式,其實(shí)沒(méi)什么稀奇,我以前做的工程中就實(shí)現(xiàn)了這種思路,只不過(guò)不知道這就是observer模式。但是,這種模式不適合作為語(yǔ)法分析引擎與ide的交互吧?
三個(gè)理由:
1、還是要包含窗口句柄,只不過(guò)改到一個(gè)單獨(dú)的類(lèi)里的觀測(cè)者鏈表中。
2、語(yǔ)法分析引擎不需要同時(shí)與多個(gè)窗口交互,只需要與一個(gè)窗口交互就
夠了。
3、還是免不了sendmessge,而ide要注冊(cè)這個(gè)自定義的message,然后在
這個(gè)消息里接收。
耦合得太厲害了,用了observer后簡(jiǎn)直就是變本加厲!
不過(guò)我倒是在網(wǎng)上看到了一種方案,就是ide端通過(guò)創(chuàng)建一線(xiàn)程,在線(xiàn)程里創(chuàng)建命名管道監(jiān)聽(tīng)stderr,從而達(dá)到實(shí)時(shí)接收引擎消息的目的。這種方式雖然在ide端工作量不小,但由于其通用性強(qiáng),可以封裝成一個(gè)類(lèi)。更主要的是引擎端根本就直接printf 到stderr就行了。
到目前為止,這是我覺(jué)得的最好的方案了,不知道還有沒(méi)有更好的方案!  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-02 08:15 | 陳梓瀚(vczh)
@ooseven
難道監(jiān)聽(tīng)stderr就不是observer?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-02 17:16 | 林林
@陳梓瀚(vczh)
observer不是處理一個(gè)消息源對(duì)多個(gè)訂閱者發(fā)行的關(guān)系模型嗎?,多個(gè)訂閱者一起預(yù)約,一旦有消息發(fā)生,就通知全部的訂閱者。可是,我這里只有一個(gè)窗口需要得到引擎的stderr消息啊?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-04 23:13 | 陳梓瀚(vczh)
@林林
不要搞教條主義和本本主義。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 16:54 | 林林
請(qǐng)教陳兄一個(gè)問(wèn)題:
邏輯表達(dá)式結(jié)合算術(shù)表達(dá)式的bnf怎么寫(xiě)啊,我寫(xiě)的怎么都有沖突!
要實(shí)現(xiàn)的功能很簡(jiǎn)單:
實(shí)現(xiàn):
1、 a+1>0 Or b*10
2、 a*9>0 Or b
第一條語(yǔ)句的bnf沒(méi)問(wèn)題,問(wèn)題在于當(dāng)?shù)诙l語(yǔ)句的bnf加進(jìn)去的時(shí)候出現(xiàn)兩個(gè)沖突。
第一個(gè)移進(jìn)與歸約沖突在于,當(dāng)出現(xiàn)')'的時(shí)候有一個(gè)移進(jìn),移進(jìn)到一個(gè)新的狀態(tài),該狀態(tài)有一個(gè)歸約arithmetic_factor : '(' arithmetic_exp ')'。或者直接歸約compare_exp : arithmetic_exp

第二個(gè)歸約與歸約沖突在于,當(dāng)遇到'$'的時(shí)候,是以program : arithmetic_exp歸約,還是以compare_exp : arithmetic_exp歸約。
我搞不定!請(qǐng)陳兄百忙之中,抽空看看啊!

%lextest
{
%skip : <\s| |//[^\r\n]+>
IF : <if>
ELSE : <else>
WHILE : <while>
BREAK : <break>
CONTINUE : <continue>
RETURN : <return>
'(' : <\(>
')' : <\)>
'*' : <\*>
'/' : <\/>
'+' : <\+>
'-' : <\->
ISEQUAL : <==>
ISNOTEQUAL : <!=>
GREATER : <\>>
GREATEROREQUAL : <>=>
LESSER : <<>
LESSEROREQUAL : <<=>
NOT : <Not>
AND : <And>
OR : <Or>
NUMBER : <[0-9]+(\.[0-9])*>
VARIABLENAME : <[a-zA-Z][a-zA-Z0-9]*>
STRING : <"[^\r\n]+">
}
%syntax
{
%terminator_type {int}
program : logic_exp
| arithmetic_exp ;


logic_exp : logic_exp OR logic_and_term
| logic_and_term;
logic_and_term : logic_and_term AND logic_not_term
| logic_not_term;
logic_not_term : NOT logic_factor
| logic_factor;
logic_factor : '(' logic_exp ')'
| compare_exp;

compare_exp : compare_exp ISEQUAL arithmetic_exp
| compare_exp ISNOTEQUAL arithmetic_exp
| compare_exp GREATER arithmetic_exp
| compare_exp GREATEROREQUAL arithmetic_exp
| compare_exp LESSER arithmetic_exp
| compare_exp LESSEROREQUAL arithmetic_exp
| arithmetic_exp;

arithmetic_exp : arithmetic_exp '+' arithmetic_term
| arithmetic_exp '-' arithmetic_term
| arithmetic_term;

arithmetic_term : arithmetic_term '*' arithmetic_factor
| arithmetic_term '/' arithmetic_factor
| arithmetic_factor;

arithmetic_factor : '(' arithmetic_exp ')'
| NUMBER
| VARIABLENAME ;
}  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 17:01 | 林林
改成下面這樣子之后,就只剩下上面那個(gè)移進(jìn)與歸約沖突了

%lextest
{
%skip : <\s| |//[^\r\n]+>
IF : <if>
ELSE : <else>
WHILE : <while>
BREAK : <break>
CONTINUE : <continue>
RETURN : <return>
'(' : <\(>
')' : <\)>
'*' : <\*>
'/' : <\/>
'+' : <\+>
'-' : <\->
ISEQUAL : <==>
ISNOTEQUAL : <!=>
GREATER : <\>>
GREATEROREQUAL : <>=>
LESSER : <<>
LESSEROREQUAL : <<=>
NOT : <Not>
AND : <And>
OR : <Or>
NUMBER : <[0-9]+(\.[0-9])*>
VARIABLENAME : <[a-zA-Z][a-zA-Z0-9]*>
STRING : <"[^\r\n]+">
}
%syntax
{
%terminator_type {int}

program : ifstmt ;

ifstmt : IF '(' logic_exp ')' arithmetic_exp
| IF '(' logic_exp ')' arithmetic_exp ELSE arithmetic_exp
| IF '(' logic_exp ')' arithmetic_exp ELSE ifstmt ;

logic_exp : logic_exp OR logic_and_term
| logic_and_term;
logic_and_term : logic_and_term AND logic_not_term
| logic_not_term;
logic_not_term : NOT logic_factor
| logic_factor;
logic_factor : '(' logic_exp ')'
| compare_exp;

compare_exp : compare_exp ISEQUAL arithmetic_exp
| compare_exp ISNOTEQUAL arithmetic_exp
| compare_exp GREATER arithmetic_exp
| compare_exp GREATEROREQUAL arithmetic_exp
| compare_exp LESSER arithmetic_exp
| compare_exp LESSEROREQUAL arithmetic_exp
| arithmetic_exp;

arithmetic_exp : arithmetic_exp '+' arithmetic_term
| arithmetic_exp '-' arithmetic_term
| arithmetic_term;

arithmetic_term : arithmetic_term '*' arithmetic_factor
| arithmetic_term '/' arithmetic_factor
| arithmetic_factor;

arithmetic_factor : '(' arithmetic_exp ')'
| NUMBER
| VARIABLENAME ;
}  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 17:18 | 林林
發(fā)現(xiàn)問(wèn)題在于 當(dāng)邏輯表達(dá)式也要支持(logic_exp )優(yōu)先級(jí)的時(shí)候,就會(huì)有沖突!  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 17:58 | 林林
經(jīng)過(guò)了下面的修改,已經(jīng)通過(guò)!!!,哈,高興
%lextest
{
%skip : <\s| |//[^\r\n]+>
IF : <if>
ELSE : <else>
WHILE : <while>
BREAK : <break>
CONTINUE : <continue>
RETURN : <return>
'(' : <\(>
')' : <\)>
'*' : <\*>
'/' : <\/>
'+' : <\+>
'-' : <\->
ISEQUAL : <==>
ISNOTEQUAL : <!=>
GREATER : <\>>
GREATEROREQUAL : <>=>
LESSER : <<>
LESSEROREQUAL : <<=>
NOT : <Not>
AND : <And>
OR : <Or>
NUMBER : <[0-9]+(\.[0-9])*>
VARIABLENAME : <[a-zA-Z][a-zA-Z0-9]*>
STRING : <"[^\r\n]+">
}
%syntax
{
%terminator_type {int}

program : logic_exp;

logic_exp : logic_exp OR logic_and_term
| logic_and_term;
logic_and_term : logic_and_term AND logic_not_term
| logic_not_term;
logic_not_term : NOT compare_exp
| compare_exp;

compare_exp : compare_exp ISEQUAL arithmetic_exp
| compare_exp ISNOTEQUAL arithmetic_exp
| compare_exp GREATER arithmetic_exp
| compare_exp GREATEROREQUAL arithmetic_exp
| compare_exp LESSER arithmetic_exp
| compare_exp LESSEROREQUAL arithmetic_exp
| arithmetic_exp;

arithmetic_exp : arithmetic_exp '+' arithmetic_term
| arithmetic_exp '-' arithmetic_term
| arithmetic_term;

arithmetic_term : arithmetic_term '*' arithmetic_factor
| arithmetic_term '/' arithmetic_factor
| arithmetic_factor;

arithmetic_factor : '(' logic_exp ')'
| NUMBER
| VARIABLENAME ;
}  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 19:25 | 林林
最新問(wèn)題!
問(wèn)題在于這條產(chǎn)生式:
statement : block
| sentence
| ifstmt
| whilestmt
| forstmt;
當(dāng)加入了ifstmt,whilestmt,forstmt后出現(xiàn)了沖突!
可是,如果不加的話(huà)就不支持如下的語(yǔ)法:
if(a>0)
for(a=1 to 10) do
b = 10;
而一定要象這樣
if(a>0)
begin
for(a=1 to 10) do
b=10;
end

很不爽啊! 怎么辦!

以下是bnf文法:

%lextest
{
%skip : <\s| |//[^\r\n]+>
IF : <if>
ELSE : <else>
THEN : <then>
FOR : <for>
TO : <to>
DO : <do>
DOWNTO : <downto>
WHILE : <while>
BREAK : <break>
LOOP : <loop>
BEGIN : <begin>
END : <end>
';' : <;>
'(' : <\(>
')' : <\)>
'*' : <\*>
'/' : <\/>
'+' : <\+>
'-' : <\->
'=' : <=>
ISEQUAL : <==>
ISNOTEQUAL : <!=>
GREATER : <\>>
GREATEROREQUAL : <>=>
LESSER : <<>
LESSEROREQUAL : <<=>
NOT : <Not>
AND : <And>
OR : <Or>
NUMBER : <[0-9]+(\.[0-9])*>
VARIABLENAME : <[a-zA-Z][a-zA-Z0-9]*>
STRING : <"[^\r\n]+">
}
%syntax
{
%terminator_type {int}

program : ifstmt
|forstmt
|sentences
|whilestmt;

whilestmt : WHILE logic_exp DO circlestatement ;
forstmt : FOR assignment_exp TO logic_exp DO circlestatement
| FOR assignment_exp DOWNTO logic_exp DO circlestatement ;

circlestatement : circleblock
| circlesentence;
circleblock : BEGIN circlesentences END;
circlesentences : circlesentences circlesentence
| circlesentence ;
circlesentence : logic_exp ';'
| LOOP ';'
| BREAK ';';


ifstmt : IF '(' logic_exp ')' THEN statement
| IF '(' logic_exp ')' THEN statement ELSE statement
| IF '(' logic_exp ')' THEN statement ELSE ifstmt ;

statement : block
| sentence
| ifstmt
| whilestmt
| forstmt;
block : BEGIN sentences END;

sentences : sentences sentence
| sentence;
sentence : logic_exp ';'
| assignment_exp ';';

assignment_exp : VARIABLENAME '=' logic_exp;

logic_exp : logic_exp OR logic_and_term
| logic_and_term;
logic_and_term : logic_and_term AND logic_not_term
| logic_not_term;
logic_not_term : NOT compare_exp
| compare_exp;

compare_exp : compare_exp ISEQUAL arithmetic_exp
| compare_exp ISNOTEQUAL arithmetic_exp
| compare_exp GREATER arithmetic_exp
| compare_exp GREATEROREQUAL arithmetic_exp
| compare_exp LESSER arithmetic_exp
| compare_exp LESSEROREQUAL arithmetic_exp
| arithmetic_exp;

arithmetic_exp : arithmetic_exp '+' arithmetic_term
| arithmetic_exp '-' arithmetic_term
| arithmetic_term;

arithmetic_term : arithmetic_term '*' arithmetic_factor
| arithmetic_term '/' arithmetic_factor
| arithmetic_factor;

arithmetic_factor : '(' logic_exp ')'
| NUMBER
| STRING
| VARIABLENAME ;
}



  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-16 19:56 | 陳梓瀚(vczh)
@林林
別刷屏,你應(yīng)該這么寫(xiě):
(C++)
ifstmt = if (exp) stmt else stmt //我沒(méi)有考慮那個(gè)經(jīng)典問(wèn)題
whilestmt = while (exp) stmt
...

stmt = (ifstmt | whilestmt) ;
stmt = { 很多stmt }
(PASCAL)
ifstmt = if exp then stmt else stmt;
whilestmt = while exp do stmt;
...
stmt = ifstmt | whilestmt
stmt = begin 很多stmt end
(PASCAL之可以省略最后一個(gè)分號(hào))
ifstmt = if exp then stmt else stmt
whilestmt = while exp do stmt
...
stmt = ifstmt | whilestmt
stmt = begin stmt-list end
stmt-list = stmt (; stmt)* [;]  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-17 00:55 | 林林
@陳梓瀚(vczh)
問(wèn)題解決了,謝謝陳兄的指導(dǎo)!
最終是通過(guò)%right,與優(yōu)先級(jí)來(lái)解決的  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-17 00:56 | 林林
通過(guò)%right 解決了else的移進(jìn)與歸約沖突
通過(guò)符號(hào)的優(yōu)先級(jí),解決了ifstmt else 與statement : ifstmt的歸約與歸約沖突  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-17 18:05 | 林林
請(qǐng)教陳兄:
一般的腳本引擎有沒(méi)有必要編譯成字節(jié)碼在虛擬機(jī)或簡(jiǎn)單的堆棧機(jī)里運(yùn)行?還是直接在語(yǔ)法樹(shù)里純解析運(yùn)行就可以了,速度差很多嗎?
如果有一個(gè)腳本引擎,沒(méi)有源代碼,有沒(méi)有什么辦法得知它是純解析運(yùn)行還是在編譯成字節(jié)碼然后才運(yùn)行?  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-17 20:31 | 陳梓瀚(vczh)
@林林
1:一般生成指令就足夠了,至于指令是struct的數(shù)組還是vector還是字節(jié)碼那其實(shí)沒(méi)有多大區(qū)別。
2:沒(méi)有辦法。
3:速度的瓶頸一般在腳本的對(duì)象的內(nèi)存分配以及調(diào)用一個(gè)名字的時(shí)候查找的過(guò)程。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-25 03:33 | ooseven
@陳梓瀚(vczh)
經(jīng)過(guò)了一個(gè)早上的優(yōu)化后,現(xiàn)在的結(jié)果是329.032秒,雖然還是很慢,但是已經(jīng)很開(kāi)心了!
cpu e6600
內(nèi)存 2g

經(jīng)過(guò)測(cè)試,vc2008 debug下的運(yùn)行時(shí)間是2秒
vc2008 release下的運(yùn)行時(shí)間是0秒
天啊,太塊了!
陳兄不削拿您的虛擬機(jī)跟我比,可以理解。但拿出來(lái)跟vc比比總不會(huì)辱沒(méi)了您的身份吧:)
我說(shuō)的是虛擬機(jī),而不實(shí)您翻譯成機(jī)器碼后拿來(lái)比較哦  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2009-08-25 05:10 | 陳梓瀚(vczh)
@ooseven
我那個(gè)生成的代碼比較垃圾,肯定比debug慢。  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2011-01-09 21:52 | U2U
@ooseven
用Reactive Style來(lái)做,類(lèi)似Rx那樣  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2011-01-10 02:57 | 陳梓瀚(vczh)
@U2U
combinator比rx更合適……  回復(fù)  更多評(píng)論
  
# re: C++輕量級(jí)文法分析器更新,代碼+DEMO×3(下載) 2015-10-12 03:18 | chanel replica handbags
Reactive Style應(yīng)該是可以的  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            性欧美超级视频| 欧美日韩网址| 亚洲高清在线观看一区| 宅男噜噜噜66一区二区 | 欧美日韩国产首页| 欧美freesex交免费视频| 亚洲开发第一视频在线播放| 欧美成人第一页| 亚洲国产精品成人| 亚洲精品欧洲| 亚洲色图自拍| 亚洲欧美亚洲| 久久国产精品久久久| 韩国精品一区二区三区| 国产亚洲欧美日韩精品| 国产区精品视频| 国产偷自视频区视频一区二区| 欧美日韩一区二区免费视频| 欧美日韩成人综合在线一区二区| 欧美日韩国产另类不卡| 国产精品高清免费在线观看| 欧美视频在线观看| 国产精品视频一| 在线观看国产精品淫| 99re6热在线精品视频播放速度 | 亚洲最新视频在线| 午夜精品亚洲一区二区三区嫩草| 欧美在线视频二区| 欧美激情视频在线免费观看 欧美视频免费一 | 小辣椒精品导航| 久久躁日日躁aaaaxxxx| 欧美日韩一区二区三区免费| 国产视频综合在线| aa成人免费视频| 久久国产精品久久久久久电车 | 亚洲中字在线| 国产精品高清在线观看| 国产综合色精品一区二区三区| 亚洲国产欧美一区二区三区久久 | 欧美天天在线| 国产亚洲精品久久久久久| 一区视频在线播放| 性感少妇一区| 欧美激情一区二区三区成人| 99这里只有久久精品视频| 久久国产精品久久国产精品| 欧美日韩一区二区欧美激情| 韩日在线一区| 亚洲天堂成人在线视频| 欧美va亚洲va国产综合| 午夜欧美视频| 欧美精品在线免费播放| 黄色成人小视频| 午夜精品视频在线观看| 亚洲精品中文字幕有码专区| 美玉足脚交一区二区三区图片| 国产精品护士白丝一区av| 亚洲欧洲三级| 久久久久免费观看| 在线一区观看| 欧美日韩影院| 亚洲精选久久| 男人的天堂亚洲| 久久久久久久波多野高潮日日| 欧美性理论片在线观看片免费| 亚洲国产精品成人综合| 久久久久久久一区| 国产精品美女www爽爽爽| 一区二区免费在线视频| 一区二区三区国产精华| 国产精品美女www爽爽爽| 欧美一级视频精品观看| 欧美一区二区三区喷汁尤物| 含羞草久久爱69一区| 久久亚洲私人国产精品va| 欧美中文字幕视频| 一区二区三区在线不卡| 欧美成人精品在线观看| 麻豆精品在线播放| 亚洲精品一级| 99人久久精品视频最新地址| 国产精品久久久久久久午夜| 午夜激情综合网| 欧美一区二区播放| 在线免费观看日韩欧美| 美女日韩在线中文字幕| 欧美电影免费观看| 亚洲一卡二卡三卡四卡五卡| 亚洲自啪免费| 国内精品亚洲| 亚洲国产美国国产综合一区二区| 欧美v亚洲v综合ⅴ国产v| 亚洲一区二区在| 欧美亚洲在线| 999在线观看精品免费不卡网站| 亚洲天堂偷拍| 亚洲第一在线综合网站| 一本大道久久精品懂色aⅴ| 欧美精品三级在线观看| 亚洲欧洲精品一区二区精品久久久| 老司机一区二区| 亚洲香蕉成视频在线观看 | 这里只有精品视频| 在线亚洲+欧美+日本专区| 国产婷婷一区二区| 你懂的一区二区| 久久av二区| 欧美肥婆在线| 欧美亚洲尤物久久| 能在线观看的日韩av| 性色av一区二区三区| 久久噜噜噜精品国产亚洲综合| 亚洲午夜小视频| 欧美国产91| 免费不卡视频| 国产一区二区成人久久免费影院| 亚洲欧洲精品天堂一级| 在线免费不卡视频| 久久av一区二区| 亚洲欧美在线网| 欧美日韩在线看| 亚洲精品精选| 亚洲激情在线| 久久综合中文字幕| 美女在线一区二区| 国产一区二区按摩在线观看| 亚洲一区二区三区三| 一本一本久久| 欧美—级在线免费片| 欧美国产在线观看| 亚洲国产精品一区二区www| 久久国产精品久久久久久久久久 | 国产精品久久波多野结衣| 亚洲国产精品久久久久婷婷884| 国产视频久久久久| 亚洲自拍高清| 欧美一区二区在线视频| 国产精品日韩精品欧美精品| 一区二区三区不卡视频在线观看 | 亚洲福利视频专区| 免费影视亚洲| 亚洲精品久久久久久久久久久久久 | 久久久久一区二区| 国产日韩久久| 午夜亚洲性色视频| 欧美综合二区| 黑人一区二区三区四区五区| 久久成人综合视频| 欧美插天视频在线播放| 日韩亚洲欧美一区二区三区| 欧美激情亚洲精品| 一本久久综合| 亚洲在线一区二区| 国产乱码精品一区二区三| 午夜欧美精品| 欧美日韩国产高清| 亚洲一级二级| 欧美午夜视频在线观看| 99在线精品视频在线观看| 亚洲天堂网站在线观看视频| 欧美日产一区二区三区在线观看| 亚洲国产色一区| 亚洲尤物影院| 国产精品伦理| 欧美一区二区三区四区在线观看地址 | 久久蜜桃香蕉精品一区二区三区| 老鸭窝亚洲一区二区三区| 亚洲国产婷婷| 欧美系列一区| 久久久精品国产99久久精品芒果| 欧美激情在线播放| 亚洲一区二区网站| 亚洲高清二区| 国产酒店精品激情| 欧美v日韩v国产v| 中文国产成人精品久久一| 久久色在线观看| 99精品国产在热久久下载| 国产一级久久| 欧美日韩中文字幕精品| 久久精品国产免费看久久精品| 亚洲激情电影中文字幕| 欧美专区在线播放| 正在播放欧美视频| 在线免费高清一区二区三区| 国产精品无人区| 欧美巨乳波霸| 另类av一区二区| 小辣椒精品导航| 一区电影在线观看| 欧美激情国产高清| 久久国产精品一区二区| 亚洲午夜精品久久久久久app| 激情六月综合| 国产欧美一区二区三区久久人妖| 欧美精品高清视频| 久久婷婷影院| 欧美在线视频免费| 亚洲欧美日韩精品久久久久| 亚洲第一黄色网|