func (l *Lexer) Next() (string, error) {
	for {
		token, err := (*Tokenizer)(l).Next()
		if err != nil {
			return "", err
		}
		switch token.tokenType {
		case WordToken:
			return token.value, nil
		case CommentToken:
			// skip comments
		default:
			return "", fmt.Errorf("Unknown token type: %v", token.tokenType)
		}
	}
}
func (l *Lexer) Next() (string, error) {
	for {
		token, err := (*Tokenizer)(l).Next()
		if err != nil {
			return "", err
		}
		switch token.tokenType {
		case WordToken:
			return token.value, nil
		case CommentToken:
			
		default:
			return "", fmt.Errorf("Unknown token type: %v", token.tokenType)
		}
	}
}
func ( l * Lexer ) Next ( ) ( string , error ) { for { token , err := ( * Tokenizer ) ( l ) . Next ( ) if err != nil { return " " , err } switch token . tokenType { case WordToken : return token . value , nil case CommentToken : // skip comments default : return " " , fmt . Errorf ( " " , token . tokenType ) } } }
// Next returns the next word, or an error. If there are no more words,
// the error will be io.EOF.
Next returns the next word or an error . If there are no more words the error will be io . EOF .