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

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

?? cgcmain.c

?? nVidia開發的圖形語言 Cg
?? C
字號:
/****************************************************************************\
Copyright (c) 2002, NVIDIA Corporation.

NVIDIA Corporation("NVIDIA") supplies this software to you in
consideration of your agreement to the following terms, and your use,
installation, modification or redistribution of this NVIDIA software
constitutes acceptance of these terms.  If you do not agree with these
terms, please do not use, install, modify or redistribute this NVIDIA
software.

In consideration of your agreement to abide by the following terms, and
subject to these terms, NVIDIA grants you a personal, non-exclusive
license, under NVIDIA's copyrights in this original NVIDIA software (the
"NVIDIA Software"), to use, reproduce, modify and redistribute the
NVIDIA Software, with or without modifications, in source and/or binary
forms; provided that if you redistribute the NVIDIA Software, you must
retain the copyright notice of NVIDIA, this notice and the following
text and disclaimers in all such redistributions of the NVIDIA Software.
Neither the name, trademarks, service marks nor logos of NVIDIA
Corporation may be used to endorse or promote products derived from the
NVIDIA Software without specific prior written permission from NVIDIA.
Except as expressly stated in this notice, no other rights or licenses
express or implied, are granted by NVIDIA herein, including but not
limited to any patent rights that may be infringed by your derivative
works or by other works in which the NVIDIA Software may be
incorporated. No hardware is licensed hereunder. 

THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER
PRODUCTS.

IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT,
INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY
OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE
NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT,
TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\****************************************************************************/

//
// cgcmain.c
//

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "slglobals.h"

// Profile registration functions:

int RegisterProfiles_generic(void);

static int (*RegistrationFunctions[])(void) = {
    RegisterProfiles_generic,
};

int CommandLineArgs(int argc, char **argv, int pass);

int main(int argc, char **argv)
{
    const char *copyright = "(c) 2001-2002 NVIDIA Corp.";
    int numerrors, ii;

    if (!InitCgStruct()) {
        return 1;
    }
    if (!CommandLineArgs(argc, argv, 0))
        return 1;
    if (!InitAtomTable(atable, 0)) {
        printf(OPENSL_TAG ": atom table initialization failed.\n");
        return 1;
    }
    if (!InitScanner(Cg))
        return 1;
    for (ii = 0; ii < sizeof(RegistrationFunctions)/sizeof(RegistrationFunctions[0]); ii++)
        RegistrationFunctions[ii]();
    if (!CommandLineArgs(argc, argv, 1))
        return 1;
    if (!InitTokenStreams(Cg))
        return 1;
    if (!InitSymbolTable(Cg))
        return 1;
    if (!SetInputFile(Cg->options.sourceFileName))
        return 1;
    if (Cg->options.PrintVersion) {
        printf(OPENSL_TAG ": version %d.%d.%04d%s, build date %s %s.\n",
            HSL_VERSION, HSL_SUB_VERSION, HSL_SUB_SUB_VERSION, NDA_STRING, Build_Date, Build_Time);
    }
#if defined(CGC_ENABLE_TOOLS)
    if (Cg->options.Tokenize) {
        TokenizeInput();
    } else
#endif // defined(CGC_ENABLE_TOOLS)
    {
        if (!OpenListFile())
            return 1;
        if (!OpenOutputFile())
            return 1;
        PrintOptions(argc, argv);
        if (!Cg->options.NoStdlib) {
            if (!ReadFromTokenStream(&stdlib_cg_stream,
                                     LookUpAddString(atable, "<stdlib>"),
                                     StartGlobalScope))
            {
                return 1;
            }
        } else
            StartGlobalScope(Cg);
        #if defined(_DEBUG) || defined(__GNUC__)
            yyparse();
        #else
            __try {
                yyparse();
            } __except(1) {
                FatalError("*** exception during compilation ***");
            }
        #endif
        CompileProgram(Cg, Cg->tokenLoc, CurrentScope);
        numerrors = FreeScanner(Cg);
        while (CurrentScope) {
            if (Cg->options.DumpParseTree)
                PrintScopeDeclarations();
            PopScope();
        }
        if (Cg->options.DumpAtomTable)
            PrintAtomTable(atable);
    }
    FreeSymbolTable(Cg);
    FreeAtomTable(atable);
    CloseOutputFiles("End of program");
    return numerrors;
} // main

void PrintHelp()
{
    slProfile *lProfile;
    int ii;

    printf("usage: cgc [-quiet] [-nocode] [-nostdlib] [-longprogs] [-v] [-Dmacro[=value]] \n           [-profile id] [-entry id] [-o ofile] [file.cg]\n");
#if defined(CGC_DEBUG_THE_COMPILER)
    printf("           [-atom] [-scan] [-tree] [-node] [-final] [-trap] [-comments] [-cdbg0]\n");
#endif
    printf("supported profiles:\n");
    ii = 0;
    while ((lProfile = EnumerateProfiles(ii++)))
        printf("    \"%s\"\n", GetAtomString(atable, lProfile->name));
} // PrintHelp

int CommandLineArgs(int argc, char **argv, int pass)
{
    int ii;

    for (ii = 1; ii < argc; ii++) {
        if (argv[ii][0] == '-') {
            if (!strcmp(argv[ii], "-debug")) {
                if (pass == 0)
                    Cg->options.DebugMode = 1;
            } else if (!strcmp(argv[ii], "-quiet") || !strcmp(argv[ii], "-q")) {
                if (pass == 0)
                    Cg->options.Quiet = 1;
            } else if (!strcmp(argv[ii], "-nocode")) {
                if (pass == 0)
                    Cg->options.NoCodeGen = 1;
            } else if (!strcmp(argv[ii], "-nowarn")) {
                if (pass == 0)
                    Cg->options.NoWarnings = 1;
            } else if (!strcmp(argv[ii], "-nostdlib")) {
                if (pass == 0)
                    Cg->options.NoStdlib = 1;
            } else if (!strcmp(argv[ii], "-error")) {
                if (pass == 0)
                    Cg->options.ErrorMode = 1;
            } else if (!strcmp(argv[ii], "-longprogs")) {
                if (pass == 0)
                    Cg->options.AllowLongPrograms = 1;
            } else if (!strcmp(argv[ii], "-posinv")) {
                if (pass == 0)
                    Cg->options.PositionInvariant = 1;
            } else if (!strcmp(argv[ii], "-v")) {
                if (pass == 0)
                    Cg->options.PrintVersion = 1;
#if defined(CGC_ENABLE_TOOLS)
            } else if (!strcmp(argv[ii], "-tokenize")) {
                if (pass == 0)
                    Cg->options.Tokenize = 1;
#endif // defined(CGC_ENABLE_TOOLS)
#if defined(CGC_DEBUG_THE_COMPILER)
            } else if (!strcmp(argv[ii], "-atom")) {
                if (pass == 0)
                    Cg->options.DumpAtomTable = 1;
            } else if (!strcmp(argv[ii], "-scan")) {
                if (pass == 0)
                    Cg->options.TraceScanner = 1;
            } else if (!strcmp(argv[ii], "-tree")) {
                if (pass == 0)
                    Cg->options.DumpParseTree = 1;
            } else if (!strcmp(argv[ii], "-node")) {
                if (pass == 0)
                    Cg->options.DumpNodeTree = 1;
            } else if (!strcmp(argv[ii], "-final")) {
                if (pass == 0)
                    Cg->options.DumpFinalTree = 1;
            } else if (!strcmp(argv[ii], "-trap")) {
                if (pass == 0)
                    Cg->options.TrapOnError = 1;
            } else if (!strcmp(argv[ii], "-comments")) {
                if (pass == 0)
                    Cg->options.Comments = 1;
            } else if (!strcmp(argv[ii], "-cdbg0")) {
                if (pass == 0)
                    Cg->DebugLevel = 0;
            } else if (!strcmp(argv[ii], "-cdbg1")) {
                if (pass == 0)
                    Cg->DebugLevel = 1;
            } else if (!strcmp(argv[ii], "-cdbg2")) {
                if (pass == 0)
                    Cg->DebugLevel = 2;
            } else if (!strcmp(argv[ii], "-cdbg3")) {
                if (pass == 0)
                    Cg->DebugLevel = 3;
#endif // defined(CGC_DEBUG_THE_COMPILER)
            } else if (!strcmp(argv[ii], "-o")) {
                ii++;
                if (pass == 0) {
                    if (ii < argc) {
                        Cg->options.outputFileName = argv[ii];
                    } else {
                        printf(OPENSL_TAG ": missing output file after \"-o\"\n");
                        return 0;
                    }
                }
            } else if (!strcmp(argv[ii], "-l")) {
                ii++;
                if (pass == 0) {
                    if (ii < argc) {
                        Cg->options.listFileName = argv[ii];
                    } else {
                        printf(OPENSL_TAG ": missing listing file after \"-l\"\n");
                        return 0;
                    }
                }
            } else if (!strcmp(argv[ii], "-help") || !strcmp(argv[ii], "-h")) {
                if (pass == 1)
                    PrintHelp();
            } else if (!strcmp(argv[ii], "-profile")) {
                ii++;
                if (pass == 0) {
                    if (ii < argc) {
                        if (Cg->options.profileString) {
                            printf(OPENSL_TAG ": multiple profiles\n");
                            return 0;
                        }
                        Cg->options.profileString = argv[ii];
                    } else {
                        printf(OPENSL_TAG ": missing profile name after \"-profile\"\n");
                        return 0;
                    }
                }
            } else if (!strcmp(argv[ii], "-entry")) {
                ii++;
                if (pass == 0) {
                    if (ii < argc) {
                        if (Cg->options.entryName) {
                            printf(OPENSL_TAG ": multiple entries\n");
                            return 0;
                        }
                        Cg->options.entryName = argv[ii];
                    } else {
                        printf(OPENSL_TAG ": missing entry name after \"-entry\"\n");
                        return 0;
                    }
                }
            } else if (argv[ii][1] == 'D') {
                if (pass == 1) {
                    if (!PredefineMacro(argv[ii]+2)) {
                        printf(OPENSL_TAG ": bad argument: \"%s\"\n", argv[ii]);
                        return 0;
                    }
                }
            } else {
                if (pass == 1) {
                    printf(OPENSL_TAG ": bad argument: \"%s\"\n", argv[ii]);
                    PrintHelp();
                    return 0;
                }
            }
        } else {
            if (pass == 1) {
                if (Cg->options.sourceFileName) {
                    printf(OPENSL_TAG ": multiple input files: \"%s\" \"%s\" ...\n",
                            Cg->options.sourceFileName, argv[ii]);
                    return 0;
                } else {
                    Cg->options.sourceFileName = argv[ii];
                }
            }
        }
    }
    if (pass == 0) {
        if (Cg->options.profileString == NULL) {
            Cg->options.profileString = "generic";
        }
        if (Cg->options.entryName == NULL)
            Cg->options.entryName = "main";
    }
    if (pass == 1) {
        if (!InitHAL(Cg->options.profileString, Cg->options.entryName)) {
            printf(OPENSL_TAG ": hal initialization failure.\n");
            return 0;
        }
    }
    return 1;
} // CommandLineArgs

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区四区 | 成人高清视频免费观看| 91精品欧美综合在线观看最新| 亚洲aaa精品| 日韩午夜激情视频| 懂色中文一区二区在线播放| 中文字幕不卡在线| 91蝌蚪porny| 日韩国产高清在线| 久久免费看少妇高潮| 成人av网址在线| 午夜私人影院久久久久| 精品国偷自产国产一区| 成人av电影在线观看| 亚洲成av人片在www色猫咪| 日韩欧美一级在线播放| 国产成人午夜高潮毛片| 亚洲精品一二三| 91精品在线免费观看| 狠狠色丁香九九婷婷综合五月| 国产无一区二区| 欧美四级电影网| 国产精品一区二区不卡| 一区二区三区四区精品在线视频| 91精品啪在线观看国产60岁| 国产成人免费av在线| 一区二区三区在线播放| 久久青草国产手机看片福利盒子 | 欧美变态凌虐bdsm| 99久久国产免费看| 久久国内精品自在自线400部| 国产精品久久久久aaaa樱花 | 日韩美女主播在线视频一区二区三区| 国产精品一级二级三级| 亚洲国产精品自拍| 国产精品私房写真福利视频| 777午夜精品视频在线播放| 懂色一区二区三区免费观看| 日韩av网站在线观看| 国产精品色一区二区三区| 在线不卡a资源高清| 成人免费av资源| 精品一区二区日韩| 亚洲3atv精品一区二区三区| 国产精品嫩草影院av蜜臀| 91精品国产全国免费观看| 一本色道久久综合精品竹菊| 国产精品自在在线| 日本特黄久久久高潮| 亚洲综合在线电影| 中文字幕一区二区三区视频| 26uuu欧美日本| 91精品午夜视频| 欧美日韩一区二区三区免费看| 国产福利一区二区| 国模冰冰炮一区二区| 日韩激情一二三区| 亚洲图片欧美色图| 亚洲伦理在线免费看| 中国av一区二区三区| 午夜精品免费在线观看| 亚洲天堂网中文字| ㊣最新国产の精品bt伙计久久| 精品福利一区二区三区| 日韩一级精品视频在线观看| 在线亚洲+欧美+日本专区| 91玉足脚交白嫩脚丫在线播放| 国产精品一线二线三线精华| 久久99精品国产| 久久精品国产99国产精品| 免费美女久久99| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲国产综合在线| 亚洲bdsm女犯bdsm网站| 午夜视频在线观看一区| 五月激情综合网| 首页国产丝袜综合| 全国精品久久少妇| 麻豆国产91在线播放| 美女国产一区二区三区| 久久精品国产澳门| 国产永久精品大片wwwapp| 韩国三级中文字幕hd久久精品| 久久99热99| 国产精品456露脸| 成人小视频免费在线观看| 成人免费观看视频| 在线一区二区三区四区五区| 欧美三级视频在线| 欧美一级在线视频| 久久久美女毛片| 中文字幕五月欧美| 亚洲一区二区美女| 美脚の诱脚舐め脚责91 | 亚洲四区在线观看| 亚洲国产一区二区三区| 日本一不卡视频| 国模一区二区三区白浆| 国产suv精品一区二区三区| aaa欧美日韩| 欧美天天综合网| 久久蜜臀精品av| 一区二区三区毛片| 蜜臀av性久久久久蜜臀aⅴ流畅| 韩国v欧美v亚洲v日本v| 99精品久久99久久久久| 欧美丝袜自拍制服另类| 欧美一区二区网站| 国产亚洲欧美色| 一区二区三区在线观看欧美| 男男视频亚洲欧美| 丰满岳乱妇一区二区三区| 91福利社在线观看| xnxx国产精品| 亚洲精品国产精华液| 免费观看在线综合| 97久久人人超碰| 日韩一区二区视频在线观看| 国产精品全国免费观看高清| 亚洲曰韩产成在线| 国产麻豆精品95视频| 欧美性做爰猛烈叫床潮| 精品福利av导航| 一区二区三区欧美| 国产风韵犹存在线视精品| 91成人在线免费观看| 久久久另类综合| 日韩国产欧美在线观看| 成人美女视频在线观看18| 欧美一级片在线看| 亚洲免费三区一区二区| 国产精品一区二区在线播放| 欧美日韩国产影片| 国产精品国产三级国产普通话蜜臀 | 久久伊人中文字幕| 亚洲黄一区二区三区| 国产成人在线看| 欧美肥妇毛茸茸| 亚洲伦在线观看| 成人av网址在线| 久久综合久久久久88| 日韩精品一级中文字幕精品视频免费观看 | 欧美三级中文字幕| 亚洲欧美日韩在线不卡| 国产suv精品一区二区883| 日韩免费视频一区二区| 天天亚洲美女在线视频| 欧美自拍偷拍一区| 一个色在线综合| 91视频在线观看免费| 国产亚洲人成网站| 韩国女主播成人在线| 欧美一区日韩一区| 肉肉av福利一精品导航| 欧美日韩国产精品自在自线| 亚洲最快最全在线视频| 色综合av在线| 亚洲免费观看高清完整| 99国产精品一区| 亚洲欧美日韩小说| 91蝌蚪porny| 亚洲小说欧美激情另类| 日本高清免费不卡视频| 悠悠色在线精品| 欧洲av在线精品| 亚洲高清一区二区三区| 欧美日韩精品欧美日韩精品| 亚洲一区二区三区四区在线免费观看 | 日产欧产美韩系列久久99| 在线电影院国产精品| 天堂精品中文字幕在线| 91精品中文字幕一区二区三区| 首页国产欧美日韩丝袜| 日韩三级视频中文字幕| 久久激五月天综合精品| 久久综合久久综合久久| 福利91精品一区二区三区| 中文一区在线播放| 色综合网色综合| 亚洲国产成人va在线观看天堂| 欧美久久一二三四区| 精品一区二区免费视频| 国产欧美一区在线| 一本大道综合伊人精品热热| 亚洲一线二线三线久久久| 在线观看91av| 国产精品影视天天线| 亚洲少妇中出一区| 欧美日韩你懂得| 国产在线播放一区二区三区| 国产精品久久久久久久久免费相片 | 久久精品在这里| 成人ar影院免费观看视频| 亚洲摸摸操操av| 制服视频三区第一页精品| 久久国产精品99久久久久久老狼 | 99视频一区二区| 午夜欧美视频在线观看| 亚洲一本大道在线| 日韩欧美在线影院|