func lexSingleQuote(x *Lexer) stateFn {
	// Need to distinguish between an empty symbol, e.g. '', and the
	// start of a "long string", e.g. '''
	if x.peek() == '\'' {
		x.next()
		if x.peek() == '\'' {
			// Triple quote!  Dive into lexing a quoted long string.
			x.next()
			return lexLongString
		} else {
			// Ignore the opening and closing quotes.
			x.ignore()
			// Empty quoted symbol.  Emit it and move on.
			x.emit(IonSymbolQuoted)
			return lexValue
		}
	}
	return lexQuotedSymbol
}
// lexSingleQuote determines whether the single quote is for the start of a quoted
// symbol, an empty quotedSymbol, or the first of three single quotes that denotes
// a long string
lexSingleQuote determines whether the single quote is for the start of a quoted
symbol, an empty quotedSymbol, or the first of three single quotes that denotes
a long string
// lexSingleQuote determines whether the single quote is for the start of a quoted // symbol an empty quotedSymbol or the first of three single quotes that denotes // a long string
func lexSingleQuote(x *Lexer) stateFn {
	if x.peek() == '\'' {
		x.next()
		if x.peek() == '\'' {
			x.next()
			return lexLongString
		} else {
			x.ignore()
			x.emit(IonSymbolQuoted)
			return lexValue
		}
	}
	return lexQuotedSymbol
}
func lexSingleQuote ( x * Lexer ) stateFn { if x . peek ( ) == '\'' { x . next ( ) if x . peek ( ) == '\'' { x . next ( ) return lexLongString } else { x . ignore ( ) x . emit ( IonSymbolQuoted ) return lexValue } } return lexQuotedSymbol }
lexSingleQuote determines whether the single quote is for the start of a quoted
symbol, an empty quotedSymbol, or the first of three single quotes that denotes
a long string
lexSingleQuote determines whether the single quote is for the start of a quoted symbol an empty quotedSymbol or the first of three single quotes that denotes a long string
// Need to distinguish between an empty symbol, e.g. '', and the // start of a "long string", e.g. ''' // Triple quote!  Dive into lexing a quoted long string. // Ignore the opening and closing quotes. // Empty quoted symbol.  Emit it and move on.