X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=lexer.h;h=bc9d297cb4f6879080de01b754620cdaedae7e47;hb=9bf914ca0a1473ee629d30d8a6a65cfbd633712b;hp=f22f4450027e02e439ee09d1651a4833b288870f;hpb=d5e8df5885f97ea65839f8970b8697549c207610;p=cparser diff --git a/lexer.h b/lexer.h index f22f445..bc9d297 100644 --- a/lexer.h +++ b/lexer.h @@ -1,11 +1,43 @@ +/* + * This file is part of cparser. + * Copyright (C) 2007-2009 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" +#include "input.h" -typedef struct lexer_t lexer_t; +extern token_t lexer_token; +extern bool allow_dollar_in_symbol; -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_switch_input(input_t *input, const char *input_name); + +string_t concat_strings(const string_t *s1, const string_t *s2); +string_t make_string(const char *str); #endif