> module Paren2 where
> import Result
>
> data Tree                     =  Leaf | Fork Tree Tree
>                                  deriving (Show)
>
> %{
>
> Terminal                      =  '(' | ')';
>
> Nonterminal                   =  paren {Tree};
>
> paren  {Leaf}                 :  ;
>        {Fork t u}             |  paren {t}, '(', paren {u}, ')';
>       
>
> }%
>
> frown _                       =  fail "syntax error"