コード例 #1
0
ファイル: arch.c プロジェクト: dbunker/SABR
int main(int argc,char **argv){
	
	tempClausesFileGlobal = NULL;
	numClausesGlobal = 0;
	
	if(argc == 1){
		endHelp();
	}
	
	sabrDirGlobal = getDir(argv[0]);
	
	// current argument
	int a = processFlags(argc,argv);
	
	if(a >= argc || !atoi(argv[a])){
		endErrorMsg("Positive Integer Number Of Levels Must Be Input First");
	}
	
	curLineNumGlobal = 1;
	numStagesGlobal = atoi(argv[a]);
	inventNameNumGlobal = 0;
	endFileGlobal = 0;
	
	a++;
	if(a >= argc){
		endErrorMsg("Must Enter Source File");
	}
	
	char *file = argv[a];
	fileRead(file);
	
	a++;
	if(a != argc){
		endErrorMsg("Too Many Arguments");
	}
	
	initSym();

	yyparse();

	destroyLinked(symTableGlobal,freeSyms);
	// could use Malloc-L, Free-L and MemInfo to show no memory lost
	// should say: "Leak Size: 0"
	
	return 0;
}
コード例 #2
0
ファイル: arch.c プロジェクト: dioptre/SABR
int main(int argc,char **argv) {

    if(argc < 2 || !atoi(argv[1])) {
        printf("Error: Positive Integer Number Of Levels Must Be Input.\n");
        exit(0);
    }

    if(argc == 2)
        command = COMMAND_NONE;
    else if(argc == 3 && strcmp(argv[2],"-initial") == 0)
        command = COMMAND_INITIAL;
    else if(argc == 3 && strcmp(argv[2],"-debug") == 0)
        command = COMMAND_DEBUG;
    else if(argc == 3 && strcmp(argv[2],"-result") == 0)
        command = COMMAND_RESULT;
    else if(argc == 3 && strcmp(argv[2],"-all") == 0)
        command = COMMAND_ALL;
    else {
        printf("Error: Invalid Input.\n");
        exit(0);
    }

    curLineNum = 1;
    numStages = atoi(argv[1]);
    inventNameNum = 0;
    endFile = 0;

    initSym();
    printf("Start\n");

    yyparse();

    destroyLinked(symTable,freeSyms);
    // could use Malloc-L, Free-L and MemInfo to show no memory lost
    // should say: "Leak Size: 0"

    return 0;
}
コード例 #3
0
ファイル: tab.c プロジェクト: rob-w/picolisp
void initSymbols(void) {
    int i;

    Nil = symPtr(Avail),  Avail = Avail->car->car;  // Allocate 2 cells for NIL
    val(Nil) = tail(Nil) = val(Nil+1) = tail(Nil+1) = Nil;
    Zero = box(0);
    One = box(2);
    for (i = 0; i < IHASH; ++i)
        Intern[i] = Transient[i] = Nil;
    for (i = 0; i < EHASH; ++i)
        Extern[i] = Nil;
    initSym(mkStr(_OS), "*OS");
    DB    = initSym(Nil, "*DB");
    Meth  = initSym(box(num(doMeth)), "meth");
    Quote = initSym(box(num(doQuote)), "quote");
    T     = initSym(Nil, "T"),  val(T) = T;  // Last protected symbol

    mkExt(val(DB) = DbVal = consStr(DbTail = box('1')));
    Extern['1'] = cons(DbVal, Nil);

    Solo  = initSym(Zero, "*Solo");
    PPid  = initSym(Nil, "*PPid");
    Pid   = initSym(boxCnt(getpid()), "*Pid");
    At    = initSym(Nil, "@");
    At2   = initSym(Nil, "@@");
    At3   = initSym(Nil, "@@@");
    This  = initSym(Nil, "This");
    Dbg   = initSym(Nil, "*Dbg");
    Zap   = initSym(Nil, "*Zap");
    Ext   = initSym(Nil, "*Ext");
    Scl   = initSym(Zero, "*Scl");
    Class = initSym(Nil, "*Class");
    Run   = initSym(Nil, "*Run");
    Hup   = initSym(Nil, "*Hup");
    Sig1  = initSym(Nil, "*Sig1");
    Sig2  = initSym(Nil, "*Sig2");
    Up    = initSym(Nil, "^");
    Err   = initSym(Nil, "*Err");
    Msg   = initSym(Nil, "*Msg");
    Uni   = initSym(Nil, "*Uni");
    Led   = initSym(Nil, "*Led");
    Tsm   = initSym(Nil, "*Tsm");
    Adr   = initSym(Nil, "*Adr");
    Fork  = initSym(Nil, "*Fork");
    Bye   = initSym(Nil, "*Bye");  // Last unremovable symbol

    for (i = 0; i < (int)(sizeof(Symbols)/sizeof(symInit)); ++i)
        initSym(box(num(Symbols[i].code)), Symbols[i].name);
}