se
this&#8221; and &#8220;parse that&#8221;. Calling other rules can be looked at in the same way;
you tell Ruby to go off, parse that subrule and then come back with the
results. This helps when thinking about rule recursion. For example, a
self-recursive rule like this one will of course create an endless loop:</p>
<pre class="sh_ruby"><code> 
  rule(:infinity) {
    infinity &gt;&gt; str(';')
  }
</code></pre>
<p>Even though infinity seems to be delimited by &#8216;;&#8217;, in reality, infinity is
very 