/* Weird token functions. */
enum token_type lex_look_ahead (struct lexer *);
void lex_put_back (struct lexer *, enum token_type);
-void lex_put_back_id (struct lexer *, const char *tokid);
/* Weird line processing functions. */
const char *lex_entire_line (const struct lexer *);
/* Token accessors */
enum token_type lex_token (const struct lexer *);
double lex_tokval (const struct lexer *);
-const char *lex_tokid (const struct lexer *);
-const struct string *lex_tokstr (const struct lexer *);
+const char *lex_tokcstr (const struct lexer *);
+struct substring lex_tokss (const struct lexer *);
/* Really weird functions. */
void lex_skip_comment (struct lexer *);