function o(patternString, action) {
  if (typeof action === 'undefined') {
    return [patternString, '$$ = $1;'];
  }

  action = action.replace(/\bnew /g, '$&yy.');
  return [patternString, '$$ = ' + action + ';'];
}
function o(patternString, action) {
  if (typeof action === 'undefined') {
    return [patternString, '$$ = $1;'];
  }

  action = action.replace(/\bnew /g, '$&yy.');
  return [patternString, '$$ = ' + action + ';'];
}
function o ( patternString , action ) { if ( typeof action === 'undefined' ) { return [ patternString , '$$ = $1;' ] ; } action = action . replace ( / \bnew  / g , '$&yy.' ) ; return [ patternString , '$$ = ' + action + ';' ] ; }
Helper for jison grammar definitions, altering "new" calls to the
yy namepsace and assigning action results to "$$"
@example
o('foo', 'new Lllama($1)') // -> ['foo', '$$ = new yy.Llama($1)']
@param  {String} patternString a jison BNF pattern string
@param  {String} action   the javascript code to execute against the pattern
@return {Array.<string>} the expression strings to give to jison
@private
Helper for jison grammar definitions altering new calls to the yy namepsace and assigning action results to $$