Пример #1
0
int processFlags(int argc,char **argv){

	int a=1;
	flagGlobal = FLAG_RUN;

	// while processing flags
	while(a < argc && argv[a][0] == '-' && argv[a][1] == '-'){
	
		if(strcmp(argv[a],"--help") == 0){
			endHelp();
		}
		else if(strcmp(argv[a],"--debug") == 0){	
			flagGlobal = FLAG_DEBUG;
		}
		else if(strcmp(argv[a],"--cnf") == 0){		
			flagGlobal = FLAG_CNF;
		}
		else if(strcmp(argv[a],"--result") == 0){	
			flagGlobal = FLAG_RESULT;
		}
		else{
			endErrorMsg("Invalid Flag");
		}
		a++;
	}
	
	return a;
}
INT main(VOID) {
   HWND hwnd;
   HAB hab;
   HMQ hmq;
   QMSG qmsg;
   HWND hHlp;

   hmq = WinCreateMsgQueue(hab = WinInitialize(0), 0);
   hwnd = WinLoadDlg(HWND_DESKTOP,  // parent
                     NULLHANDLE,    // owner
                     dlgProc,       // dialog window proc
                     NULLHANDLE,    // module handle
                     ID_MAIN,      // dialog template ID
                     NULL);         // application data pointer

   if (hwnd) {
      hHlp = initHelp(hwnd);
      while (WinGetMsg(hab, &qmsg, NULLHANDLE, 0, 0))
         WinDispatchMsg(hab, &qmsg);
      endHelp(hwnd, hHlp);
   }

   WinDestroyWindow(hwnd);
   WinDestroyMsgQueue(hmq);
   WinTerminate(hab);
   return 0;
} /* end main */
Пример #3
0
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;
}