src/codegens.h

changeset 46
534a4ef4143d
parent 45
1f3835182aeb
child 47
c39ecbbca7c0
equal deleted inserted replaced
45:1f3835182aeb 46:534a4ef4143d
37 extern "C" { 37 extern "C" {
38 #endif 38 #endif
39 39
40 #define WORDBUF_SIZE 64 40 #define WORDBUF_SIZE 64
41 41
42 #define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@') 42 typedef struct {
43
44 typedef struct _highlighter_t highlighter_t;
45 typedef void(*parser_fnc)(char*,UcxBuffer*,highlighter_t*);
46
47 struct _highlighter_t {
48 const char** keywords;
49 int(*istype)(char*,size_t);
50 int(*isdirective)(char*);
51 parser_fnc parser;
52 int iscommentml; 43 int iscommentml;
53 char word[WORDBUF_SIZE]; 44 char word[WORDBUF_SIZE];
54 char includefile[FILENAME_MAX]; 45 char includefile[FILENAME_MAX];
55 }; 46 } HighlighterData;
56 47
48 typedef void(*highlighter_func)(char*,UcxBuffer*,HighlighterData*);
49
50 #define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@')
57 size_t writeescapedchar(char *dest, size_t dp, char c); 51 size_t writeescapedchar(char *dest, size_t dp, char c);
58 int check_keyword(char *word, const char** keywords); 52 int check_keyword(char *word, const char** keywords);
59 int check_capsonly(char *word, size_t wp); 53 int check_capsonly(char *word, size_t wp);
60 54
61 55

mercurial