summaryrefslogtreecommitdiff
path: root/iup/src/iup_ledlex.h
blob: ad79ee15ad0b52f280f476b2d03ddf1c0cb2439d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/** \file
 * \brief lexical analysis manager for LED.
 *
 * See Copyright Notice in "iup.h"
 */
 
#ifndef __IUP_LEX_H 
#define __IUP_LEX_H

#ifdef __cplusplus
extern "C" {
#endif

/* TOKENS */
#define IUPLEX_TK_END          -1
#define IUPLEX_TK_BEGP         1
#define IUPLEX_TK_ENDP         2
#define IUPLEX_TK_ATTR         3
#define IUPLEX_TK_STR          4
#define IUPLEX_TK_NAME         5
#define IUPLEX_TK_NUMB         6
#define IUPLEX_TK_SET          7
#define IUPLEX_TK_COMMA        8
#define IUPLEX_TK_FUNC         9
#define IUPLEX_TK_ENDATTR     10

/* ERRORS */
#define IUPLEX_FILENOTOPENED   1
#define IUPLEX_NOTMATCH        2
#define IUPLEX_NOTENDATTR      3
#define IUPLEX_PARSEERROR      4

char*   iupLexGetError   (void);
int     iupLexStart      (const char *filename, int is_file);
void    iupLexClose      (void);
int     iupLexLookAhead  (void);
int     iupLexAdvance    (void);
int     iupLexFollowedBy (int t);
int     iupLexMatch      (int t);
int     iupLexSeenMatch  (int t, int *erro);
unsigned char iupLexByte (void);
int     iupLexInt        (void);
float   iupLexFloat      (void);
char*   iupLexGetName    (void);
char*   iupLexName       (void);
float   iupLexGetNumber  (void);
int     iupLexError      (int n, ...);
Iclass* iupLexGetClass   (void);

#ifdef __cplusplus
}
#endif

#endif