⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 semantic.c

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
    return( currflags );
}

void SemCheckMemFlags( FullMemFlags * currflags, ResMemFlags loadopts,
            ResMemFlags memopts, ResMemFlags pureopts )
/********************************************************************/
{
    if (!currflags->loadOptGiven) {
        currflags->flags |= loadopts;
    }
    if (!currflags->memOptGiven) {
        currflags->flags |= memopts;
    }
    if (!currflags->purityOptGiven) {
        currflags->flags |= pureopts;
    }

    /* If the user set the resource to be IMPURE but doesn't give a mem option*/
    /* set the resource to be non-discardable. */
    /* This seems to be what Microsoft is doing (test this with the sample */
    /* program clock). */
    if (currflags->purityOptGiven && !currflags->memOptGiven) {
        if (!(currflags->flags & MEMFLAG_PURE)) {
            currflags->flags &= ~MEMFLAG_DISCARDABLE;
        }
    }
}

extern char *SemTokenToString( uint_8 token )
/********************************************/
{
    switch (token) {
    case Y_LPAREN:
        return( "(" );
        break;
    case Y_RPAREN:
        return( ")" );
        break;
    case Y_LSQ_BRACKET:
        return( "[" );
        break;
    case Y_RSQ_BRACKET:
        return( "]" );
        break;
    case Y_PLUS:
        return( "+" );
        break;
    case Y_MINUS:
        return( "-" );
        break;
    case Y_BITNOT:
        return( "~" );
        break;
    case Y_NOT:
        return( "!" );
        break;
    case Y_TIMES:
        return( "*" );
        break;
    case Y_DIVIDE:
        return( "/" );
        break;
    case Y_MOD:
        return( "%" );
        break;
    case Y_SHIFTL:
        return( "<<" );
        break;
    case Y_SHIFTR:
        return( ">>" );
        break;
    case Y_GT:
        return( ">" );
        break;
    case Y_LT:
        return( "<" );
        break;
    case Y_GE:
        return( ">=" );
        break;
    case Y_LE:
        return( "<=" );
        break;
    case Y_EQ:
        return( "==" );
        break;
    case Y_NE:
        return( "!=" );
        break;
    case Y_BITAND:
        return( "&" );
        break;
    case Y_BITXOR:
        return( "^" );
        break;
    case Y_BITOR:
        return( "|" );
        break;
    case Y_AND:
        return( "&&" );
        break;
    case Y_OR:
        return( "||" );
        break;
    case Y_QUESTION:
        return( "?" );
        break;
    case Y_COLON:
        return( ":" );
        break;
    case Y_COMMA:
        return( "," );
        break;
    case Y_ACCELERATORS:
        return( "accelerators" );
        break;
    case Y_ALT:
        return( "alt" );
        break;
    case Y_ASCII:
        return( "ascii" );
        break;
    case Y_AUTO3STATE:
        return( "auto3state" );
        break;
    case Y_AUTOCHECKBOX:
        return( "autocheckbox" );
        break;
    case Y_AUTORADIOBUTTON:
        return( "autoradiobutton" );
        break;
    case Y_BEGIN:
        return( "begin" );
        break;
    case Y_BITMAP:
        return( "bitmap" );
        break;
    case Y_BLOCK:
        return( "block" );
        break;
    case Y_BUTTON:
        return( "button" );
        break;
    case Y_CAPTION:
        return( "caption" );
        break;
    case Y_CHARACTERISTICS:
        return( "characteristics" );
        break;
    case Y_CHECKBOX:
        return( "checkbox" );
        break;
    case Y_CHECKED:
        return( "checked" );
        break;
    case Y_CLASS:
        return( "class" );
        break;
    case Y_CODEPAGE:
        return( "code_page" );
        break;
    case Y_COMBOBOX:
        return( "combobox" );
        break;
    case Y_CONTROL:
        return( "control" );
        break;
    case Y_CTEXT:
        return( "ctext" );
        break;
    case Y_CURSOR:
        return( "cursor" );
        break;
    case Y_DEFPUSHBUTTON:
        return( "defpushbutton" );
        break;
    case Y_DIALOG:
        return( "dialog" );
        break;
    case Y_DISCARDABLE:
        return( "discardable" );
        break;
    case Y_EDIT:
        return( "edit" );
    case Y_EDITTEXT:
        return( "edittext" );
        break;
    case Y_END:
        return( "end" );
        break;
    case Y_ERRTABLE:
        return( "errtable" );
        break;
    case Y_EXSTYLE:
        return( "exstyle" );
        break;
    case Y_FILEFLAGS:
        return( "fileflags" );
        break;
    case Y_FILEFLAGSMASK:
        return( "fileflagsmask" );
        break;
    case Y_FILEOS:
        return( "fileos" );
        break;
    case Y_FILESUBTYPE:
        return( "filesubtype" );
        break;
    case Y_FILETYPE:
        return( "filetype" );
        break;
    case Y_FILEVERSION:
        return( "fileversion" );
        break;
    case Y_FIXED:
        return( "fixed" );
        break;
    case Y_FONT:
        return( "font" );
        break;
    case Y_GRAYED:
        return( "grayed" );
        break;
    case Y_GROUPBOX:
        return( "groupbox" );
        break;
    case Y_HELP:
        return( "help" );
        break;
    case Y_ICON:
        return( "icon" );
        break;
    case Y_IMPURE:
        return( "impure" );
        break;
    case Y_INACTIVE:
        return( "inactive" );
        break;
    case Y_LANGUAGE:
        return( "language" );
        break;
    case Y_LISTBOX:
        return( "listbox" );
        break;
    case Y_LOADONCALL:
        return( "loadoncall" );
        break;
    case Y_LTEXT:
        return( "ltext" );
        break;
    case Y_MENU:
        return( "menu" );
        break;
    case Y_MENUBARBREAK:
        return( "menubarbreak" );
        break;
    case Y_MENUBREAK:
        return( "menubreak" );
        break;
    case Y_MENUITEM:
        return( "menuitem" );
        break;
    case Y_MESSAGETABLE:
        return( "messagetable" );
        break;
    case Y_MOVEABLE:
        return( "moveable" );
        break;
    case Y_NOINVERT:
        return( "noinvert" );
        break;
    case Y_OWNERDRAW:
        return( "ownerdraw" );
        break;
    case Y_POPUP:
        return( "popup" );
        break;
    case Y_POUND_PRAGMA:
        return( "#pragma" );
        break;
    case Y_PRELOAD:
        return( "preload" );
        break;
    case Y_PRODUCTVERSION:
        return( "productversion" );
        break;
    case Y_PURE:
        return( "pure" );
        break;
    case Y_PUSHBUTTON:
        return( "pushbutton" );
        break;
    case Y_RADIOBUTTON:
        return( "radiobutton" );
        break;
    case Y_RCDATA:
        return( "rcdata" );
        break;
    case Y_RCINCLUDE:
        return( "rcinclude" );
        break;
    case Y_RTEXT:
        return( "rtext" );
        break;
    case Y_SCROLLBAR:
        return( "scrollbar" );
        break;
    case Y_SEPARATOR:
        return( "separator" );
        break;
    case Y_SHIFT:
        return( "shift" );
        break;
    case Y_STATE3:
        return( "state3" );
        break;
    case Y_STATIC:
        return( "static" );
    case Y_STRINGTABLE:
        return( "stringtable" );
        break;
    case Y_STYLE:
        return( "style" );
        break;
    case Y_VALUE:
        return( "value" );
        break;
    case Y_VERSION:
        return( "version" );
        break;
    case Y_VERSIONINFO:
        return( "versioninfo" );
        break;
    case Y_VIRTKEY:
        return( "virtkey" );
        break;
    case 0:
        return( "end of file" );
        break;
    default:
        return( "" );
        break;
    }
}

extern void SemanticInitStatics( void )
/*************************************/
{
    memset( &curLang, 0, sizeof( WResLangType ) );
    resourceHasLang = 0;
    memset( &resourceLang, 0, sizeof( WResLangType ) );
    MSFormatHandle = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -