91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

RJ010703編譯原理第二次課程設(shè)計(jì) 語(yǔ)法分析器 另有README.DOC 以及 Abstract-tree.doc 畫(huà)出抽象語(yǔ)法樹(shù),保證100分

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?“Scaner.h“
/*
?*authorized?by?Chiang?2007303154?
?*/


class?Node?{????????????/*This?class?define?a?node?in?the?tree*/

public:
Node?*?leftChild; //left?child?pointer
Node?*?rightChild; //righr?child?pointer
int?op; //store?operator?
int?value; //store?value?of?left?op?right
Node()?{ //default?constructor

leftChild?=?NULL;
rightChild?=?NULL;
op?=?NULL;
value?=?0;
}
};


class?Analysis{??????/*This?class?analysis?the?express?and?caculate?the?result?ouput?the?result?and?the?tree?to?the?file?output.txt*/

private:
ofstream??out; //out?is?a?output?stream
Node?* root; //root?of?the?tree
public:
Analysis()?{

Node?temp;
out.open(“output.txt“);//create?a?output?stream
root?=?&temp;
}

/*free?all?nodes?in?the?tree?through?destructor*/
~Analysis()?{

freeNode(root);
}

/*This?function?is?to?free?all?the?nodes?recursively*/
void?freeNode(Node?*?&?p)?{

if?(p?!=?NULL)?{
Node?*?t?=?p;
p?=?NULL;
if?(t->leftChild?==?NULL?&&?t->rightChild?==?NULL)?{

free(p);
}

freeNode(t->leftChild);
freeNode(t->rightChild);
}
}

/*This?public?method?simply?invokes?the?inner?buildTree?method?with?two?arguments*/
void?buildTree()?{

int?result?=??buildTree(root?pairs);
out?< out?< out?< cout?< }

void?printTree()?{

printTree(root);
}

/*This?fucntion?output?the?tree?detail?into?the?file?output.txt*/
private?:
void?printTree(Node?*?p)?{

if?(p?!=?NULL)?{
out?< out?<value?< out?< switch?(p->op)?{

case?ADD:?{

out?< break;
}

case?MINUS:?{

out?< break;
}

case?MULT:?{

out?< break;
???}
default?:
out?< }
out?< if?(p->leftChild)?{
out?<leftChild?< }
else?{
out?< }
out?< if?(p->rightChild)?{
out?<rightChild?< }
else?{
out?< }
out?<
printTree(p->leftChild);
printTree(p->rightChild);
}
}

private:
/*This?is?a?private?function?it?builds?a?tree?through?invoking?it?recursively*/
int?buildTree(Node?*?&?np?deque??&?pairs)?{

np?=?new?Node();
if?(0?==?pairs.size())?{

return?0;
}
else?if?(pairs.size()?==?1)?{

if?(pairs[0]->type?==?INT)?{//when?the?type?of?token?is?int

np->value?=?pairs[0]->value;
return?np->value;
}
else?{//when?it?i

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件??????45056??2010-04-29?21:28??2007303154_蔣浩昊\abstract_tree.doc

?????文件???????6245??2010-04-29?21:00??2007303154_蔣浩昊\Analysis.cpp

?????文件???????3425??2010-04-29?20:59??2007303154_蔣浩昊\Analysis.dsp

?????文件????????734??2010-04-29?21:00??2007303154_蔣浩昊\Analysis.dsw

?????文件??????41984??2010-04-29?21:00??2007303154_蔣浩昊\Analysis.ncb

?????文件??????53760??2010-04-29?21:00??2007303154_蔣浩昊\Analysis.opt

?????文件????????756??2010-04-29?20:59??2007303154_蔣浩昊\Analysis.plg

?????文件?????594027??2010-04-29?20:59??2007303154_蔣浩昊\Debug\Analysis.exe

?????文件?????837396??2010-04-29?20:59??2007303154_蔣浩昊\Debug\Analysis.ilk

?????文件?????372389??2010-04-29?20:59??2007303154_蔣浩昊\Debug\Analysis.obj

????I.A....???2641168??2010-04-29?20:15??2007303154_蔣浩昊\Debug\Analysis.pch

?????文件????1164288??2010-04-29?20:59??2007303154_蔣浩昊\Debug\Analysis.pdb

?????文件??????91136??2010-04-29?20:59??2007303154_蔣浩昊\Debug\vc60.idb

?????文件?????126976??2010-04-29?20:59??2007303154_蔣浩昊\Debug\vc60.pdb

?????文件?????????15??2007-05-23?22:09??2007303154_蔣浩昊\input.txt

?????文件????????560??2010-04-29?20:05??2007303154_蔣浩昊\macro.h

?????文件????????534??2010-04-29?20:59??2007303154_蔣浩昊\output.txt

?????文件????????187??2007-05-23?12:07??2007303154_蔣浩昊\Pair.h

?????文件??????21504??2010-04-29?21:03??2007303154_蔣浩昊\readme.doc

?????文件???????4765??2010-04-29?19:56??2007303154_蔣浩昊\Scaner.h

????I.A....?????16802??2010-04-29?21:25??2007303154_蔣浩昊\繪圖.gif

?????目錄??????????0??2010-04-29?20:59??2007303154_蔣浩昊\Debug

?????目錄??????????0??2010-04-29?21:31??2007303154_蔣浩昊

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

??????????????6023707????????????????????23


評(píng)論

共有 條評(píng)論

相關(guān)資源