X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Flexer.h;h=86bb4f2b5dadd2089d0c6ec4d175b5fe67fb648d;hb=c94be33beb7085e1cbb1ec47f0e3a49c896d443b;hp=caf57503317973788122afd42367d0a4eeaf1b1f;hpb=6e0b939b8b107b911275b616f2cef6773a523d9f;p=pspp diff --git a/src/language/lexer/lexer.h b/src/language/lexer/lexer.h index caf5750331..86bb4f2b5d 100644 --- a/src/language/lexer/lexer.h +++ b/src/language/lexer/lexer.h @@ -29,6 +29,7 @@ #include "libpspp/prompt.h" struct lexer; +struct macro; /* Handling of errors. */ enum lex_error_mode @@ -90,6 +91,9 @@ struct lex_reader *lex_reader_for_substring_nocopy (struct substring, const char struct lexer *lex_create (void); void lex_destroy (struct lexer *); +/* Macros. */ +void lex_define_macro (struct lexer *, struct macro *); + /* Files. */ void lex_include (struct lexer *, struct lex_reader *); void lex_append (struct lexer *, struct lex_reader *); @@ -142,6 +146,10 @@ const char *lex_next_tokcstr (const struct lexer *, int n); double lex_next_tokval (const struct lexer *, int n); struct substring lex_next_tokss (const struct lexer *, int n); +/* Token representation. */ +struct substring lex_next_representation (const struct lexer *, + int n0, int n1); + /* Current position. */ int lex_get_first_line_number (const struct lexer *, int n); int lex_get_last_line_number (const struct lexer *, int n);