/usr/share/doc/frown-doc/examples/manual/Paren3.lg is in frown-doc 0.6.2.3-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | > module Paren2
> where
>
> %{
>
> Terminal = '(' | ')';
>
> paren {IO ()};
> paren {reduce "p : ;"}
> : ;
> paren {do t1; shift '('; t2; shift ')'; reduce "p : p, '(', p, ')';"}
> : paren {t1}, '(', paren {t2}, ')';
>
> }%
>
> frown _ = fail "*** syntax error"
>
> shift :: Char -> IO ()
> shift c = putStrLn ("shift " ++ show c)
>
> reduce :: String -> IO ()
> reduce p = putStrLn ("reduce by " ++ p)
|