~ubuntu-branches/ubuntu/dapper/lurker/dapper

« back to all changes in this revision

Viewing changes to render/quote.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Meurer
  • Date: 2004-09-26 16:27:51 UTC
  • Revision ID: james.westby@ubuntu.com-20040926162751-z1ohcjltv7ojtg6z
Tags: upstream-1.2
Import upstream version 1.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright: Public domain
 
2
 * Produced with reg2c for wesley@terpstra.ca
 
3
 * cvs id tag: $Id: quote.cpp,v 1.3 2003/06/12 22:15:33 terpstra Exp $
 
4
 *
 
5
 * Regular expression: (
 
6
([a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?>)[-       -�]*(
 
7
([a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?>)[-       -�]*)*)
 
8
 */
 
9
 
 
10
const unsigned char* quote_scan_pass1(const unsigned char* s, const unsigned char* e)
 
11
{
 
12
        const unsigned char* last = 0;
 
13
        goto quote_scan_pass16;
 
14
        
 
15
quote_scan_pass10:
 
16
        last = e;
 
17
        if (s == e) return last;
 
18
        switch (*(--e))
 
19
        {
 
20
        case 62: 
 
21
                goto quote_scan_pass11;
 
22
        default: goto quote_scan_pass16;
 
23
        }
 
24
quote_scan_pass11:
 
25
        if (s == e) return last;
 
26
        switch (*(--e))
 
27
        {
 
28
        case 10: 
 
29
                goto quote_scan_pass10;
 
30
        case 62: 
 
31
                goto quote_scan_pass11;
 
32
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
33
                goto quote_scan_pass12;
 
34
        default: goto quote_scan_pass16;
 
35
        }
 
36
quote_scan_pass12:
 
37
        if (s == e) return last;
 
38
        switch (*(--e))
 
39
        {
 
40
        case 10: 
 
41
                goto quote_scan_pass10;
 
42
        case 62: 
 
43
                goto quote_scan_pass11;
 
44
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
45
                goto quote_scan_pass13;
 
46
        default: goto quote_scan_pass16;
 
47
        }
 
48
quote_scan_pass13:
 
49
        if (s == e) return last;
 
50
        switch (*(--e))
 
51
        {
 
52
        case 10: 
 
53
                goto quote_scan_pass10;
 
54
        case 62: 
 
55
                goto quote_scan_pass11;
 
56
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
57
                goto quote_scan_pass14;
 
58
        default: goto quote_scan_pass16;
 
59
        }
 
60
quote_scan_pass14:
 
61
        if (s == e) return last;
 
62
        switch (*(--e))
 
63
        {
 
64
        case 10: 
 
65
                goto quote_scan_pass10;
 
66
        case 62: 
 
67
                goto quote_scan_pass11;
 
68
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
69
                goto quote_scan_pass15;
 
70
        default: goto quote_scan_pass16;
 
71
        }
 
72
quote_scan_pass15:
 
73
        if (s == e) return last;
 
74
        switch (*(--e))
 
75
        {
 
76
        case 10: 
 
77
                goto quote_scan_pass10;
 
78
        case 62: 
 
79
                goto quote_scan_pass11;
 
80
        default: goto quote_scan_pass16;
 
81
        }
 
82
quote_scan_pass16:
 
83
        if (s == e) return last;
 
84
        switch (*(--e))
 
85
        {
 
86
        case 62: 
 
87
                goto quote_scan_pass11;
 
88
        default: goto quote_scan_pass16;
 
89
        }
 
90
}
 
91
 
 
92
const unsigned char* quote_scan_pass2(const unsigned char* s, const unsigned char* e)
 
93
{
 
94
        const unsigned char* last = 0;
 
95
        goto quote_scan_pass23;
 
96
        
 
97
quote_scan_pass20:
 
98
        return last;
 
99
quote_scan_pass21:
 
100
        last = s;
 
101
        if (s == e) return last;
 
102
        switch (*s++)
 
103
        {
 
104
        case 0: 
 
105
                goto quote_scan_pass20;
 
106
        case 10: 
 
107
                goto quote_scan_pass24;
 
108
        default: goto quote_scan_pass21;
 
109
        }
 
110
quote_scan_pass23:
 
111
        if (s == e) return last;
 
112
        switch (*s++)
 
113
        {
 
114
        case 10: 
 
115
                goto quote_scan_pass24;
 
116
        default: goto quote_scan_pass20;
 
117
        }
 
118
quote_scan_pass24:
 
119
        if (s == e) return last;
 
120
        switch (*s++)
 
121
        {
 
122
        case 62: 
 
123
                goto quote_scan_pass21;
 
124
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
125
                goto quote_scan_pass25;
 
126
        default: goto quote_scan_pass20;
 
127
        }
 
128
quote_scan_pass25:
 
129
        if (s == e) return last;
 
130
        switch (*s++)
 
131
        {
 
132
        case 62: 
 
133
                goto quote_scan_pass21;
 
134
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
135
                goto quote_scan_pass26;
 
136
        default: goto quote_scan_pass20;
 
137
        }
 
138
quote_scan_pass26:
 
139
        if (s == e) return last;
 
140
        switch (*s++)
 
141
        {
 
142
        case 62: 
 
143
                goto quote_scan_pass21;
 
144
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
145
                goto quote_scan_pass27;
 
146
        default: goto quote_scan_pass20;
 
147
        }
 
148
quote_scan_pass27:
 
149
        if (s == e) return last;
 
150
        switch (*s++)
 
151
        {
 
152
        case 62: 
 
153
                goto quote_scan_pass21;
 
154
        case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: 
 
155
                goto quote_scan_pass28;
 
156
        default: goto quote_scan_pass20;
 
157
        }
 
158
quote_scan_pass28:
 
159
        if (s == e) return last;
 
160
        switch (*s++)
 
161
        {
 
162
        case 62: 
 
163
                goto quote_scan_pass21;
 
164
        default: goto quote_scan_pass20;
 
165
        }
 
166
}
 
167
 
 
168
void quote_scan(const unsigned char** s, const unsigned char** e)
 
169
{
 
170
        *s = quote_scan_pass1(*s, *e);
 
171
        if (*s) *e = quote_scan_pass2(*s, *e);
 
172
}