func (p *Parser) String() string {
	return p.p.String()
}
String returns a string corresponding to the CMakeLists grammar.
package ast
import (
	"io"
	"github.com/alecthomas/participle"
	"github.com/kythe/llvmbzlgen/cmakelib/lexer"
)
type Parser struct {
	p *participle.Parser
}
func NewParser() *Parser {
	return &Parser{participle.MustBuild(&CMakeFile{}, participle.Lexer(lexer.New()))}
}
func (p *Parser) Parse(r io.Reader) (*CMakeFile, error) {
	cmf := &CMakeFile{}
	return cmf, p.p.Parse(r, cmf)
}
func (p *Parser) ParseString(s string) (*CMakeFile, error) {
	cmf := &CMakeFile{}
	return cmf, p.p.ParseString(s, cmf)
}
func (p *Parser) ParseBytes(b []byte) (*CMakeFile, error) {
	cmf := &CMakeFile{}
	return cmf, p.p.ParseBytes(b, cmf)
}