function tokenize() {
						var ch = walker.ch;

						if (ch === " " || ch === "\t") {
							return white();
						}

						if (ch === '/') {
							return comment();
						}

						if (ch === '"' || ch === "'") {
							return str();
						}

						if (ch === '(') {
							return brace();
						}

						if (ch === '-' || ch === '.' || isDigit(ch)) { // tricky - char: minus (-1px) or dash (-moz-stuff)
							return num();
						}

						if (isNameChar(ch)) {
							return identifier();
						}

						if (isOp(ch)) {
							return op();
						}

						if (ch === '\r') {
							if (walker.peek() === '\n') {
								ch += walker.nextChar();
							}

							tokener(ch, 'line');
							walker.nextChar();
							return;
						}

						if (ch === '\n') {
							tokener(ch, 'line');
							walker.nextChar();
							return;
						}

						raiseError("Unrecognized character '" + ch + "'");
					}
Sprits given source into tokens
@param {String} source
@returns {Array}