Lines Matching refs:line
97 var line []byte
109 line = append(line, buf...)
122 line = bytes.TrimRight(line, "\r\n")
123 return line
147 func (p *parser) handleDirective(line []byte, directives map[string]directiveFunc) bool {
148 w, data := firstWord(line)
156 func (p *parser) handleRuleOrAssign(line []byte) {
157 rline := line
159 if i := findLiteralChar(line, ';', 0, skipVar); i >= 0 {
161 semi = append(semi, line[i+1:]...)
162 rline = concatline(line[:i])
164 rline = concatline(line)
166 if p.handleAssign(line) {
175 func (p *parser) handleAssign(line []byte) bool {
176 aline, _ := removeComment(concatline(line))
196 func (p *parser) parseAssign(line []byte, sep int) {
197 lhs, op, rhs := line[:sep], line[sep:sep+1], line[sep+1:]
199 switch line[sep-1] {
201 lhs, op = line[:sep-1], line[sep-1:sep+1]
204 glog.V(1).Infof("parseAssign %s op:%q opt:%s", line, op, p.defOpt)
216 func (p *parser) parseMaybeRule(line, semi []byte) {
217 if len(line) == 0 {
221 if line[0] == '\t' {
226 ci := findLiteralChar(line, ':', 0, skipVar)
228 eqi := findLiteralChar(line[ci+1:], '=', 0, skipVar)
230 panic(fmt.Sprintf("unexpected eq after colon: %q", line))
235 switch line[ci+1+eqi-1] {
237 lhsbytes = append(lhsbytes, line[ci+1:ci+1+eqi-1]...)
238 op = string(line[ci+1+eqi-1 : ci+1+eqi+1])
240 lhsbytes = append(lhsbytes, line[ci+1:ci+1+eqi]...)
250 rhsbytes = append(rhsbytes, line[ci+1+eqi+1:]...)
270 line = line[:ci+1]
273 expr, _, err := parseExpr(line, nil, parseOp{})
290 func (p *parser) parseInclude(op string, line []byte) {
293 expr: string(line),
567 var line []byte
568 line = append(line, []byte("override ")...)
569 line = append(line, data...)
570 p.handleRuleOrAssign(line)
625 line := p.readLine()
627 glog.Infof("%s: %q", p.srcpos(), line)
630 p.processDefine(line)
638 if len(line) > 0 && line[0] == '\t' {
639 cast := &commandAST{cmd: string(line[1:])}
645 p.parseLine(line)
653 func (p *parser) parseLine(line []byte) {
654 cline := concatline(line)
675 glog.Infof("rule or assign?: %q", line)
677 p.handleRuleOrAssign(line)
680 func (p *parser) processDefine(line []byte) {
681 line = append(line, '\n')
682 line = concatline(line)
683 if line[len(line)-1] != '\n' {
684 line = append(line, '\n')
687 glog.Infof("concatline:%q", line)
689 if !p.isEndef(line) {
690 p.inDef = append(p.inDef, line...)
713 func (p *parser) isEndef(line []byte) bool {
714 if bytes.Equal(line, []byte("endef")) {
717 w, data := firstWord(line)