static inline uint8_t isdelm(char c, uint8_t dbg) { switch (c) { default : return 0x00; case '\0': case '\n': return 0x01; case ',' : return 0x02; case '\"': return 0x04; case '\'': return 0x08; case '\t': case ' ' : return 0x10; } } static inline uint8_t isdelm2(char c, uint8_t dbg) { switch (c) { default : return 0; case ')' : case ',' : case '.' : case '+' : case '<' : case '|' : case '>' : case '-' : case ':' : case '=' : case ';' : case '\0': case '\n': return 1; case '\t': case ' ' : return 2; } } static inline uint8_t get_ptok(char c, uint8_t dbg) { switch (c) { case '.' : return PTOK_DOT ; case '@' : return PTOK_AT ; case ':' : return PTOK_COLON ; case '=' : return PTOK_EQU ; case '+' : return PTOK_PLUS ; case '-' : return PTOK_MINUS ; case '>' : return PTOK_GT ; case '<' : return PTOK_LT ; case '|' : return PTOK_PIPE ; case '(' : return PTOK_LBRACK ; case ')' : return PTOK_RBRACK ; case ',' : return PTOK_COMMA ; case 'B': case 'b' : return PTOK_B ; case 'X': case 'x' : return PTOK_X ; case 'Y': case 'y' : return PTOK_Y ; case 'S': case 's' : return PTOK_S ; case 'P': case 'p' : return PTOK_P ; case '\"': return PTOK_DQUOTE ; case '\'': return PTOK_SQUOTE ; case '#' : return PTOK_HASH ; case ';' : return PTOK_SCOLON ; case '$' : return PTOK_DOLLAR ; case '%' : return PTOK_PERCENT; default : if (isdigit(c)) { return PTOK_NUMBER; } else if (isalpha(c) || c == '_') { return PTOK_ALPHA; } else { return PTOK_OTHER; } } } static inline uint8_t is_altok(uint8_t ptok, uint8_t dbg) { switch (ptok) { case PTOK_B: case PTOK_X: case PTOK_Y: case PTOK_S: case PTOK_P: return 1; default : return 0; } }