%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % Frown --- An LALR(k) parser generator for Haskell 98 % % Copyright (C) 2001-2005 Ralf Hinze % % % % This program is free software; you can redistribute it and/or modify % % it under the terms of the GNU General Public License (version 2) as % % published by the Free Software Foundation. % % % % This program is distributed in the hope that it will be useful, % % but WITHOUT ANY WARRANTY; without even the implied warranty of % % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % % GNU General Public License for more details. % % % % You should have received a copy of the GNU General Public License % % along with this program; see the file COPYING. If not, write to % % the Free Software Foundation, Inc., 59 Temple Place - Suite 330, % % Boston, MA 02111-1307, USA. % % % % Contact information % % Email: Ralf Hinze % % Homepage: http://www.informatik.uni-bonn.de/~ralf/ % % Paper mail: Dr. Ralf Hinze % % Institut für Informatik III % % Universität Bonn % % Römerstraße 164 % % 53117 Bonn, Germany % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %options hugs -h4000000 -P$HOME/FuncMP: \newcommand{\technical}[1]{\textsl{#1}} \newcommand{\explain}[1]{\quad\{\;\text{#1}\;\}} % html %if html % html %let spacePreserving = True %let standardsymbols = True %include lhs2TeX.sty %include lhs2TeX.fmt %include polycode.fmt %subst code a = "\begin{rawhtml}'n
'n\end{rawhtml}'n\begin{tabbing}\tt'n>" a "'n\end{tabbing}'n\begin{rawhtml}'n

'n\end{rawhtml}'n" %subst newline = "\\'n\tt>" %subst inline a = "{\tt " a "}" %subst thinspace = "~" %format . = "." %format \ = "\backslash " %subst verb a = "\mbox{\tt " a "}" % html %else % html %let meta = True %let array = True %include lhs2TeX.sty %include lhs2TeX.fmt % \setlength{\cwidth}{0cm} % \setlength{\lwidth}{0cm} % the `doubleequals' macro is due to Jeremy Gibbons \def\doubleequals{\mathrel{\unitlength 0.01em \begin{picture}(78,40) \put(7,34){\line(1,0){25}} \put(45,34){\line(1,0){25}} \put(7,14){\line(1,0){25}} \put(45,14){\line(1,0){25}} \end{picture}}} %format ^ = " " %format cdots = "\cdots " %format ldots = "\ldots " %format `elem` = "\in " %format `o` = "\mathrel{\cdot}" %format == = "\doubleequals " %format /= = "\not\doubleequals " %format forall (a) = "\forall " a %format . = "\,.\," %format >>> = "\mathord{\rangle}\enskip " % format error msg = msg %format e1 %format e2 %format m1 %format m2 %format v1 %format v2 %format v_1 = v "_1" %format v_k = v "_k" %format left = "\mathbf{left}" %format right = "\mathbf{right}" %format nonassoc = "\mathbf{nonassoc}" % html %endif % html %format Paren1 = Paren %format Paren2 = Paren %format Paren3 = Paren %format Let1 = Let %format Let2 = Let %format Let3 = Let %format Let4 = Let %format Let5 = Let %format Let6 = Let %format Let7 = Let %format Let8 = Let %format MLexer1 = MLexer %format MLexer2 = MLexer %format MLexer3 = MLexer %format Terminal1 = Terminal % subst comment a = "\mbox{" a "}"