Lines Matching refs:Rule
17 #include "rule.h"
28 static void ParseInputs(Rule* r, StringPiece s) {
50 Rule::Rule()
57 Rule** out_rule, RuleVarAssignment* rule_var) {
98 Rule* rule = new Rule();
99 *out_rule = rule;
100 rule->loc = loc;
101 rule->is_double_colon = is_double_colon;
103 rule->output_patterns.swap(outputs);
105 rule->outputs.swap(outputs);
110 rule->cmds.push_back(
117 ParseInputs(rule, rest);
131 for (Symbol output : rule->outputs) {
138 rule->output_patterns.push_back(Intern(tok));
141 if (rule->output_patterns.empty()) {
144 if (rule->output_patterns.size() > 1) {
147 if (!IsPatternRule(rule->output_patterns[0].str())) {
150 ParseInputs(rule, third);
153 string Rule::DebugString() const {