function evalSeries()

in loader/lib/Parser.js [241:259]


function evalSeries() {  
  var i = 0,       /* Iterator */
      sym,         /* The current element */
      r = null,    /* Result of evaluating sym */ 
      s = 0,       /* Number of succesful evaluations */
      strict_sym,  /* Strictness of sym */
      node = new Node(this);

  do {
    sym = this.members[i];
    strict_sym = sym.isNonTerminal ? sym.strict : true;
    node.children[i] = r =
      this.parser.evaluate(sym, (this.strict && strict_sym && (s > 0) ));
    if(r !== null) { s += 1; } // Enable strictness
    i += 1;
  } while(i < this.members.length && (! (r === null && strict_sym)));

  return (s == 0 ? null : node);
}