lexer: Reimplement for better testability and internationalization.
[pspp-builds.git] / src / data / identifier.h
index bf20f9cc912dad0c8405b6a6bbd77a7e6b8bb520..7f2f904239167f1c5c4200a570621dd7d83cf66a 100644 (file)
@@ -74,6 +74,12 @@ const char *token_type_to_string (enum token_type);
 /* Tokens. */
 bool lex_is_keyword (enum token_type);
 
+/* Validating identifiers. */
+#define ID_MAX_LEN 64          /* Maximum length of identifier, in bytes. */
+
+bool id_is_valid (const char *id, const char *dict_encoding, bool issue_error);
+bool id_is_plausible (const char *id, bool issue_error);
+
 /* Recognizing identifiers. */
 bool lex_is_id1 (char);
 bool lex_is_idn (char);
@@ -88,7 +94,4 @@ bool lex_id_match_n (struct substring keyword, struct substring token,
                      size_t n);
 int lex_id_to_token (struct substring);
 
-/* Identifier names. */
-const char *lex_id_name (enum token_type);
-
 #endif /* !data/identifier.h */