function getNextToken(expr){
			for (var type in Tone.Expr._Expressions){
				var group = Tone.Expr._Expressions[type];
				for (var opName in group){
					var op = group[opName];
					var reg = op.regexp;
					var match = expr.match(reg);
					if (match !== null){
						return {
							type : type,
							value : match[0],
							method : op.method
						};
					}
				}
			}
			throw new SyntaxError("Unexpected token "+expr);
		}
tokenize the expression based on the Expressions object
 @param   {string} expr 
 @return  {Object}      returns two methods on the tokenized list, next and peek
 @private