Substitute matches in prereqs in regex meta-rules.
This commit is contained in:
parent
b9a5986fc7
commit
75d67f9fdb
2 changed files with 6 additions and 4 deletions
|
|
@ -258,8 +258,6 @@ func expandSuffixes(input string, stem string) string {
|
|||
return string(expanded)
|
||||
}
|
||||
|
||||
// TODO: expand RegexpRefs
|
||||
|
||||
// Expand a backtick quoted string, by executing the contents.
|
||||
func expandBackQuoted(input string, vars map[string][]string) ([]string, int) {
|
||||
// TODO: expand sigils?
|
||||
|
|
|
|||
8
graph.go
8
graph.go
|
|
@ -191,9 +191,14 @@ func applyrules(rs *ruleSet, g *graph, target string, rulecnt []int) *node {
|
|||
|
||||
var stem string
|
||||
var matches []string
|
||||
var match_vars = make(map[string][]string)
|
||||
|
||||
if r.attributes.regex {
|
||||
matches = mat
|
||||
for i := range matches {
|
||||
key := fmt.Sprintf("stem%d", i)
|
||||
match_vars[key] = matches[i : i+1]
|
||||
}
|
||||
} else {
|
||||
stem = mat[1]
|
||||
}
|
||||
|
|
@ -207,8 +212,7 @@ func applyrules(rs *ruleSet, g *graph, target string, rulecnt []int) *node {
|
|||
for i := range r.prereqs {
|
||||
var prereq string
|
||||
if r.attributes.regex {
|
||||
// TODO: write substituteRegexpRefs and use that here
|
||||
prereq = r.prereqs[i]
|
||||
prereq = expandRecipeSigils(r.prereqs[i], match_vars)
|
||||
} else {
|
||||
prereq = expandSuffixes(r.prereqs[i], stem)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue