summaryrefslogtreecommitdiff
path: root/glcpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'glcpp.h')
-rw-r--r--glcpp.h38
1 files changed, 6 insertions, 32 deletions
diff --git a/glcpp.h b/glcpp.h
index 6aabf6f182..ef821a7637 100644
--- a/glcpp.h
+++ b/glcpp.h
@@ -54,24 +54,6 @@ typedef struct argument_list {
typedef struct glcpp_parser glcpp_parser_t;
-/* Support for temporarily lexing/parsing tokens from a string. */
-
-typedef struct glcpp_lex_node {
- void *buffer;
- struct glcpp_lex_node *next;
-} glcpp_lex_node_t;
-
-typedef struct {
- glcpp_parser_t *parser;
- glcpp_lex_node_t *head;
-} glcpp_lex_stack_t;
-
-void
-glcpp_lex_stack_push (glcpp_lex_stack_t *stack, const char *string);
-
-int
-glcpp_lex_stack_pop (glcpp_lex_stack_t *stack);
-
typedef enum {
TOKEN_CLASS_ARGUMENT,
TOKEN_CLASS_IDENTIFIER,
@@ -88,12 +70,13 @@ typedef struct {
int is_function;
string_list_t *parameters;
const char *identifier;
- const char *replacement;
+ string_list_t *replacements;
} macro_t;
typedef struct expansion_node {
macro_t *macro;
argument_list_t *arguments;
+ string_node_t *replacements;
struct expansion_node *next;
} expansion_node_t;
@@ -101,9 +84,12 @@ struct glcpp_parser {
yyscan_t scanner;
struct hash_table *defines;
expansion_node_t *expansions;
- glcpp_lex_stack_t *lex_stack;
};
+void
+glcpp_parser_push_expansion_argument (glcpp_parser_t *parser,
+ int argument_index);
+
glcpp_parser_t *
glcpp_parser_create (void);
@@ -113,18 +99,6 @@ glcpp_parser_parse (glcpp_parser_t *parser);
void
glcpp_parser_destroy (glcpp_parser_t *parser);
-void
-glcpp_parser_push_expansion_macro (glcpp_parser_t *parser,
- macro_t *macro,
- argument_list_t *arguments);
-
-void
-glcpp_parser_push_expansion_argument (glcpp_parser_t *parser,
- int argument_index);
-
-void
-glcpp_parser_pop_expansion (glcpp_parser_t *parser);
-
/* Generated by glcpp-lex.l to glcpp-lex.c */
int