1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
%include verbatim.fmt
\begingroup
\let\origtt=\ttfamily
%if stc
\let\small\scriptsize
%endif
\def\ttfamily#1#2{\origtt\makebox[0pt]{\phantom{X}}}
>%format ^ = " "
>%format ^^ = "\;"
>%format ATTR = "\mathbf{ATTR}"
>%format SEM = "\mathbf{SEM}"
>%format lhs = "\mathbf{lhs}"
>%format . = "."
>%format * = "\times"
>%format (A(n)(f)) = @ n . f
>\begin{code}
>ATTR Expr Factor [ ^^ | ^^ | numvars : Int ]
>ATTR Expr Factor [ ^^ | ^^ | value : Int ]
>
>SEM Expr
> | Sum
> lhs . value = A left value + A right value
> . numvars = A left numvars + A right numvars
>SEM Factor
> | Prod
> lhs . value = A left value * A right value
> . numvars = A left numvars + A right numvars
>\end{code}
\endgroup
|