<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>68694</integer>
    </number>
    <user>
      <string>|Agent</string>
    </user>
    <title>
      <string>Attribute syntax alternatives</string>
    </title>
    <contents>
      <string>// Parses a program block. Declarations made in this block are only in scope within this block.
// block ::= constants variables procedures statement
define parser block ()
   rule seq(constants, variables, procedures, statement) =&gt; tokens;
   slot procedure-list = tokens[2];
   slot statement-list = tokens[3];
attributes
   declared-constants :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
   declared-variables :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
afterwards (context, tokens)
   if (tokens[3].empty?) error(&quot;Need at least one statement.&quot;) end if;
end parser;


// Parses a program block. Declarations made in this block are only in scope within this block.
// block ::= constants variables procedures statement
define parser block ()
   rule seq(constants, variables, procedures, statement) =&gt; tokens;
   slot procedure-list = tokens[2];
   slot statement-list = tokens[3];
attributes
   let declared-constants :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
   let declared-variables :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
afterwards (context, tokens)
   if (tokens[3].empty?) error(&quot;Need at least one statement.&quot;) end if;
end parser;


// Parses a program block. Declarations made in this block are only in scope within this block.
// block ::= constants variables procedures statement
define parser block ()
   rule seq(constants, variables, procedures, statement) =&gt; tokens;
   slot procedure-list = tokens[2];
   slot statement-list = tokens[3];
   attr declared-constants :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
   attr declared-variables :: &lt;stretchy-vector&gt; = make(&lt;stretchy-vector&gt;);
afterwards (context, tokens)
   if (tokens[3].empty?) error(&quot;Need at least one statement.&quot;) end if;
end parser;


</string>
    </contents>
    <universal-time>
      <integer>3433254646</integer>
    </universal-time>
    <channel>
      <string>#dylan</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
    <deletion-requested>
      <null/>
    </deletion-requested>
    <deletion-requested-email>
      <null/>
    </deletion-requested-email>
    <expiration-time>
      <null/>
    </expiration-time>
  </paste>
</paste-with-annotations>
