code: function ParserSQL(options) {
      options = options || {};
  
      this.schema = options.schema;
  
      var idQts = options.sqlIdQts || defaultIdQts;
      this.reName = new RegExp('^(' + idQts.beg + '(.+?)' + idQts.end + '|([A-Z_][A-Z_@\\$#]*)\\b)', 'i'); // match[2] || match[3]
  }
docs: @typedef {object} sqlIdQtsObject
  @desc On a practical level, the useful characters are:
  * SQL-92 standard: "double quotes"
  * SQL Server: "double quotes" or \[square brackets\]
  * mySQL: \`tick marks\`
  @property {string} beg - The open quote character.
  @property {string} end - The close quote character.
   
  @constructor
  @summary Structured Query Language (SQL) parser
  @author Jonathan Eiten <jonathan@openfin.com>
  @desc This is a subset of SQL conditional expression syntax.
  
  @see {@link https://msdn.microsoft.com/en-us/library/ms173545.aspx SQL Search Condition}
  
  @param {menuItem[]} [options.schema] - Column schema for column name validation. Throws an error if name fails validation (but see `resolveAliases`). Omit to skip column name validation.
  @param {boolean} [options.resolveAliases] - Validate column aliases against schema and use the associated column name in the returned expression state object. Requires `options.schema`. Throws error if no such column found.
  @param {boolean} [options.caseSensitiveColumnNames] - Ignore case while validating column names and aliases.
  @param {sqlIdQtsObject} [options.sqlIdQts={beg:'"',end:'"'}]