code: function() {
  		var point = {},
  			code = curr.code;
  
  		point.x = curr.value;
  
  		code += 10;
  		curr = scanner.next();
  		if(curr.code != code)
  			throw new Error('Expected code for point value to be ' + code +
  			' but got ' + curr.code + '.');
  		point.y = curr.value;
  
  		code += 10;
  		curr = scanner.next();
  		if(curr.code != code)
  		{
  			scanner.rewind();
  			return point;
  		}
  		point.z = curr.value;
  		
  		return point;
  	}
docs: Parses a 2D or 3D point, returning it as an object with x, y, and
  (sometimes) z property if it is 3D. It is assumed the current group
  is x of the point being read in, and scanner.next() will return the
  y. The parser will determine if there is a z point automatically.
  @return {Object} The 2D or 3D point as an object with x, y[, z]