code: func lexLine(l *lexer) stateFn {
  	for {
  		switch r := l.next(); {
  		case r == '\n':
  			l.emit(lineEnd)
  			l.ignore()
  			l.lineno++
  
  			l.emit(lineStart)
  		case r == ';' && l.peek() == ';':
  			return lexComment
  		case isSpace(r):
  			l.ignore()
  		case isLetter(r) || r == '_':
  			return lexElement
  		case isNumber(r):
  			return lexNumber
  		case r == '@':
  			l.ignore()
  			return lexLabel
  		case r == '"':
  			return lexInsideString
  		default:
  			return nil
  		}
  	}
  }
docs: // lexLine is state function for lexing lines