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

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

?? sym.h

?? 這是一個VHDL(硬件描述語言)的編譯器
?? H
字號:
#ifndef SYM_H#define SYM_H/*   include dependencies:   stdlib.h     -- for NULL   stdtypes.h   string.h   type.h   str.h        -- definition for STRING */#include "typedefs.h"#include "list.h"#include "const.h"/*===============================<o>=====================================Copyright 1996, 1997, 2004 Ian Kaplan, Bear Products International,www.bearcave.com.All Rights ReservedYou may use this software in software components for which you donot collect money (e.g., non-commercial software).  All commercialuse is reserved.===============================<o>=====================================*//** \file  VHDL symbol class defintions *//** */class src_ref {    ushort file_num;   // handle in the file name table    ushort offset;     // char offset within the line    uint line_num;     // line number within the file}; // src_refenum { bad_symbol,       sy_ident,       sy_type,       sy_const,          // an enumeration value, a defined constant       sy_subprog,       sy_component,      // an elaborated entity/architecture pair       sy_package,        // both declaration parts and body       sy_process,       sy_block_label    // its not clear this is needed    };class symtable;class typetable;/**   Memory Allocation   New for symbols is only called from the symbol table.  New for   types is only called from the type table.  If new compilers are   not available, this localized code will have to be modified. */class sym {private:    STRING name;       // Symbol name, entered into the string table    src_ref  m_sr;     // source location for the declaration    uint m_referenced : 1,  // symbol was referenced	 m_unused     : 31;public:    sym(STRING n )    {	name = n;        m_referenced = FALSE;    } // sym constructor    sym( )    {	name.SetText( NULL );        m_referenced = FALSE;    } // sym constructor    void *operator new( unsigned int num_bytes )    {	assert( FALSE );	return NULL;    }    //    // Overloaded new    //    void *operator new( unsigned int num_bytes, pool *mem_pool )    {	return mem_pool->GetMem( num_bytes );    }    // Memory is recovered by deleting the memory pool.  So delete    // should do nothing.    void operator delete( void *addr ) {/* do nothing */}    STRING get_name(void) { return name; }    void set_name( const STRING str ) { name = str; }    void set_referenced(void) { m_referenced = TRUE; }    void unset_referenced(void) { m_referenced = FALSE; }    const Boolean is_referenced(void) { return m_referenced; }        //    // Virtual functions common to all classes    //    virtual const uint get_sy_kind(void) { return bad_symbol; }    //    // Virtual functions for derived classes    //    // -- sym_scoped subclass    //    virtual void set_scope( pSym scope )    {	assert( FALSE );    }    //    // get_scope default class    //    // Return null if there is no scope, since this    // is one way to test this characteristic of    // a symbol.    virtual const pSym get_parent_scope(void)     {	return NULL;    }    //    // -- sym_const subclass    //    virtual void set_const( pConst c )    {	assert( FALSE );    }    virtual const pConst get_const(void)    {	assert( NULL );	return NULL;    }    //    // -- sym_type subclass    //    virtual void set_ty_type( pType t )     { 	assert( NULL );    } // set_type    virtual const pType get_ty_type(void)     { 	assert( FALSE );	return NULL;     } // get_type    //    // -- sym_ident subclass    //    virtual void set_alloc( uint alloc )    {	assert( FALSE );    } // set_offset    virtual const uint get_alloc(void)    {	assert( FALSE );	return 0;    }    virtual void set_id_kind( uint kind )    {	assert( FALSE );    }    virtual const uint get_id_kind(void)    {	assert( FALSE );	return 0;    }    virtual void set_id_type( pType t )     { 	assert( FALSE );    } // set_id_type    virtual const pType get_id_type(void)     { 	assert( FALSE );	return NULL;     }    //    // -- sym_scope subclass    //    virtual sym *LookupFromScope(STRING s)    {	assert( FALSE );	return NULL;    }    virtual sym *LookupFromScope(const char *pChar )    {	assert( FALSE );	return NULL;    }    virtual symtable *get_symtab(void)    {	assert( FALSE );	return NULL;    }    virtual typetable *get_typtab(void)    {	assert( FALSE );	return NULL;    }    virtual Boolean has_scope()    {	// return false for any symbol that is not of	// the sym_scope sub-class	return FALSE;    }    //    // -- sym_subprog subclass    //    virtual void set_statement( NODE *s )    {	assert( FALSE );    }    virtual const NODE *get_statement(void)    {	assert( FALSE );	return NULL;    }    virtual void set_func_type( pType t )    {	assert( FALSE );    }    virtual const pType get_func_type(void)    {	assert( FALSE );	return NULL;    }    //    // -- sym_component subclass    //    virtual void init(void)    {	// its ok to do nothing if there's nothing to initialize    }    virtual void dealloc(void)    {	// its ok to do nothing if there's nothing to deallocate    }    // Allocate memory from the pool that is local to the     // component.    virtual void *GetMem( uint num_bytes )    {	assert( FALSE );	return NULL;    }    virtual LIST<sym *> *get_proc_list(void)    {	assert( FALSE );	return NULL;    }    virtual LIST<NODE *> *get_sigass_list(void)    {	assert( FALSE );	return NULL;    }};  // class sym/**   This is a derived symbol class for named items that exist in   a scope.  These include:<ul><li>      identifiers</li><li>      subprograms (procedures and functions)</li><li>      instances (e.g., u1 : foo port map (...); has the name u1)</li></ul>   These items can all be found in a symbol table in their local   scope.   Subprograms not only have scope, but they also have an associated   synbol table.   Exceptions (e.g., objects that are NOT sym_scoped, but have scope               information)<ul><li><p>     Processes</p><p>       Although a process may have a name, its not clear that this       name is useful for anything, except adding code reability.  A       process is not looked up in the symbol table, so it is not a       sym_scoped object (or even a sym derived object).  But a       process _does_ have an associated symbol table.</p></li><li><p>     Packages</p><p>       A package has scope (e.g., local types, constants, etc).  But       packages are in the global scope.  Its not clear that packages       will survive after elaboration.</p.</li></ul> */class sym_scoped : public sym {private:    pSym parent_scope;public:    sym_scoped(STRING n) : sym( n )    { 	parent_scope = NULL;     }    sym_scoped()    {	parent_scope = NULL;    }    void set_scope( pSym scope )    {	parent_scope = scope;    }    const pSym get_parent_scope(void)     {	return parent_scope;    }}; // sym_scoped#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品福利网| 1024国产精品| 日韩av电影免费观看高清完整版| 欧洲一区在线观看| 夜夜精品视频一区二区 | 天天综合天天做天天综合| 91福利社在线观看| 亚洲成人久久影院| 日韩亚洲欧美在线观看| 另类小说综合欧美亚洲| 久久久久久久一区| hitomi一区二区三区精品| 一区二区在线观看视频| 欧美日韩精品一区二区三区四区 | 亚洲免费在线电影| 在线视频国内一区二区| 亚洲成人av一区二区三区| 日韩欧美成人一区| 国产黑丝在线一区二区三区| 国产精品入口麻豆原神| 在线观看免费一区| 毛片不卡一区二区| 国产精品久久久久久久久动漫| 在线观看国产精品网站| 美腿丝袜在线亚洲一区| 国产精品欧美精品| 欧美日韩一区二区三区免费看| 蜜臀va亚洲va欧美va天堂| 国产午夜精品一区二区三区嫩草| 91原创在线视频| 午夜精品久久久久久久久久| 久久婷婷久久一区二区三区| 91美女精品福利| 青青草97国产精品免费观看无弹窗版| 久久久亚洲欧洲日产国码αv| 一本色道**综合亚洲精品蜜桃冫| 免费成人小视频| 中文字幕一区二区三区在线观看 | 91在线视频在线| 蜜臀av在线播放一区二区三区| 国产欧美一区二区三区网站 | 国产日韩三级在线| 欧美性色黄大片| 国产成人欧美日韩在线电影| 亚洲成人免费av| 国产欧美日韩在线| 日韩一区二区三区四区五区六区| av中文字幕亚洲| 久久成人免费网| 亚洲国产欧美一区二区三区丁香婷| 久久久久久久久久久99999| 欧美日韩一区二区三区在线| 成人激情图片网| 美日韩黄色大片| 亚洲国产精品久久一线不卡| 国产精品久久久99| 久久亚洲影视婷婷| 日韩一区国产二区欧美三区| 日本乱人伦aⅴ精品| 丁香天五香天堂综合| 蜜乳av一区二区三区| 午夜久久久久久电影| 亚洲激情网站免费观看| 国产精品女人毛片| 26uuu精品一区二区| 欧美一级电影网站| 51精品视频一区二区三区| 在线观看一区日韩| 99re这里只有精品首页| 成人免费av资源| 国产老妇另类xxxxx| 狠狠久久亚洲欧美| 蜜臀久久久99精品久久久久久| 亚洲超碰97人人做人人爱| 伊人色综合久久天天| 最新热久久免费视频| 亚洲欧洲韩国日本视频| 国产精品系列在线| 国产精品色呦呦| 国产精品美女久久久久av爽李琼| 国产亚洲一区二区三区| 久久精品日韩一区二区三区| 欧美精品一区二区久久久| 精品久久久久久无| 亚洲精品一区二区三区四区高清 | 欧美成人bangbros| 日韩免费一区二区三区在线播放| 欧美一级二级在线观看| 精品粉嫩aⅴ一区二区三区四区| 日韩三级高清在线| 欧美精品一区二区三区在线播放| 久久精品夜色噜噜亚洲a∨| 国产午夜精品理论片a级大结局| 久久亚洲免费视频| 中文字幕va一区二区三区| 国产精品美女一区二区| 亚洲视频在线观看三级| 亚洲最新在线观看| 日韩高清在线不卡| 国精产品一区一区三区mba视频 | 日韩理论在线观看| 亚洲精品videosex极品| 丝袜亚洲另类欧美| 久久精品999| 丁香激情综合五月| 欧美丝袜第三区| 欧美一区二区日韩| 久久九九久久九九| 一区二区三区中文在线观看| 午夜精品在线看| 国产又黄又大久久| 91麻豆国产在线观看| 欧美精品乱码久久久久久| 精品福利av导航| 最新欧美精品一区二区三区| 视频一区视频二区中文| 国产电影精品久久禁18| 日本韩国欧美一区二区三区| 69久久99精品久久久久婷婷| 国产人伦精品一区二区| 洋洋av久久久久久久一区| 经典三级视频一区| 91小视频免费看| 日韩午夜激情免费电影| 亚洲婷婷在线视频| 另类小说一区二区三区| 一本一道久久a久久精品综合蜜臀| 欧美精品久久久久久久久老牛影院| 欧美精品一区二区三区在线| 亚洲一区二区在线观看视频 | 喷水一区二区三区| 99久久伊人久久99| 日韩一区二区三区四区| 亚洲女性喷水在线观看一区| 精品一区二区三区免费播放| 99久久精品国产精品久久| 日韩欧美一级特黄在线播放| 亚洲欧美日韩在线播放| 国产精品一区免费在线观看| 欧美日韩一级黄| 国产精品免费网站在线观看| 精品一二三四在线| 欧美日韩一区久久| 亚洲欧洲av色图| 国产九色精品成人porny | 久久在线免费观看| 天堂在线一区二区| 在线免费视频一区二区| 国产精品色一区二区三区| 九九**精品视频免费播放| 欧美日韩激情一区| 一区二区三区不卡视频在线观看 | av在线播放不卡| www久久精品| 麻豆成人综合网| 欧美日韩国产精品自在自线| 亚洲免费看黄网站| 国产成人精品www牛牛影视| 欧美不卡一区二区| 免费在线观看一区二区三区| 欧美日韩精品欧美日韩精品一| 亚洲精选在线视频| 99re热这里只有精品视频| 久久久久久久久一| 国产乱码精品一区二区三区av| 欧美刺激脚交jootjob| 日韩专区在线视频| 欧美人体做爰大胆视频| 亚洲成人免费视| 精品视频一区二区三区免费| 一区二区三区成人在线视频 | 欧美日韩在线三级| 亚洲最大的成人av| 欧美吻胸吃奶大尺度电影| 亚洲午夜一区二区三区| 欧美色图12p| 午夜av电影一区| 欧美电影在线免费观看| 视频一区二区国产| 69久久夜色精品国产69蝌蚪网| 无码av免费一区二区三区试看 | 成人性生交大片免费看中文网站| 国产亚洲女人久久久久毛片| 成人性色生活片免费看爆迷你毛片| 国产欧美精品区一区二区三区| 丁香天五香天堂综合| 亚洲麻豆国产自偷在线| 在线免费av一区| 日韩在线卡一卡二| 久久欧美一区二区| 成人性视频网站| 夜夜爽夜夜爽精品视频| 欧美一卡2卡三卡4卡5免费| 精品写真视频在线观看| 国产精品女主播av| 欧洲亚洲国产日韩| 蜜桃视频一区二区三区| 国产午夜精品一区二区三区视频 | 欧美精选一区二区| 精品午夜一区二区三区在线观看|