xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

這是一個基于某個自定義的文法(將在下面給出)所編寫的部分功能的編譯器。已經實現了詞法分析(Lexer.h/cpp),語法分析(Parser.h/cpp)并建立語法分析樹,語法分析樹數據結構(SyntaxTreeNode.h/cpp和SyntaxTree.h/cpp)。

資源截圖

代碼片段和文件信息

/**************************************************
*?file:?calc.cpp
*?date:?2006-06-30
*?author:?ideawu
*?describe:?a?really?small?and?simple?caculator.
* with?known?bugs.
**************************************************/

#include?
#include?
#include?

#include?“Parser.h“

float?calc(SyntaxTree?*tree);

int?main(int?argc?char*?argv[]){
char?buf[1024]?=?“a=“;
SyntaxTree?*tree?=?NULL;
Lexer?*lexer?=?new?Lexer();
Parser?*parser?=?new?Parser();

lexer->setSrc(buf?1024);
parser->setLexer(lexer);

printf(“>>“);
scanf(“%s“?&buf[2]);
while(strcmp(buf?“a=quit“)?!=?0){
tree?=?parser->parse();

if(tree!=NULL){
//tree->display();
printf(“%g\n“?calc(tree->getRight()));
}else{
parser->printError();
}
printf(“>>“);
scanf(“%s“?&buf[2]);
parser->reset();
}

printf(“\n“);

return?0;
}

float?calc(SyntaxTree?*tree){
float?a=0?b=0?val=0;

if(tree?!=?NULL){
if(tree->getRootNode()->getType()?==?NUM){
return?tree->getRootNode()->getValue();
}
a?=?calc(tree->getLeft());
b?=?calc(tree->getRight());

switch(tree->getRootNode()->getType()){
case?PLUS:
val?=?a?+?b;
break;
case?MINUS:
val?=?a?-?b;
break;
case?MUL:
val?=?a?*?b;
break;
case?DIV:
if(b?!=?0){
val?=?a?/?b;
}
break;
default:
break;
}
}

return?val;

}



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1368??2006-06-30?10:27??簡易編譯器??源代碼\calc.cpp

?????文件????????807??2006-04-15?19:34??簡易編譯器??源代碼\common.h

?????文件???????5186??2006-06-30?08:10??簡易編譯器??源代碼\Lexer.cpp

?????文件????????515??2006-06-30?07:56??簡易編譯器??源代碼\Lexer.h

?????文件????????716??2006-04-20?14:59??簡易編譯器??源代碼\main.cpp

?????文件????????668??2008-06-02?16:29??簡易編譯器??源代碼\Makefile

?????文件???????7728??2006-06-30?08:48??簡易編譯器??源代碼\Parser.cpp

?????文件????????810??2006-06-30?07:31??簡易編譯器??源代碼\Parser.h

?????文件???????3899??2006-06-30?08:28??簡易編譯器??源代碼\SyntaxTree.cpp

?????文件???????1201??2006-04-15?07:56??簡易編譯器??源代碼\SyntaxTree.h

?????文件???????1570??2006-06-30?08:28??簡易編譯器??源代碼\SyntaxTreeNode.cpp

?????文件???????1106??2006-04-15?07:50??簡易編譯器??源代碼\SyntaxTreeNode.h

?????文件??????65730??2006-06-26?09:31??簡易編譯器??源代碼\temp.txt

?????文件?????????40??2006-06-26?09:21??簡易編譯器??源代碼\test.txt

?????文件????????769??2006-04-17?17:03??簡易編譯器??源代碼\test_complex.txt

?????文件????????113??2006-04-17?18:35??簡易編譯器??源代碼\test_error.txt

?????目錄??????????0??2011-06-16?22:11??簡易編譯器??源代碼

-----------?---------??----------?-----??----

????????????????92226????????????????????17


評論

共有 條評論