int parsermain() { ifp = fopen("lexemelist.txt", "r"); ofp = fopen("mcode.txt","w"); PROGRAM(); fclose(ifp); fclose(ofp); }
// kick off the parser logic, determine success APTNode* parse(void) { APTNode* programNode = PROGRAM(); if (strcmp(currentTok.sym, "EOFtk") == 0) { printf("Parse Completed Successfully.\n"); return programNode; } else errMsg("eoftk"); return NULL; }
int main(int argc, char *argv[]) { if (argc < 2) error(usage); if (*argv[1] == '-') { debug = 1; --argc; ++argv; } if (argc < 2) error(usage); openinfile(argv[1]); init(); if (!PROGRAM()) error("Syntax error"); fclose(inf); return 0; }
void PROGRAM(void){ /*PROGRAM ::= FUNCTIONDEFINITION PROGRAM | eof*/ switch (l){ case KW_BOOLEAN: case KW_FLOAT: case KW_INT: case KW_VOID: { /*expand the parse-tree node PROGRAM with the children (FUNCTIONDEFINITION, PROGRAM)*/ FUNCTIONDEFINITION(); PROGRAM(); return; } case EOF: { eat(EOF); /*Input is in the language. Terminating.*/ exit(0); } default: StdError(__func__); } }
int syntakticka_anal() { //pomocna funkce pro kontrolu cele syntakticke analyzy v main.c souboru int navrat; tokenInit(&token); token = getNextToken(); if(token.stav == s_lex_error) { navrat = S_LEXIKALNI_CHYBA; } else navrat = PROGRAM(); tokenFree(&token); if(navrat == S_BEZ_CHYB) { navrat = TestFunction(ptrhtGlobal); } return navrat; }
int parsermain(int argc, char** argv) { ifp = fopen("lexemelist.txt", "r"); ofp = fopen("mcode.txt","w"); //For command directive "-a" if(argc == 2) { if(!strcmp(argv[1],"print")) { consoleFlag = 1; } } PROGRAM(); fclose(ifp); fclose(ofp); }
int main(int argc, char* argv[]){ if (argc < 2) yyin = stdin; else { yyin = fopen(argv[1], "r"); if (yyin == NULL) { fprintf(stderr, "Fehler: Konnte Datei %s nicht zum lesen oeffnen.\n", argv[1]); exit(-1); } } /*initialize the lookahead to the first two terminals; or to the first terminal and -1 if the first terminal is EOF*/ move_lookahead_ahead(); move_lookahead_ahead(); /*recursive descent begins here*/ PROGRAM(); /*this is never executed*/ fprintf(stderr, "BUG: This line should never be executed.\n"); return 666; }
/*====================================================================*/ int linkCommarea(DFHEIBLK *inDfheiptr, TraceParms* inTraceParms, CICSProgramDesc* pProgramDesc, Message* pRequestMessage, Message* pResponseMessage) { char* inputContent; dfheiptr = inDfheiptr; g_pTraceParms = inTraceParms; initLog(dfheiptr, inTraceParms); if (g_pTraceParms->traceMode == TRUE_CODE) { traceMessage(MODULE_NAME, "Entered linkCommarea"); } if (OK_CODE != checkCommarea(pProgramDesc, pRequestMessage)) { return ERROR_CODE; } /* The commarea expected by the target program might be larger * than the content of the incoming message part. In this case, * we need to rebuild the commarea. */ if (pProgramDesc->CICSLength > pRequestMessage->pParts->size.as_int) { reallocContent(pProgramDesc, pRequestMessage->pParts); } inputContent = pRequestMessage->pParts->content; /* COMMENT OUT UNLESS STORAGE DEBUGGING sprintf(g_traceMessage, "Storage before LINK PROGRAM(%s)", pProgramDesc->CICSProgram); traceMessage(MODULE_NAME, g_traceMessage); traceStorage(); */ /* Now link to CICS program and check for errors */ if (strlen(pProgramDesc->CICSSysID) == 0) { if (FALSE_CODE == pProgramDesc->CICSSyncOnReturn) { if (strlen(pProgramDesc->CICSTransID) == 0) { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) RESP(g_cicsResp) RESP2(g_cicsResp2); } else { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) TRANSID(pProgramDesc->CICSTransID) RESP(g_cicsResp) RESP2(g_cicsResp2); } } else { if (strlen(pProgramDesc->CICSTransID) == 0) { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) SYNCONRETURN RESP(g_cicsResp) RESP2(g_cicsResp2); } else { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) TRANSID(pProgramDesc->CICSTransID) SYNCONRETURN RESP(g_cicsResp) RESP2(g_cicsResp2); } } } else { if (FALSE_CODE == pProgramDesc->CICSSyncOnReturn) { if (strlen(pProgramDesc->CICSTransID) == 0) { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) SYSID(pProgramDesc->CICSSysID) RESP(g_cicsResp) RESP2(g_cicsResp2); } else { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) SYSID(pProgramDesc->CICSSysID) TRANSID(pProgramDesc->CICSTransID) RESP(g_cicsResp) RESP2(g_cicsResp2); } } else { if (strlen(pProgramDesc->CICSTransID) == 0) { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) SYSID(pProgramDesc->CICSSysID) SYNCONRETURN RESP(g_cicsResp) RESP2(g_cicsResp2); } else { EXEC CICS LINK PROGRAM(pProgramDesc->CICSProgram) COMMAREA(inputContent) LENGTH(pProgramDesc->CICSLength) DATALENGTH(pProgramDesc->CICSDataLength) SYSID(pProgramDesc->CICSSysID) TRANSID(pProgramDesc->CICSTransID) SYNCONRETURN RESP(g_cicsResp) RESP2(g_cicsResp2); } } } if (g_cicsResp != DFHRESP(NORMAL)) { logCicsError(MODULE_NAME, "LINK COMMAREA", g_cicsResp,g_cicsResp2); return ERROR_CODE; } /* COMMENT OUT UNLESS STORAGE DEBUGGING sprintf(g_traceMessage, "Storage after LINK PROGRAM(%s)", pProgramDesc->CICSProgram); traceMessage(MODULE_NAME, g_traceMessage); traceStorage(); */ if (OK_CODE != formatCommareaResponse( pProgramDesc, pRequestMessage, pResponseMessage)) { return ERROR_CODE; } if (g_pTraceParms->traceMode == TRUE_CODE) { traceMessage(MODULE_NAME, "Return from linkCommarea"); } return OK_CODE; }