36 char* in = &(*content)[0];
37 char* end = in + content->size();
38 bool parsing_targets =
true;
47 const char* start = in;
51 static const unsigned char yybm[] = {
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 0, 0, 0, 0, 0, 0, 0, 0,
56 0, 128, 0, 0, 0, 0, 0, 0,
57 128, 128, 0, 128, 128, 128, 128, 128,
58 128, 128, 128, 128, 128, 128, 128, 128,
59 128, 128, 128, 0, 0, 128, 0, 0,
60 128, 128, 128, 128, 128, 128, 128, 128,
61 128, 128, 128, 128, 128, 128, 128, 128,
62 128, 128, 128, 128, 128, 128, 128, 128,
63 128, 128, 128, 0, 0, 0, 0, 128,
64 0, 128, 128, 128, 128, 128, 128, 128,
65 128, 128, 128, 128, 128, 128, 128, 128,
66 128, 128, 128, 128, 128, 128, 128, 128,
67 128, 128, 128, 128, 0, 128, 128, 0,
68 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 0, 0, 0, 0,
70 0, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 0, 0, 0, 0, 0,
86 if (yybm[0+yych] & 128) {
90 if (yych <= 0x00)
goto yy2;
91 if (yych <=
'#')
goto yy4;
94 if (yych ==
'\\')
goto yy10;
113 if (yybm[0+yych] & 128) {
118 int len = (int)(in - start);
121 memmove(out, start, len);
127 if (yych ==
'$')
goto yy11;
133 if (yych <= 0x00)
goto yy5;
134 if (yych ==
'\n')
goto yy5;
137 if (yych <=
'\r')
goto yy5;
138 if (yych ==
' ')
goto yy15;
143 if (yych <=
'#')
goto yy15;
144 if (yych ==
'*')
goto yy15;
147 if (yych <=
'\\')
goto yy15;
148 if (yych ==
'|')
goto yy15;
178 int len = (int)(out - filename);
179 const bool is_target = parsing_targets;
180 if (len > 0 && filename[len - 1] ==
':') {
182 parsing_targets =
false;
193 *err =
"depfile has multiple output paths";
StringPiece represents a slice of a string whose memory is managed externally.
bool Parse(string *content, string *err)
Parse an input file.
vector< StringPiece > ins_