亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? symbol.c

?? C語言編譯器的源代碼
?? C
字號:
/*
 * 68K/386 32-bit C compiler.
 *
 * copyright (c) 1997, David Lindauer
 * 
 * This compiler is intended for educational use.  It may not be used
 * for profit without the express written consent of the author.
 *
 * It may be freely redistributed, as long as this notice remains intact
 * and either the original sources or derived sources 
 * are distributed along with any executables derived from the originals.
 *
 * The author is not responsible for any damages that may arise from use
 * of this software, either idirect or consequential.
 *
 * v1.35 March 1997
 * David Lindauer, gclind01@starbase.spd.louisville.edu
 *
 * Credits to Mathew Brandt for original K&R C compiler
 *
 */
/* Handles symbol tables 
 */
#include        <stdio.h>
#include				<malloc.h>
#include        "expr.h"
#include        "c.h"
#include 				"errors.h"

#define ROTR(x,bits) (((x << (16 - bits)) | (x >> bits)) & 0xffff)
#define ROTL(x,bits) (((x << bits) | (x >> (16 - bits))) & 0xffff)
#define HASHTABLESIZE 1023

extern TABLE oldlsym;
extern int prm_cplusplus,prm_cmangle;
HASHREC **globalhash=0;
HASHREC **defhash=0;

TABLE gsyms,lsyms,defsyms;

void symini(void)
{
	gsyms.head = gsyms.tail = lsyms.head = lsyms.tail = defsyms.head = defsyms.tail = 0;
	if (!globalhash) {
  	globalhash = (HASHREC *)malloc(HASHTABLESIZE * sizeof(HASHREC *));
  	defhash = (HASHREC *)malloc(HASHTABLESIZE * sizeof(HASHREC *));
	}
  memset(globalhash,0,HASHTABLESIZE * sizeof(HASHREC *));
  memset(defhash,0,HASHTABLESIZE * sizeof(HASHREC *));
}

/* Sym tab hash function */	
static unsigned int ComputeHash(char *string,int size)
{
  unsigned int len = strlen(string), rv;
  char *pe = len + string;
  unsigned char blank = ' ';

  rv = len | blank;
  while(len--) {
    unsigned char cback = (unsigned char)(*--pe) | blank;
    rv = ROTR(rv,2) ^ cback;
  }
  return(rv % size);
}
/* Add a hash item to the table */
HASHREC *AddHash(HASHREC *item,HASHREC **table,int size)
{
  int index = ComputeHash(item->key,size);
  HASHREC **p;

  item->link = 0;

  if (*(p = &table[index])) {
    HASHREC *q = *p,*r = *p;
    while (q) {
			r = q;
      if (!strcmp(r->key,item->key))
				return(r);
			q = q->link;
		}
		r->link = item;
  }
  else
    *p = item;
  return(0);
}
/*
 * Find something in the hash table
 */
HASHREC **LookupHash(char *key, HASHREC **table, int size)
{
  int index = ComputeHash(key,size);
  HASHREC **p;

  if (*(p = &table[index])) {
    HASHREC *q= *p;
    while (q) {
      if (!strcmp(q->key, key))
				return(p);
			p = *p;
			q=q->link;
		}
	}
	return(0);
}
/*
 * Some tables use hash tables and some use linked lists
 * This is the global symbol search routine
 */
SYM     *search(char *na,TABLE *table)
{
	SYM *thead = table->head;
	SYM **p;
	if (table == &gsyms) {
		p=((SYM **)LookupHash(na,globalhash,HASHTABLESIZE));
		if (p)
			p = *p;
		return (SYM *) p;
	}
	else if (table == &defsyms) {
		p=((SYM **)LookupHash(na,defhash,HASHTABLESIZE));
		if (p)
			p = *p;
		return (SYM *) p;
	}
	else
	       while( thead != 0) {
                if(strcmp(thead->name,na) == 0)
                        return thead;
                thead = thead->next;
                }
        return 0;
}

SYM     *gsearch(char *na)
{       SYM     *sp;
        if( (sp = search(na,&lsyms)) == 0)
                sp = search(na,&gsyms);
        return sp;
}
/* The global symbol insert routine */
void insert(SYM *sp,TABLE *table)

{
	if (table == &gsyms) {
		if (AddHash(sp,globalhash,HASHTABLESIZE))
			gensymerror(ERR_DUPSYM,sp->name);
	}
  else if (table == &defsyms) {
		AddHash(sp,defhash,HASHTABLESIZE);
	}
	else if (table == &lsyms) {
		SYM *thead = table->head,*qhead = 0;
		/* Only check the current local block... */
	  while( thead != oldlsym.head) {
        if(strcmp(thead->name,sp->name) == 0) {
              qhead = thead;
					 		break;
					}	
        thead = thead->next;
        }
		if (qhead) 
       gensymerror(ERR_DUPSYM,sp->name);
		else {
		/* Putting local symbols in backwards */
      if( table->head == 0) {
        table->head = table->tail = sp;
      	sp->next = 0;
			}
      else    {
				sp->next = table->head;
				table->head = sp;
      }
		}
	}
	else if( search(sp->name,table) == 0) {
                if( table->head == 0)
                        table->head = table->tail = sp;
                else    {
                        table->tail->next = sp;
                        table->tail = sp;
                        }
                sp->next = 0;
                }
        else
                gensymerror(ERR_DUPSYM,sp->name);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本高清视频在线观看| 91美女在线看| 亚洲综合色网站| 国产精品视频一二三| 欧美一区二区三区人| 色欧美日韩亚洲| 韩国v欧美v亚洲v日本v| 日韩国产欧美在线观看| 午夜精品久久久久久久久久| 亚洲图片你懂的| 中文字幕一区二区三区四区不卡 | 久久久久久黄色| 日韩精品一区二区三区在线观看| 欧美色区777第一页| 成人午夜短视频| 国产91丝袜在线播放九色| 久久99精品视频| 国产裸体歌舞团一区二区| 国产精一区二区三区| 午夜日韩在线观看| 日韩黄色一级片| 日韩av中文在线观看| 精品一区二区三区免费毛片爱 | 国产精品99精品久久免费| 国产激情偷乱视频一区二区三区| 一区二区三区高清在线| 一区av在线播放| 亚洲自拍偷拍九九九| 亚洲大片在线观看| 美腿丝袜在线亚洲一区| 激情综合五月婷婷| 秋霞影院一区二区| 国产在线播放一区二区三区| 成人免费视频一区二区| eeuss鲁一区二区三区| 欧美午夜精品免费| 91精品国产一区二区三区 | 国产精品无码永久免费888| 日本一区二区视频在线观看| 日韩一区欧美一区| 亚洲成人精品影院| 久久 天天综合| 波多野结衣欧美| 欧美日韩五月天| 精品乱码亚洲一区二区不卡| 国产精品免费aⅴ片在线观看| 亚洲欧美日韩系列| 激情都市一区二区| 欧美私模裸体表演在线观看| 精品国产一区久久| 最近日韩中文字幕| 麻豆91精品视频| 99久久精品国产导航| 日韩视频免费观看高清完整版在线观看| 精品毛片乱码1区2区3区| 中文字幕日本不卡| 免费三级欧美电影| 99亚偷拍自图区亚洲| 日韩欧美精品在线视频| 久久亚洲欧美国产精品乐播| 亚洲黄色尤物视频| 国产老肥熟一区二区三区| 欧美最猛黑人xxxxx猛交| 国产欧美日韩视频一区二区 | 亚洲精品成a人| 午夜日韩在线电影| 91美女福利视频| 久久女同互慰一区二区三区| 亚洲成人免费在线观看| 91视频在线看| 欧美一区二区三区成人| 亚洲一区二区中文在线| 不卡的av中国片| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲h动漫在线| 在线观看一区二区视频| 久久嫩草精品久久久久| 免播放器亚洲一区| 成人黄页毛片网站| 久久久777精品电影网影网 | 99re免费视频精品全部| 久久一夜天堂av一区二区三区| 一区二区激情小说| 色综合欧美在线| 欧美国产97人人爽人人喊| 国产麻豆9l精品三级站| 91精品在线免费观看| 亚洲一二三四在线| 日本道精品一区二区三区| 亚洲美女偷拍久久| 色综合久久88色综合天天6| 中国av一区二区三区| 丁香六月综合激情| 国产精品免费av| 国产午夜精品一区二区| 岛国av在线一区| 亚洲影院免费观看| 日韩精品一区二区三区swag| 国产经典欧美精品| 夜夜精品浪潮av一区二区三区| 5858s免费视频成人| 高清国产午夜精品久久久久久| 中文字幕一区三区| 91精品国产一区二区人妖| 懂色一区二区三区免费观看| 一区二区三区四区高清精品免费观看| 在线观看91av| 国产aⅴ精品一区二区三区色成熟| 亚洲视频网在线直播| 日韩欧美久久一区| 色综合久久中文字幕综合网| 麻豆精品在线播放| 亚洲天堂av一区| 亚洲精品一区二区三区影院 | 91原创在线视频| 日本不卡视频一二三区| 国产精品成人网| 精品剧情v国产在线观看在线| 99re免费视频精品全部| 国产在线精品一区在线观看麻豆| 国产精品盗摄一区二区三区| 欧美成人vps| 欧美日韩在线观看一区二区| 成人激情免费电影网址| 久久精品国产**网站演员| 亚洲精品国产精品乱码不99| 久久久久久久久久久久久久久99| 欧美精品777| 在线亚洲一区二区| 成人教育av在线| 国v精品久久久网| 另类综合日韩欧美亚洲| 婷婷综合另类小说色区| 亚洲视频免费在线观看| 国产精品久久久久影院亚瑟| 久久精品亚洲精品国产欧美kt∨| 制服丝袜成人动漫| 777色狠狠一区二区三区| 色悠悠久久综合| 99精品欧美一区二区三区小说| 国产精品资源在线看| 国内一区二区视频| 国产乱一区二区| 国产在线播精品第三| 国产在线国偷精品免费看| 狠狠色丁香久久婷婷综合_中 | 亚洲图片一区二区| 亚洲视频在线一区二区| 日韩一区在线看| 亚洲欧美二区三区| 亚洲精品国久久99热| 亚洲一区二区三区三| 亚洲成av人片在线| 日韩和的一区二区| 久久国产精品无码网站| 久久99国产精品久久99| 国产乱妇无码大片在线观看| 国产高清成人在线| 99久久夜色精品国产网站| 91色视频在线| 欧美一a一片一级一片| 这里只有精品视频在线观看| 欧美一区二区福利视频| 久久一夜天堂av一区二区三区| 国产日韩综合av| 亚洲欧洲av一区二区三区久久| 亚洲青青青在线视频| 亚洲国产婷婷综合在线精品| 青青草成人在线观看| 激情综合色播五月| 成人午夜激情在线| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩精品免费观看视频| 日韩欧美一区二区三区在线| 久久久www成人免费毛片麻豆| 国产精品区一区二区三| 午夜av区久久| 高清在线成人网| 欧美日韩精品专区| 欧美xxxxxxxx| 一区二区三区四区av| 蜜乳av一区二区| 99久久久精品| 欧美一区二区三区视频在线观看| 欧美激情在线一区二区三区| 亚洲一级二级三级| 国产精品综合一区二区三区| 在线精品国精品国产尤物884a| 精品久久久久久久一区二区蜜臀| 中文字幕一区二区视频| 欧美aaaaaa午夜精品| 成人动漫一区二区在线| 91精品国产品国语在线不卡| 国产精品麻豆久久久| 久久国产人妖系列| 欧美亚洲综合网| 久久午夜老司机| 日韩二区三区四区| 在线欧美日韩精品| 中文字幕不卡在线观看|