00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __TOKEN_H__
00018 #define __TOKEN_H__
00019
00025 #define MAX_TOKEN 100
00026
00031 typedef struct {
00032 struct Token *next;
00033 char name[32];
00034 long type;
00035 long value;
00036 double fvalue;
00037 long size;
00038 } Token;
00039
00044 enum Tokens {
00045 TIdentifier,
00046 TStringLiteral,
00047 TNumericLiteral,
00048 TFloatLiteral,
00049 TDataType,
00050 TLeftBracket,
00051 TRightBracket,
00052 TLeftBrace,
00053 TRightBrace,
00054 TAdd,
00055 TSub,
00056 TDiv,
00057 TMul
00058 };
00059
00060 int tokenInit(void);
00061 int tokenClose(void);
00062 int tokenize(void);
00063 int tokenGet(void);
00064 Token *tokenNew(void);
00065 int tokenDelete(Token *delTok);
00066 int tokenAdd(Token *add, Token *where);
00067 int tokenClear(void);
00068
00069 #endif