// this is just a very basic method, not 100% shell compatible static char* getword(char** ptr) { *ptr = skipspace(*ptr); if(**ptr == '"') return getstring(ptr); return getliteral(ptr); }
WORD getadr(const char *prog, const char *str, PASS pass) { WORD adr = 0; if(str[0] == '=') { adr = getliteral(str, pass); } else if(isdigit(str[0]) || str[0] == '-' || str[0] == '#') { adr = nh2word(str); } else { if(pass == SECOND) { if((adr = getlabel(prog, str)) == 0xFFFF) { setcerr(103, str); /* label not found */ } } } return adr; }