blob: 3a9951eed6e8f6f44e4c5c44e79ff13c35360063 (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
static inline uint8_t isdelm(char c, uint8_t dbg) {
switch (c) {
default : return 0x00;
case '\0':
case '\n': return 0x01;
case ',' : return 0x02;
case '\"': return 0x04;
case '\'': return 0x08;
case '\t':
case ' ' : return 0x10;
}
}
static inline uint8_t isdelm2(char c, uint8_t dbg) {
switch (c) {
default : return 0;
case ')' :
case ',' :
case '.' :
case '+' :
case '<' :
case '|' :
case '>' :
case '-' :
case ':' :
case '=' :
case ';' :
case '\0':
case '\n': return 1;
case '\t':
case ' ' : return 2;
}
}
static inline uint8_t get_ptok(char c, uint8_t dbg) {
switch (c) {
case '.' : return PTOK_DOT ;
case '@' : return PTOK_AT ;
case ':' : return PTOK_COLON ;
case '=' : return PTOK_EQU ;
case '+' : return PTOK_PLUS ;
case '-' : return PTOK_MINUS ;
case '>' : return PTOK_GT ;
case '<' : return PTOK_LT ;
case '|' : return PTOK_PIPE ;
case '(' : return PTOK_LBRACK ;
case ')' : return PTOK_RBRACK ;
case ',' : return PTOK_COMMA ;
case 'B': case 'b' : return PTOK_B ;
case 'X': case 'x' : return PTOK_X ;
case 'Y': case 'y' : return PTOK_Y ;
case 'S': case 's' : return PTOK_S ;
case 'P': case 'p' : return PTOK_P ;
case '\"': return PTOK_DQUOTE ;
case '\'': return PTOK_SQUOTE ;
case '#' : return PTOK_HASH ;
case ';' : return PTOK_SCOLON ;
case '$' : return PTOK_DOLLAR ;
case '%' : return PTOK_PERCENT;
default :
if (isdigit(c)) {
return PTOK_NUMBER;
} else if (isalpha(c) || c == '_') {
return PTOK_ALPHA;
} else {
return PTOK_OTHER;
}
}
}
static inline uint8_t is_altok(uint8_t ptok, uint8_t dbg) {
switch (ptok) {
case PTOK_B:
case PTOK_X:
case PTOK_Y:
case PTOK_S:
case PTOK_P: return 1;
default : return 0;
}
}
|