func (p *Parser) Parse() (Condition, error) {
	c, err := p.ParseCondition()
	if err != nil {
		return nil, err
	}

	if !p.eof() {
		return nil, fmt.Errorf("expected EOF, got [%s]", p.next)
	}

	return c, nil
}
// Parse performs the full parse.
Parse performs the full parse.
// Parse performs the full parse .
func (p *Parser) Parse() (Condition, error) {
	c, err := p.ParseCondition()
	if err != nil {
		return nil, err
	}
	if !p.eof() {
		return nil, fmt.Errorf("expected EOF, got [%s]", p.next)
	}
	return c, nil
}
func ( p * Parser ) Parse ( ) ( Condition , error ) { c , err := p . ParseCondition ( ) if err != nil { return nil , err } if ! p . eof ( ) { return nil , fmt . Errorf ( " " , p . next ) } return c , nil }
Parse performs the full parse.
Parse performs the full parse .