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

資源簡介

C語言實現一個編譯器-編譯原理南開大學的編譯原理期末大作業:
南開大學的編譯原理期末大作業,C語言實現一個編譯器,可以實現將程序源代碼轉換為匯編程序然后執行。

資源截圖

代碼片段和文件信息

#include?“com.h“
Table?table(Table?tp?int?level)
{
int?i;
Table?newTemp?=?(Table)malloc(sizeof(struct?table));
newTemp->previous?=?tp;
newTemp->level?=?level;
for?(i?=?0;?i? {
newTemp->buckets[i]?=?NULL;
}
//if?(tp)
//?newTemp->all?=?tp->all;
return?newTemp;
}

struct?symbol?*?install(char?*name?Table?*tpp?int?level?int?sclass)
{
//在tp表中添加節點,名字為ID一直install的是p->sym
Table?tp?=?*tpp;
struct?entry?*p;
int?len;
unsigned?h?=?name[0]?&?(HASHSIZE?-?1);
//if?(level?>?0?&&?tp->level? ?//tp?=?*tpp?=?table(tp?level);
currentTable?=?tp;
p?=?(struct?entry?*)?malloc(sizeof(struct?entry));
len?=?strlen(name);
p->sym.name?=?(char?*)malloc(len?*?sizeof(char));
strcpy(p->sym.name?name);
//p->sym.scope?=?level;
p->sym.up?=?tp->all;??//p的上一個插入的tp->all
p->sym.sclass?=?sclass;
tp->all?=?&p->sym;//tp->all就是剛插入的節點,實現了up指向的是上一個插入的節點
p->link?=?tp->buckets[h];
tp->buckets[h]?=?p;
return?&p->sym;
}

struct?symbol?*?lookup(char?*name?Table?tp)?{
struct?entry?*p;
unsigned?h?=?name[0]?&?(HASHSIZE?-?1);
if?(tp?==?NULL)?return?NULL;
do
for?(p?=?tp->buckets[h];?p;?p?=?p->link)
{
if?(p?!=?NULL?&&?strcmp(name?p->sym.name)?==?0)
return?&p->sym;
}
while?((tp?=?tp->previous)?!=?NULL);
return?NULL;
}

Symbol?makeSym(char?*text)
{
int?len;
Symbol?temp?=?(Symbol)malloc(sizeof(struct?symbol));
len?=?strlen(text);
temp->name?=?(char?*)malloc(len?*?sizeof(char));
strcpy(temp->name?text);
//?temp->scope?=?currentLevel;
return?temp;
}
extern?void?init(Symbol?*?b)?{
//?b?=?(Symbol)malloc(100);
?//b?=?(Symbol?*)malloc(500);
for?(int?i?=?0;?i? b[i]?=?NULL;
}
//printf(“oh?my?god“);
}?//將buffer初始化為全空
extern?void?inittemp(Tempid?*?b)?{
//?b?=?(Symbol)malloc(100);
//b?=?(Symbol?*)malloc(500);
for?(int?i?=?0;?i? b[i]?=?NULL;
}
//printf(“oh?my?god“);
}?//將buffer初始化為全空
int?getlength(int?*a?int?*bint?is)?{

int?temp?=?0;
for?(int?i?=?0;?i? if?(a[i]?!=?-1)?{
temp++;
b[i]?=?a[i];
}
}
b[temp]?=?is;
return?temp+1;
}
extern?addtemoid(char?*?idname?int?idTempid?*?store)?{???//將所有的變量存儲在一起
Tempid?t;
t?=?(Tempid)malloc(100);
t->id?=?id;
t->name?=?(char?*)malloc(strlen(idname)?+?20);
t->name?=?idname;
//printf(“hehdathe?name?is%s“?idname);
for?(int?i?=?0;?i? if?(store[i]?==?NULL)?{
store[i]?=?t;
break;
}
}
}
extern?void?addSymbol(Symbol?b[]?Symbol?s)?{//向symbolbuffer中加入symvol?s
for?(int?i?=?0;?i? //printf(“kkkkkkk%s“?b[0]);
if?(b[i]?==?NULL)?{
//?printf(“kkkkkkk%d“i);
?//b[i]?=?(Symbol)makeSym(1);
b[i]?=?s;
//printf(“i?am?a?test??and?the?id?is%id“?s->id);
break;
}
}
}
extern?Symbol?searchsmbol(Symbol?b[]?int?id)?{//返回名字為name的symbol
???//?Symbol?temp?=?(Symbol)malloc(100);
for?(int?i?=?0;?i? if?(b[i]?!=?NULL)?{
if?(b[i]->id?==?id)?{
/

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

?????文件??????10810??2018-01-02?17:06??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\com.c

?????文件???????2573??2018-01-02?11:40??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\com.h

?????文件???????2560??2018-01-02?20:18??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\final.exe

?????文件????????160??2018-01-02?17:10??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\in.txt

????..A..H.?????46080??2018-01-02?14:08??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\.vs\lasthomework\v14\.suo

?????文件?????923648??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\Debug\lasthomework.exe

?????文件????1957540??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\Debug\lasthomework.ilk

?????文件????7016448??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\Debug\lasthomework.pdb

?????文件??????????0??2018-01-01?16:17??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\Debug\out.asm

?????文件??????34380??2018-01-02?17:08??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\com.obj

?????文件???????4088??2017-12-14?19:37??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\hello.obj

?????文件???????8288??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.log

?????文件??????11224??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\CL.command.1.tlog

?????文件??????46052??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\CL.read.1.tlog

?????文件??????12318??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\CL.write.1.tlog

?????文件????????208??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\lasthomework.lastbuildstate

?????文件???????5560??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\link.command.1.tlog

?????文件???????8026??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\link.read.1.tlog

?????文件???????1632??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lasthomework.tlog\link.write.1.tlog

?????文件??????15027??2017-12-14?19:56??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lex.obj

?????文件??????14992??2017-12-21?21:06??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\lexr.obj

?????文件??????16149??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\mylexer.obj

?????文件??????99207??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\myparser.obj

?????文件??????93319??2017-12-21?21:06??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\syntax.obj

?????文件?????134144??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\vc140.idb

?????文件??????94208??2018-01-02?19:07??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\Debug\vc140.pdb

?????文件????????160??2018-01-02?17:10??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\in.txt

?????文件????????193??2018-01-02?13:03??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\in1.txt

?????文件?????????74??2018-01-02?11:44??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\in2.txt

?????文件?????????96??2018-01-02?13:34??C實現一個編譯器-編譯原理南開大學的編譯原理期末作業\1511250-劉同同-編譯原理\lasthomework\lasthomework\in4.txt

............此處省略29個文件信息

評論

共有 條評論