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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
\documentclass{article}
\usepackage{etoolbox}
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage{listings}
\lstdefinelanguage{sail}
{ morekeywords={val,function,mapping,cast,type,forall,overload,operator,enum,union,undefined,exit,and,assert,sizeof,
scattered,register,inc,dec,if,then,else,effect,let,as,@,in,end,Type,Int,Order,match,clause,struct,
foreach,from,to,by,infix,infixl,infixr,bitfield,default,try,catch,throw,constraint},
keywordstyle={\bf\ttfamily\color{blue}},
morestring=[b]",
stringstyle={\ttfamily\color{red}},
morecomment=[l][\itshape\color{DarkGreen}]{//},
morecomment=[s][\itshape\color{DarkGreen}]{/*}{*/},
deletestring=[bd]{'},
escapechar=\#,
emphstyle={\it},
literate=
{\{|}{{$\{|$}}1
{|\}}{{$|\}$}}1
}
\input{out/commands.tex}
\begin{document}
\clearpage
type: \sailtype{cap\_uperms\_width}
let: \saillet{cap\_uperms\_width}
\clearpage
ref type: \sailreftype{cap\_uperms\_width}{ref to cap\_uperms\_width}
\clearpage
val: \sailval{main}
\clearpage
refval: \sailrefval{main}{ref to main}
\clearpage
\sailfn{main}
\clearpage
reffn: \sailreffn{main}{ref to main}
\clearpage
five: \saillet{five}
six: \saillet{six}
seven: \saillet{seven}
\clearpage
small: \sailregister{small}
big: \sailregister{big}
\clearpage
bitfield: \sailtype{CapCauseReg}
register: \sailregister{CapCause}
\end{document}
|