File: AGExampleIn.lhs

package info (click to toggle)
lhs2tex 1.24-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 1,976 kB
  • sloc: haskell: 4,408; makefile: 314; sh: 221
file content (31 lines) | stat: -rwxr-xr-x 827 bytes parent folder | download | duplicates (2)
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