void daplexinit(char* input, DAPlexstate** lexstatep) { DAPlexstate* lexstate = (DAPlexstate*)malloc(sizeof(DAPlexstate)); if(lexstatep) *lexstatep = lexstate; if(lexstate == NULL) return; memset((void*)lexstate,0,sizeof(DAPlexstate)); lexstate->input = strdup(input); lexstate->next = lexstate->input; lexstate->yytext = ocbytesnew(); lexstate->reclaim = oclistnew(); dapsetwordchars(lexstate,0); /* Assume DDS */ }
/* Use the initial keyword to indicate what we are parsing */ void dap_tagparse(DAPparsestate* state, int kind) { switch (kind) { case SCAN_DATASET: case SCAN_ERROR: break; case SCAN_ATTR: dapsetwordchars(state->lexstate,1); break; default: fprintf(stderr,"tagparse: Unknown tag argument: %d\n",kind); } }