docs: function binop() {
  		var left = primary();
  
  		var m = str.match(/^ *(OR|AND) */i);
  		if (!m) return left;
  
  		str = str.slice(m[0].length);
  
  		var right = binop();
  
  		return {
  			type: 'op',
  			op: m[1].toLowerCase(),
  			left: left,
  			right: right
  		}
  	}