Lines Matching defs:err

38                            string* err) {
45 if (!ParsePool(err))
49 if (!ParseEdge(err))
53 if (!ParseRule(err))
57 if (!ParseDefault(err))
64 if (!ParseLet(&name, &let_value, err))
75 if (!ParseFileInclude(false, err))
79 if (!ParseFileInclude(true, err))
83 return lexer_.Error(lexer_.DescribeLastError(), err);
91 err);
98 bool ManifestParser::ParsePool(string* err) {
101 return lexer_.Error("expected pool name", err);
103 if (!ExpectToken(Lexer::NEWLINE, err))
107 return lexer_.Error("duplicate pool '" + name + "'", err);
114 if (!ParseLet(&key, &value, err))
121 return lexer_.Error("invalid pool depth", err);
123 return lexer_.Error("unexpected variable '" + key + "'", err);
128 return lexer_.Error("expected 'depth =' line", err);
135 bool ManifestParser::ParseRule(string* err) {
138 return lexer_.Error("expected rule name", err);
140 if (!ExpectToken(Lexer::NEWLINE, err))
144 return lexer_.Error("duplicate rule '" + name + "'", err);
151 if (!ParseLet(&key, &value, err))
159 return lexer_.Error("unexpected variable '" + key + "'", err);
166 "both specified", err);
170 return lexer_.Error("expected 'command =' line", err);
176 bool ManifestParser::ParseLet(string* key, EvalString* value, string* err) {
178 return lexer_.Error("expected variable name", err);
179 if (!ExpectToken(Lexer::EQUALS, err))
181 if (!lexer_.ReadVarValue(value, err))
186 bool ManifestParser::ParseDefault(string* err) {
188 if (!lexer_.ReadPath(&eval, err))
191 return lexer_.Error("expected target name", err);
196 return lexer_.Error("empty path", err);
201 return lexer_.Error(default_err, err);
204 if (!lexer_.ReadPath(&eval, err))
208 return ExpectToken(Lexer::NEWLINE, err);
211 bool ManifestParser::ParseEdge(string* err) {
216 if (!lexer_.ReadPath(&out, err))
222 if (!lexer_.ReadPath(&out, err))
232 if (!lexer_.ReadPath(&out, err))
242 return lexer_.Error("expected path", err);
244 if (!ExpectToken(Lexer::COLON, err))
249 return lexer_.Error("expected build command name", err);
253 return lexer_.Error("unknown build rule '" + rule_name + "'", err);
258 if (!lexer_.ReadPath(&in, err))
270 if (!lexer_.ReadPath(&in, err))
284 if (!lexer_.ReadPath(&in, err))
297 if (!lexer_.ReadPath(&validation, err))
305 if (!ExpectToken(Lexer::NEWLINE, err))
314 if (!ParseLet(&key, &val, err))
328 return lexer_.Error("unknown pool name '" + pool_name + "'", err);
336 return lexer_.Error("empty path", err);
341 lexer_.Error("multiple rules generate " + path, err);
369 return lexer_.Error("empty path", err);
382 return lexer_.Error("empty path", err);
419 return lexer_.Error("dyndep '" + dyndep + "' is not an input", err);
427 bool ManifestParser::ParseFileInclude(bool new_scope, string* err) {
429 if (!lexer_.ReadPath(&eval, err))
440 if (!subparser.Load(path, err, &lexer_))
443 if (!ExpectToken(Lexer::NEWLINE, err))