whole_func_string: function nextLine(context, ast, prompt, oldPrompt, forceCursor, eval) {
      rl.question(prompt, function(answer) {
          eval(answer, context, ast, forceCursor === -1 ? ast.root.length : forceCursor, function(newPrompt, newCursor) {
              nextLine(context, ast, newPrompt || oldPrompt, oldPrompt, typeof newCursor === 'undefined' ? -1 : newCursor, eval);
          });
      });
  }
func_code_string: function nextLine(context, ast, prompt, oldPrompt, forceCursor, eval) {
      rl.question(prompt, function(answer) {
          eval(answer, context, ast, forceCursor === -1 ? ast.root.length : forceCursor, function(newPrompt, newCursor) {
              nextLine(context, ast, newPrompt || oldPrompt, oldPrompt, typeof newCursor === 'undefined' ? -1 : newCursor, eval);
          });
      });
  }
func_documentation_string: Inputs and executes the next line
  
  @param {ExecutionContext} context The current execution context
  @param {AbstractSyntaxTree} ast The current abstract syntax tree
  @param {String} prompt
  @param {String} oldPrompt
  @param {Number} forceCursor
  @param {Function} eval The function to evaluate
  @private