src/parser.js
function preprocessor_branch(if_directive,
                                 elif_directives,
                                 else_directive) {
      var elseList = elif_directives;
      if (else_directive) {
        elseList = elseList.concat([else_directive]);
      }
      var result = if_directive[0];
      result.guarded_statements = if_directive[1].statements;
      var current_branch = result;
      for (var i = 0; i < elseList.length; i++) {
        current_branch.elseBody = elseList[i][0];
        current_branch.elseBody.guarded_statements =
          elseList[i][1].statements;
        current_branch = current_branch.elseBody;
      }
      return result;
    }
function preprocessor_branch(if_directive,
                                 elif_directives,
                                 else_directive) {
      var elseList = elif_directives;
      if (else_directive) {
        elseList = elseList.concat([else_directive]);
      }
      var result = if_directive[0];
      result.guarded_statements = if_directive[1].statements;
      var current_branch = result;
      for (var i = 0; i < elseList.length; i++) {
        current_branch.elseBody = elseList[i][0];
        current_branch.elseBody.guarded_statements =
          elseList[i][1].statements;
        current_branch = current_branch.elseBody;
      }
      return result;
    }
function preprocessor_branch ( if_directive , elif_directives , else_directive ) { var elseList = elif_directives ; if ( else_directive ) { elseList = elseList . concat ( [ else_directive ] ) ; } var result = if_directive [ 0 ] ; result . guarded_statements = if_directive [ 1 ] . statements ; var current_branch = result ; for ( var i = 0 ; i < elseList . length ; i ++ ) { current_branch . elseBody = elseList [ i ] [ 0 ] ; current_branch . elseBody . guarded_statements = elseList [ i ] [ 1 ] . statements ; current_branch = current_branch . elseBody ; } return result ; }
Generates AST Nodes for a preprocessor branch.
Generates AST Nodes for a preprocessor branch .