summaryrefslogtreecommitdiff
path: root/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-10-25 21:00:20 +0100
committerHarald Welte <laforge@gnumonks.org>2015-10-25 21:00:20 +0100
commitfca59bea770346cf1c1f9b0e00cb48a61b44a8f3 (patch)
treea2011270df48d3501892ac1a56015c8be57e8a7d /2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode
import of old now defunct presentation slides svn repo
Diffstat (limited to '2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode')
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.c18
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.ll22
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Makefile41
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/complexFigure.tex88
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-c.tex22
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-ll.tex24
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/lgrind.sty228
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/llvm.lst15
8 files changed, 458 insertions, 0 deletions
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.c b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.c
new file mode 100644
index 0000000..34d1726
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.c
@@ -0,0 +1,18 @@
+typedef struct QuadTree {
+ double Data;
+ struct QuadTree *Children[4];
+} QT;
+
+void Sum3rdChildren(QT *T,
+ double *Result) {
+ double Ret;
+ if (T == 0) { Ret = 0;
+ } else {
+ QT *Child3 =
+ T[0].Children[3];
+ double V;
+ Sum3rdChildren(Child3, &V);
+ Ret = V + T[0].Data;
+ }
+ *Result = Ret;
+}
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.ll b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.ll
new file mode 100644
index 0000000..f9ce373
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Figures/example.ll
@@ -0,0 +1,22 @@
+%struct.QuadTree = type { double, [4 x %QT*] }
+%QT = type %struct.QuadTree
+
+void %Sum3rdChildren(%QT* %T, double* %Result) {
+entry: %V = alloca double ;; %V is type 'double*'
+ %tmp.0 = seteq %QT* %T, null ;; type 'bool'
+ br bool %tmp.0, label %endif, label %else
+
+else: ;;tmp.1 = &T[0].Children[3] 'Children' = Field #1
+ %tmp.1 = getelementptr %QT* %T, long 0, ubyte 1, long 3
+ %Child3 = load %QT** %tmp.1
+ call void %Sum3rdChildren(%QT* %Child3, double* %V)
+ %tmp.2 = load double* %V
+ %tmp.3 = getelementptr %QT* %T, long 0, ubyte 0
+ %tmp.4 = load double* %tmp.3
+ %tmp.5 = add double %tmp.2, %tmp.4
+ br label %endif
+
+endif: %Ret = phi double [ %tmp.5, %else ], [ 0.0, %entry ]
+ store double %Ret, double* %Result
+ ret void ;; Return with no value
+}
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Makefile b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Makefile
new file mode 100644
index 0000000..9777b58
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/Makefile
@@ -0,0 +1,41 @@
+
+.SUFFIXES: .tex .dvi .aux .eps .fig .dia .ps .pdf .bib .bbl
+
+TOP=complexFigure
+TEXFILES=$(TOP).tex
+FIGFILES:=$(wildcard *.fig)
+EPSFILES:=$(wildcard *.eps)
+EPSFILES+=$(FIGFILES:.fig=.eps)
+PDFFILES=$(EPSFILES:.eps=.pdf)
+
+.fig.eps:
+ fig2dev -L eps $< >$@
+
+.fig.pdf:
+ fig2dev -L pdf $< >$@
+
+.eps.pdf:
+ epstopdf $<
+
+all: $(TOP).ps $(TOP).pdf
+
+$(TOP).ps: $(TOP).dvi
+ dvips -o $(TOP).ps $(TOP)
+
+$(TOP).dvi: $(TEXFILES) $(EPSFILES)
+ latex $(TOP) || true
+ bibtex $(TOP) || true
+ latex $(TOP) || true
+ latex $(TOP)
+
+$(TOP).pdf: $(TEXFILES) $(PDFFILES)
+ pdflatex $(TOP) || true
+ bibtex $(TOP) || true
+ pdflatex $(TOP) || true
+ pdflatex $(TOP)
+
+clean:
+ rm -f *.aux *.dvi *.log
+ rm -f $(TOP).ps $(TOP).pdf $(TOP).bbl $(TOP).blg
+
+
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/complexFigure.tex b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/complexFigure.tex
new file mode 100644
index 0000000..6fe6c94
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/complexFigure.tex
@@ -0,0 +1,88 @@
+\documentclass[twocolumn,12pt]{article}
+\usepackage{ols}
+\ifpdf
+\usepackage[pdftex]{epsfig}
+\else
+\usepackage{epsfig}
+\fi
+\input{ols-fonts}
+
+% These packages are Proceedings-friendly.
+\usepackage{cprog}
+\usepackage[nolineno,norules]{lgrind}
+\usepackage[hang,scriptsize]{subfigure}
+
+% These ones are only suitable for standalone
+\usepackage{subfigure}
+%%% both of these break the Proceedings and are thus evil
+\usepackage{listings}
+\input{llvm.lst} % Get listing support for llvm code
+%%%%
+
+
+\begin{document}
+
+\date{}
+
+%make title bold and 14 pt font (Latex default is non-bold, 16 pt)
+\title{Architecture for a Next-Generation GCC}
+
+\author{
+Chris Lattner \hspace*{0.5in} Vikram Adve\\
+\emph{University of Illinois at Urbana, Champaign}\\
+\texttt{\em\normalsize \{lattner, vadve\}@cs.uiuc.edu}\\
+\emph{\normalsize \url{http://llvm.cs.uiuc.edu}}}
+
+\maketitle
+
+% You have to do this to suppress page numbers. Don't ask.
+\thispagestyle{empty}
+
+Formatting team's note: The two figures here illustrate two ways of presenting
+the same information, and are hopefully more complex
+than you'll require. The first is set using Proceedings-friendly
+packages; the second works only as a standalone paper.
+
+%%% Figure typeset in a Proceedings-friendly fashion
+%%% (thanks to Diego Novillo for inspiration)
+\begin{figure*}[t]
+\scriptsize
+%%% \centering
+\subfigure[Example function]{%
+\label{figure:example_c}
+\parbox{0.65\columnwidth}{\input{example-c}}
+}\hspace*{5pt}\vrule\hspace*{5pt}
+\subfigure[Corresponding LLVM code] {%
+\label{figure:example_llvm}
+\parbox{1.35\columnwidth}{\input{example-ll}}}
+%%% }%
+\caption{C and LLVM code for a function}
+\label{figure:example}
+\end{figure*}
+
+%%===------------------------
+% Code example figure
+%
+\begin{figure*} [t]
+\scriptsize
+\centering
+\subfigure[Example function] {
+\label{figure2:example_c}
+\lstset{language=c}
+\lstinputlisting{Figures/example.c}
+}\hspace*{5pt}\vrule\hspace*{5pt}
+\subfigure[Corresponding LLVM code] {
+\label{figure2:example_llvm}
+\lstset{language=LLVM}
+\lstinputlisting{Figures/example.ll}
+}%
+\caption{C and LLVM code for a function}
+\label{figure2:example}
+\end{figure*}
+%
+%%===------------------------
+
+
+\end{document}
+
+
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-c.tex b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-c.tex
new file mode 100644
index 0000000..2f8bf0d
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-c.tex
@@ -0,0 +1,22 @@
+\begin{cprog}
+typedef struct QuadTree {
+ double Data;
+ struct QuadTree
+ *Children[4];
+} QT;
+
+void Sum3rdChildren(QT *T,
+ double *Result) {
+ double Ret;
+ if (T == 0) { Ret = 0;
+ } else {
+ QT *Child3 =
+ T[0].Children[3];
+ double V;
+ Sum3rdChildren(Child3,
+ &V);
+ Ret = V + T[0].Data;
+ }
+ *Result = Ret;
+}
+\end{cprog}
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-ll.tex b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-ll.tex
new file mode 100644
index 0000000..681b759
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/example-ll.tex
@@ -0,0 +1,24 @@
+\begin{verbatim}
+%struct.QuadTree = type { double, [4 x %QT*] }
+%QT = type %struct.QuadTree
+
+void %Sum3rdChildren(%QT* %T, double* %Result) {
+entry: %V = alloca double ;; %V is type 'double*'
+ %tmp.0 = seteq %QT* %T, null ;; type 'bool'
+ br bool %tmp.0, label %endif, label %else
+
+else: ;;tmp.1 = &T[0].Children[3] 'Children' = Field #1
+ %tmp.1 = getelementptr %QT* %T, long 0, ubyte 1, long 3
+ %Child3 = load %QT** %tmp.1
+ call void %Sum3rdChildren(%QT* %Child3, double* %V)
+ %tmp.2 = load double* %V
+ %tmp.3 = getelementptr %QT* %T, long 0, ubyte 0
+ %tmp.4 = load double* %tmp.3
+ %tmp.5 = add double %tmp.2, %tmp.4
+ br label %endif
+
+endif: %Ret = phi double [ %tmp.5, %else ], [ 0.0, %entry ]
+ store double %Ret, double* %Result
+ ret void ;; Return with no value
+}
+\end{verbatim}
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/lgrind.sty b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/lgrind.sty
new file mode 100644
index 0000000..2d04753
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/lgrind.sty
@@ -0,0 +1,228 @@
+%%
+%% This is file `lgrind.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lgrind.dtx (with options: `package')
+%%
+%% LGrind is used to format source code of different programming
+%% languages for LaTeX.
+%%
+%% LGrind is a minor adaptation of Jerry Leichter's tgrind for LaTeX,
+%% which was a notable improvement upon Van Jacobsen's tgrind for
+%% plain TeX, which was adapted from vgrind, a troff prettyprinter.
+%%
+%% Based on Van Jacobson's ``tgrindmac'', a macro package for TeX.
+%% Modified, 1987 by Jerry Leichter. Put '@' in all internal names.
+%% Modified, 1991 by George Reilly. Changed name from tgrind to lgrind.
+%% Modified, 1995 by Michael Piefel. Made it work with \LaTeXe.
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{lgrind}
+ [1997/01/30 v3.4 LGrind environment and supporting stuff]
+\newcount\lc@unt
+\newcount\ln@xt
+\newcount\LGnuminterval
+\LGnuminterval=10
+\DeclareOption{nolineno}{\LGnuminterval=50000}
+\DeclareOption{lineno5}{\LGnuminterval=5}
+\newif\ifLGleftnum
+\DeclareOption{leftnum}{\LGleftnumtrue}
+\newskip\LGindent
+\LGindent=1.6667\parindent
+\DeclareOption{noindent}{\LGindent=0pt}
+\newif\ifLGnorules
+\DeclareOption{norules}{\LGnorulestrue}
+\newlength{\LGsloppy}
+\setlength{\LGsloppy}{7.2pt}
+\DeclareOption{fussy}{\LGsloppy=0pt}
+\newcommand{\DefaultProc}{\@gobble}
+\newcommand{\DefaultProcCont}{\@gobble}
+\DeclareOption{procnames}{
+\renewcommand{\DefaultProc}[1]{\renewcommand{\Procname}{#1}%
+\global\setbox\procbox=\hbox{\PNsize #1}}
+\renewcommand{\DefaultProcCont}[1]{\renewcommand\Procname{#1}
+\global\setbox\procbox=\hbox{\PNsize\dots #1}}}
+\newbox\procbox
+\newcommand{\Procname}{}
+\ProcessOptions
+\def\BGfont{\sffamily}
+\def\CMfont{\rmfamily\itshape}
+\def\NOfont{\sffamily}
+\def\KWfont{\rmfamily\bfseries}
+\def\STfont{\ttfamily}
+\def\VRfont{\rmfamily}
+\def\PNsize{\BGfont\small}
+\def\LGsize{\small}
+\def\LGfsize{\footnotesize}
+\newif\ifLGinline
+\newif\ifLGd@fault
+\def\LGbegin{\ifLGinline$\hbox\else$$\vbox\fi\bgroup\LGd@faulttrue}
+\def\LGend{\ifLGd@fault\egroup\ifLGinline$\else$$\fi\LGd@faultfalse\fi}
+\newif\ifc@mment
+\newif\ifstr@ng
+\newif\ifright@
+\newbox\ls@far
+\newbox\tb@x
+\newdimen\TBw@d
+\newdimen\@ts
+{\catcode`\_=\active \gdef\@setunder{\let_=\sp@ce}}
+\newcommand{\lgrindheader}{}
+\newcommand{\lgrindfilename}{}\newcommand{\lgrindfilesize}{}
+\newcommand{\lgrindmodyear}{}\newcommand{\lgrindmodmonth}{}
+\newcommand{\lgrindmodday}{}\newcommand{\lgrindmodtime}{}
+\newenvironment{lgrind}[1][1]{%
+\def\Line##1{\L{\LB{##1}}}%
+\newcommand{\Head}[1]{\gdef\lgrindhead{##1}}%
+\newcommand{\File}[6]{\gdef\lgrindfilename{##1}\message{(LGround: ##1)}%
+ \gdef\lgrindmodyear{##2}\gdef\lgrindmodmonth{##3}%
+ \gdef\lgrindmodday{##4}\gdef\lgrindmodtime{##5}%
+ \gdef\lgrindfilesize{##6}}%
+\let\Proc=\DefaultProc%
+\let\ProcCont=\DefaultProcCont%
+\hfuzz=\LGsloppy
+\def\NewPage{\filbreak\bigskip}%
+\ifLGinline
+ \def\L##1{\setbox\ls@far\null{\CF\strut##1}\ignorespaces}%
+\else
+ \let\r@ghtlno\relax\let\l@ftlno\relax
+ \ifnum\LGnuminterval>\z@
+ \ifLGleftnum
+ \def\l@ftlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt
+ \global\advance\ln@xt by\LGnuminterval
+ \llap{{\normalfont\scriptsize\the\lc@unt\quad}}\fi
+ \else\llap{\box\procbox\quad}\fi}%
+ \else
+ \def\r@ghtlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt
+ \global\advance\ln@xt by\LGnuminterval
+ \rlap{{\normalfont\scriptsize\enspace\the\lc@unt}}\fi
+ \else\rlap{\enspace\box\procbox}\fi}%
+ \fi
+ \fi
+ \def\L##1{\@@par\setbox\ls@far=\null\strut
+ \global\advance\lc@unt by1%
+ \hbox to \hsize{\hskip\LGindent\l@ftlno ##1\egroup%
+ \hfil\r@ghtlno}%
+ \ignorespaces}%
+\fi
+\lc@unt=#1\advance\lc@unt by-1%
+\ln@xt=\LGnuminterval\advance\ln@xt by-1%
+\loop\ifnum\lc@unt>\ln@xt\advance\ln@xt by\LGnuminterval\repeat%
+\def\LB{\hbox\bgroup\bgroup\box\ls@far\CF\let\next=}%
+\def\Tab##1{\egroup\setbox\tb@x=\lastbox\TBw@d=\wd\tb@x%
+ \advance\TBw@d by 1\@ts\ifdim\TBw@d>##1\@ts
+ \setbox\ls@far=\hbox{\box\ls@far \box\tb@x \sp@ce}\else
+ \setbox\ls@far=\hbox to ##1\@ts{\box\ls@far \box\tb@x \hfil}\fi\LB}%
+\ifLGinline\def\sp@ce{\hskip .3333em}%
+\else \setbox\tb@x=\hbox{\texttt{0}}%
+ \@ts=0.8\wd\tb@x \def\sp@ce{\hskip 1\@ts}\fi
+\catcode`\_=\active \@setunder
+\def\CF{\ifc@mment\CMfont\else\ifstr@ng\STfont\fi\fi}
+\def\N##1{{\NOfont ##1}\global\futurelet\next\ic@r}%
+\def\K##1{{\KWfont ##1}\global\futurelet\next\ic@r}%
+\def\V##1{{\VRfont ##1}\global\futurelet\next\ic@r}%
+\def\ic@r{\let\@tempa\/\ifx.\next\let\@tempa\relax%
+ \else\ifx,\next\let\@tempa\relax\fi\fi\@tempa}%
+\def\C{\egroup\bgroup\CMfont \global\c@mmenttrue \global\right@false}%
+\def\CE{\egroup\bgroup \global\c@mmentfalse}%
+\def\S{\egroup\bgroup\STfont \global\str@ngtrue}%
+\def\SE{\egroup\bgroup \global\str@ngfalse}%
+\def\,{\relax \ifmmode\mskip\thinmuskip \else\thinspace \fi}%
+\def\!{\relax \ifmmode\mskip-\thinmuskip \else\negthinspace \fi}%
+\def\CH##1##2##3{\relax\ifmmode ##1\relax
+\else\ifstr@ng ##2\relax\else$##3$\fi\fi }%
+\def\{{\CH\lbrace {\char'173}\lbrace }%
+\def\}{\CH\rbrace {\char'175}\rbrace }%
+\def\1{\CH///}% % /
+\def\2{\CH\backslash {\char'134}\backslash }% % \
+\def\|{\CH|{\char'174}|}%
+\def\<{\CH<<<}%
+\def\>{\CH>>>}%
+\def\*{\CH***}\relax %\relax for DOCSTY
+\def\-{\CH---}%
+\def\_{\ifstr@ng {\char'137}\else
+ \leavevmode \kern.06em \vbox{\hrule width.35em}%
+ \ifdim\fontdimen\@ne\font=\z@ \kern.06em \fi\fi }%
+\def\&{\textsf{\char'046}}%
+\def\#{{\STfont\char'043}}%
+\def\%{{\char'045}}%
+\def\~{{\char'176}}%
+\def\3{\ifc@mment\ifright@ ''\global\right@false%
+ \else``\global\right@true \fi
+ \else{\texttt{\char'042}}\fi}%
+\def\4{\ifc@mment'\else {\texttt{\char'015}}\fi}%
+\def\5{{\texttt{\char'136}}}%
+\def\${{\ifmmode\slshape\else\ifdim\fontdimen\@ne\font>\z@\slshape\fi\fi
+ \char'044}}% %No $ in \it, use \sl
+\parindent\z@\parskip\z@ plus 1pt\hsize\linewidth%
+\bgroup\BGfont
+}
+{\egroup\@@par} % end of environment lgrind
+\def\lgrinde{\ifLGinline\else\LGsize\fi\begin{lgrind}}
+\def\endlgrinde{\end{lgrind}}
+\def\lagrind{\@ifstar{\@slagrind}{\@lagrind}}
+
+\def\@lagrind{\@ifnextchar[{\@@lagrind}{\@@lagrind[t]}}
+\def\@slagrind{\@ifnextchar[{\@@slagrind}{\@@slagrind[t]}}
+\def\@@lagrind[#1]#2#3#4{%
+ \begin{figure}[#1]
+\ifLGnorules\else\hrule\fi
+\vskip .5\baselineskip
+\begin{minipage}\columnwidth\LGsize\LGindent\z@
+ \begin{lgrind}
+\input #2\relax
+ \end{lgrind}
+\end{minipage}
+\vskip .5\baselineskip plus .5\baselineskip
+\ifLGnorules\else\hrule\fi\vskip .5\baselineskip
+\begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+\caption{#3}%
+\label{#4}%
+ \else
+\captcont{#3}%
+ \fi
+\endgroup
+\vskip 2pt
+ \end{figure}
+}
+\def\@@slagrind[#1]#2#3#4{%
+ \begin{figure*}[#1]
+\ifLGnorules\else\hrule\fi
+\vskip .5\baselineskip
+\begin{minipage}\linewidth\LGsize\LGindent\z@
+ \begin{lgrind}
+\input #2\relax
+ \end{lgrind}
+\end{minipage}
+\vskip .5\baselineskip plus .5\baselineskip
+\ifLGnorules\else\hrule\fi\vskip .5\baselineskip
+\begingroup
+ \setbox\z@=\hbox{#4}%
+ \ifdim\wd\z@>\z@
+\caption{#3}%
+\label{#4}%
+ \else
+\captcont{#3}%
+ \fi
+\endgroup
+\vskip 2pt
+ \end{figure*}
+}
+\def\lgrindfile#1{%
+ \par\addvspace{0.1in}
+ \ifLGnorules\else\hrule\fi
+ \vskip .5\baselineskip
+ \begingroup\LGfsize\LGindent\z@
+\begin{lgrind}
+ \input #1\relax
+\end{lgrind}
+ \endgroup
+ \vskip .5\baselineskip
+ \ifLGnorules\else\hrule\fi
+ \addvspace{0.1in}
+}
+\endinput
+%%
+%% End of file `lgrind.sty'.
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/llvm.lst b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/llvm.lst
new file mode 100644
index 0000000..8adbb23
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/EXAMPLE/complexCode/llvm.lst
@@ -0,0 +1,15 @@
+\lstdefinelanguage{LLVM}
+ {morekeywords={
+ begin,end,true,false,declare,global,constant,const,internal,implementation,
+ null,to,except,not,
+ void,bool,sbyte,ubyte,short,ushort,int,uint,long,ulong,float,double,type,label,opaque,
+ add,sub,mul,div,rem,and,or,xor,setne,seteq,setlt,setgt,setle,setge,
+ phi,call,cast,shl,shr,
+ ret,br,switch,invoke,
+ malloc,alloca,free,load,store,getelementptr
+ },
+ sensitive=true,
+% morecomment=[l]{;},
+% morestring=[b]",
+ }
+
personal git repositories of Harald Welte. Your mileage may vary