<?xml version="1.0" encoding="windows-1252"?>
<node id="788460" title="Re: Perl Cannot Be Parsed: A Formal Proof" created="2009-08-13 18:26:30" updated="2009-08-13 18:26:30">
<type id="11">
note</type>
<author id="961">
Anonymous Monk</author>
<data>
<field name="doctext">
&lt;p&gt;I'm confused by this proof and I don't buy it, especially since the definitions, including that of "parsing," are too imprecise to warrant some reduction proof. You also don't need reduction to show the existence of an example, which is what you're essentially trying to do. You seem to be making the claim that when you have code&lt;/p&gt;

&lt;code&gt;
  BEGIN {
    x();
    sub foo { }
  }
&lt;/code&gt;

&lt;p&gt;then foo() will be declared only when x() terminates.&lt;/p&gt; But that's like writing this Java code&lt;/p&gt;

&lt;code&gt;
  for(;;) { }
  int x;
&lt;/code&gt;

&lt;p&gt;and asking whether "x" will ever be declared, which says absolutely nothing about how this program is parsed (and it's parsed fine).&lt;/p&gt;

&lt;p&gt;Cheers.&lt;/p&gt;</field>
<field name="root_node">
663393</field>
<field name="parent_node">
663393</field>
<field name="reputation">
2</field>
</data>
</node>
