lexer: Remove unused function lex_put_back_id().
[pspp-builds.git] / src / language / lexer / lexer.h
index 44be0e930d41fa2be6e2c78b8a70202698c8b92e..1abefb6b623fb30acc42ca4c05a6da27227bd8ce 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2010 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -30,8 +30,10 @@ struct lexer;
 struct lexer * lex_create (struct source_stream *);
 void lex_destroy (struct lexer *);
 
+/* State accessors */
 struct source_stream * lex_get_source_stream (const struct lexer *);
-
+enum syntax_mode lex_current_syntax_mode (const struct lexer *);
+enum error_mode lex_current_error_mode (const struct lexer *);
 
 /* Common functions. */
 void lex_get (struct lexer *);
@@ -49,12 +51,15 @@ bool lex_is_string (struct lexer *);
 
 
 /* Token matching functions. */
-bool lex_match (struct lexer *, int);
+bool lex_match (struct lexer *, enum token_type);
 bool lex_match_id (struct lexer *, const char *);
+bool lex_match_id_n (struct lexer *, const char *, size_t n);
 bool lex_match_int (struct lexer *, int);
+bool lex_match_hyphenated_word (struct lexer *lexer, const char *s);
+
 
 /* Forcible matching functions. */
-bool lex_force_match (struct lexer *, int);
+bool lex_force_match (struct lexer *, enum token_type);
 bool lex_force_match_id (struct lexer *, const char *);
 bool lex_force_int (struct lexer *);
 bool lex_force_num (struct lexer *);
@@ -62,16 +67,15 @@ bool lex_force_id (struct lexer *);
 bool lex_force_string (struct lexer *);
 
 /* Weird token functions. */
-int lex_look_ahead (struct lexer *);
-void lex_put_back (struct lexer *, int);
-void lex_put_back_id (struct lexer *, const char *tokid);
+enum token_type lex_look_ahead (struct lexer *);
+void lex_put_back (struct lexer *, enum token_type);
 
 /* Weird line processing functions. */
 const char *lex_entire_line (const struct lexer *);
 const struct string *lex_entire_line_ds (const struct lexer *);
 const char *lex_rest_of_line (const struct lexer *);
 bool lex_end_dot (const struct lexer *);
-void lex_preprocess_line (struct string *, enum getl_syntax,
+void lex_preprocess_line (struct string *, enum syntax_mode,
                           bool *line_starts_command,
                           bool *line_ends_command);
 void lex_discard_line (struct lexer *);
@@ -79,20 +83,19 @@ void lex_discard_rest_of_command (struct lexer *);
 
 /* Weird line reading functions. */
 bool lex_get_line (struct lexer *);
-bool lex_get_line_raw (struct lexer *, enum getl_syntax *);
+bool lex_get_line_raw (struct lexer *);
 
 /* Token names. */
-const char *lex_token_name (int);
+const char *lex_token_name (enum token_type);
 char *lex_token_representation (struct lexer *);
 
 /* Token accessors */
-int lex_token (const struct lexer *);
+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_negative_to_dash (struct lexer *);
 void lex_skip_comment (struct lexer *);
 
 #endif /* !lexer_h */