File: LetSyntax.lhs

package info (click to toggle)
lhs2tex 1.9-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,544 kB
  • ctags: 28
  • sloc: haskell: 3,364; sh: 2,773; makefile: 349
file content (24 lines) | stat: -rw-r--r-- 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}