summaryrefslogtreecommitdiffstats
path: root/parser.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-10-17 08:17:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-10-17 08:17:49 -0700
commit9f158a44b7e88c1dcfb8d56f4f85d642fc423b59 (patch)
tree336dc9997f047c3ea954312b3dbc715157de0b67 /parser.h
parent499f04dc4f9f864071d6ff7e75c9cbec60e2fd12 (diff)
downloadtxr-9f158a44b7e88c1dcfb8d56f4f85d642fc423b59.tar.gz
txr-9f158a44b7e88c1dcfb8d56f4f85d642fc423b59.tar.bz2
txr-9f158a44b7e88c1dcfb8d56f4f85d642fc423b59.zip
Purge stray occurrences of "void *" from code base.
* lib.c (cobj_print_op): In the format call, cast the C pointer to val, since the ~p conversion now takes a val rather than void *. (cptr_equal_op, obj_print, obj_pprint): Remove cast to void *, since obj now already has the type that ~p expects. * lib.h (struct any): Use mem_t * instead of void *. * parser.h (yyscan_t): Repeat the definition from inside the Flex-generated lex.yy.c. (yylex_init, yylex_destroy, yyget_extra, yyset_extra): Re-declare using yyscan_t typedef in place of void *. * parser.l (yyget_column, yyerrprepf): Re-declare using yyscan_t. (grammar): Use yyg in place of yyscanner in calls to yyerrprepf. * parser.y (yylex, %lex-param): Use yyscan_t instead of void *. (parse): Use yyscan_t for local variable. * signal.c (stack): Change type from void * to mem_t *. * stream.c (vformat): Conversion specifier p extracts val instead of void *. (run): Use casts that only remove const, not all the way to void *. * txr.1: Documented p conversion specifier of format. * Makefile (OBJS-y): Initialize with := to make sure it is a simple variable, and not a macro. (SRCS): New variable, listing source files. (enforce): New rule for enforcing coding conventions. Currently checks for void * occurrences.
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/parser.h b/parser.h
index 532fbfb1..e9003039 100644
--- a/parser.h
+++ b/parser.h
@@ -36,6 +36,11 @@ typedef struct {
scanner_t *scanner;
} parser_t;
+#ifndef YY_TYPEDEF_YY_SCANNER_T
+#define YY_TYPEDEF_YY_SCANNER_T
+typedef void *yyscan_t;
+#endif
+
extern const wchar_t *spec_file;
extern val form_to_ln_hash;
void yyerror(scanner_t *scanner, parser_t *, const char *s);
@@ -44,10 +49,10 @@ void yyerrorf(scanner_t *scanner, val s, ...);
void yybadtoken(parser_t *, int tok, val context);
void end_of_regex(scanner_t *scanner);
void end_of_char(scanner_t *scanner);
-int yylex_init(void **pscanner);
-int yylex_destroy(void *scanner);
-parser_t *yyget_extra(void *scanner);
-void yyset_extra(parser_t *, void *scanner);
+int yylex_init(yyscan_t *pscanner);
+int yylex_destroy(yyscan_t scanner);
+parser_t *yyget_extra(yyscan_t scanner);
+void yyset_extra(parser_t *, yyscan_t);
void parse_init(void);
void open_txr_file(val spec_file, val *name, val *stream);
int parse(val stream, val name, parser_t *parser);