Lines Matching defs:parser
48 type parser struct {
67 func newParser(rd io.Reader, filename string) *parser {
68 p := &parser{
76 func (p *parser) srcpos() srcpos {
83 func (p *parser) addStatement(stmt ast) {
93 func (p *parser) readLine() []byte {
126 func newAssignAST(p *parser, lhsBytes []byte, rhsBytes []byte, op string) (*assignAST, error) {
147 func (p *parser) handleDirective(line []byte, directives map[string]directiveFunc) bool {
156 func (p *parser) handleRuleOrAssign(line []byte) {
175 func (p *parser) handleAssign(line []byte) bool {
196 func (p *parser) parseAssign(line []byte, sep int) {
216 func (p *parser) parseMaybeRule(line, semi []byte) {
290 func (p *parser) parseInclude(op string, line []byte) {
300 func (p *parser) parseIfdef(op string, data []byte) {
316 func (p *parser) parseTwoQuotes(s []byte) (string, string, []byte, bool) {
340 func (p *parser) parseEq(s []byte) (string, string, []byte, bool) {
371 func (p *parser) parseIfeq(op string, data []byte) {
404 func (p *parser) checkIfStack(curKeyword string) error {
411 func (p *parser) parseElse(data []byte) {
445 func (p *parser) parseEndif(data []byte) {
471 func (p *parser) parseDefine(data []byte) {
478 func (p *parser) parseVpath(data []byte) {
493 type directiveFunc func(*parser, []byte)
516 func includeDirective(p *parser, data []byte) {
520 func sincludeDirective(p *parser, data []byte) {
524 func ifdefDirective(p *parser, data []byte) {
528 func ifndefDirective(p *parser, data []byte) {
532 func ifeqDirective(p *parser, data []byte) {
536 func ifneqDirective(p *parser, data []byte) {
540 func elseDirective(p *parser, data []byte) {
544 func endifDirective(p *parser, data []byte) {
548 func defineDirective(p *parser, data []byte) {
552 func overrideDirective(p *parser, data []byte) {
574 func handleExport(p *parser, data []byte, export bool) (hasEqual bool) {
595 func exportDirective(p *parser, data []byte) {
614 func unexportDirective(p *parser, data []byte) {
619 func vpathDirective(p *parser, data []byte) {
623 func (p *parser) parse() (mk makefile, err error) {
653 func (p *parser) parseLine(line []byte) {
680 func (p *parser) processDefine(line []byte) {
713 func (p *parser) isEndef(line []byte) bool {
740 parser
741 parser.lineno = loc.lineno
742 parser.elineno = loc.lineno
743 parser.linenoFixed = true
744 return parser.parse()
819 parser := newParser(bytes.NewReader(s), filename)
820 return parser.parse()