Increase MAX_STATIC_DATA
[bazic.git] / mktokens.awk
1 BEGIN {
2         count = 255
3 }
4
5 {
6         t = $1
7         token[t] = count
8         count--
9         if (length(t) > 1)
10                 print "constant TOKEN_" toupper(t) " " token[t] ";"
11 }
12
13 END {
14         print "[ token_decode t;"
15         print "switch(t) {"
16         for (i in token)
17                 print token[i] ": return \"" i "\";"
18         print "}"
19         print "return 0;"
20         print "];"
21
22         print "[ token_encode p d;"
23         for (i in token) 
24         {
25                 if (length(i) > 1)
26                 {
27                         print "if ("
28                         for (j=1; j<=length(i); j++)
29                                 print "(p->" (j-1) " == '" substr(i, j, 1) "') &&"
30                         print " token_invalidchar(p->" (j-1) ")) { d->0 =" token[i] "; return " length(i) "; }"
31                 }
32                 else
33                         print "if (p->0 == '" i "') { d->0 = " token[i] "; return 1; }"
34         }
35         print "return 0;"
36         print "];"
37 }
38
39