title: StackOverflowException in recursive interpreter written in C#
body: <p>I'm trying to create a simple interpreter in C#.
  My idea was using recursion.
  So i have this function:</p>
  <pre><code>void InterpretLine(int lineIndex, string[] lines)
  {
      // Do interpreter stuff
  
      InterpretLine(lineIndex + 1, lines);
  }
  </code></pre>
  <p>As you can see this uses recursion. I did this using recursion because then i wouldn't have to deal with function stacks and stuff.
  This works for less than 100 lines of input code, but if it reaches too much lines, this throws a <code>System.StackOverflowException</code>.</p>
  <p>Are there any better ways instead of recursion?</p>