X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=lexer.h;h=587b19e61ca1983e87c031131fca076824958667;hb=20a7b862fd7e178b3778b3b9e632299649544efc;hp=f22f4450027e02e439ee09d1651a4833b288870f;hpb=d5e8df5885f97ea65839f8970b8697549c207610;p=cparser diff --git a/lexer.h b/lexer.h index f22f445..587b19e 100644 --- a/lexer.h +++ b/lexer.h @@ -1,11 +1,43 @@ +/* + * This file is part of cparser. + * Copyright (C) 2007-2008 Matthias Braun + * + * 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 the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ #ifndef LEXER_H #define LEXER_H #include "symbol_table_t.h" #include "token_t.h" -typedef struct lexer_t lexer_t; +extern token_t lexer_token; -void lexer_next_token(lexer_t *lexer, token_t *token); +void lexer_next_token(void); + +/* for debugging */ +void lexer_next_preprocessing_token(void); + +void init_lexer(void); +void exit_lexer(void); + +void lexer_open_stream(FILE *stream, const char *input_name); + +string_t concat_strings( const string_t *s1, const string_t *s2); +wide_string_t concat_string_wide_string(const string_t *s1, const wide_string_t *s2); +wide_string_t concat_wide_strings( const wide_string_t *s1, const wide_string_t *s2); +wide_string_t concat_wide_string_string(const wide_string_t *s1, const string_t *s2); #endif