What is this variable declaration code doing?
<p>I was browsing through the jade templating engine source code and I am trying to figure out what this statement means.</p>

<p>I get that it's going to try and instantiate <code>options.compiler</code> and if that fails instantiate <code>Compiler</code>, but the next part confuses me... Is this saying to call <code>parser.parse</code> and declare the returned value as a variable? If so, why is the rightmost paren around options?</p>

<pre><code>var compiler = new (options.compiler || Compiler)(parser.parse(), options)
  , js = compiler.compile();
</code></pre>

<p>.<br>
Here's some more context if that helps</p>

<pre><code>function parse(str, options){
  try {
    // Parse
    var parser = new Parser(str, options.filename, options);

    // Compile
    var compiler = new (options.compiler || Compiler)(parser.parse(), options)
      , js = compiler.compile();
</code></pre>

<p><a href="https://github.com/visionmedia/jade/blob/master/jade.js#L960" rel="nofollow">Github - Line 960</a></p>
