the first attribute is preceded by a '^' it is considered an <I>output
attribute</I>, and the corresponding parsing method will be called as a
function that assigns to this attribute, rather than as a void function.
Otherwise, attributes are <I>input attributes</I>.</P>

<P>A <I>semantic action</I> is an arbitrary sequence of Java statements
enclosed in &quot;(.&quot; and &quot;.)&quot;. These are simply incorporated
into the generated parser; their syntax is only checked when the generated
parser is compil