func lex(name, input, left, right string) *lexer {
	if left == "" {
		left = leftDelim
	}
	if right == "" {
		right = rightDelim
	}
	l := &lexer{
		name:           name,
		input:          input,
		leftDelim:      left,
		rightDelim:     right,
		trimRightDelim: rightTrimMarker + right,
		items:          make(chan item),
		line:           1,
		startLine:      1,
	}
	go l.run()
	return l
}
// lex creates a new scanner for the input string.
lex creates a new scanner for the input string.
// lex creates a new scanner for the input string .
func lex(name, input, left, right string) *lexer {
	if left == "" {
		left = leftDelim
	}
	if right == "" {
		right = rightDelim
	}
	l := &lexer{
		name:           name,
		input:          input,
		leftDelim:      left,
		rightDelim:     right,
		trimRightDelim: rightTrimMarker + right,
		items:          make(chan item),
		line:           1,
		startLine:      1,
	}
	go l.run()
	return l
}
func lex ( name , input , left , right string ) * lexer { if left == " " { left = leftDelim } if right == " " { right = rightDelim } l := & lexer { name : name , input : input , leftDelim : left , rightDelim : right , trimRightDelim : rightTrimMarker + right , items : make ( chan item ) , line : 1 , startLine : 1 , } go l . run ( ) return l }
lex creates a new scanner for the input string.
lex creates a new scanner for the input string .