1 /* parser.h 2 3 Copyright (c) 2003 Matthias Kramm <kramm@quiss.org> 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 18 19 #ifndef __parser_h__ 20 #define __parser_h__ 21 22 enum type_t { 23 TWIP=0, 24 NUMBER=1, 25 COMMAND=2, 26 STRING=3, 27 ASSIGNMENT=4, 28 IDENTIFIER=5, 29 RAWDATA=6, 30 END=7 31 }; 32 33 extern char*type_names[]; 34 35 struct token_t { 36 enum type_t type; 37 int text_pos; 38 char* text; 39 int line; 40 int column; 41 }; 42 43 extern struct token_t* generateTokens(char*filename); 44 extern void freeTokens(struct token_t*); 45 46 #endif 47