File: LetSyntax.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 (24 lines) | stat: -rwxr-xr-x 891 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%include tex.fmt
\newcommand*{\amp}{@&&@}%
%format && = "\text{\amp}"
%format || = "\text{\ttfamily ||}"
%format == = "\text{\ttfamily ==}"
%format /= = "\text{\ttfamily /=}"
%format <  = "\text{\ttfamily <}"
%format <= = "\text{\ttfamily <=}"
%format >= = "\text{\ttfamily >=}"
%format >  = "\text{\ttfamily >}"
%format ++ = "\text{\ttfamily ++}"
%format +  = "\text{\ttfamily +}"
%format -  = "\text{\ttfamily -}"
%format *  = "\text{\ttfamily *}"
%format /  = "\text{\ttfamily /}"

\begin{code}
dir(^let^) ^^ ent(varname) ^^ syn(=) ^^ ent(expression)

ent(expression)   ::=  ent(application) ^^ many(ent(operator) ^^ ent(application))
ent(application)  ::=  opt(term(not)) ^^ ent(atom)
ent(atom)         ::=  ent(varid) | term(True) | term(False) | ent(string') | ent(numeral) | (ent(expression))
ent(operator)     ::=  && | || | == | /= | < | <= | >= | > | ++ | + | - | * | /
\end{code}