Changeset 3126 for docs/Working


Ignore:
Timestamp:
May 10, 2013, 4:16:34 PM (6 years ago)
Author:
ksherdy
Message:

Rough notes.

Location:
docs/Working/re
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • docs/Working/re/re-main.aux

    r3123 r3126  
    11\relax
    22\citation{aho2007}
     3\citation{abou-assaleh2004}
     4\citation{navarro2000}
    35\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
    46\newlabel{Introduction}{{1}{1}}
    5 \citation{kleene1951representation}
     7\citation{kleene1951}
     8\citation{thompson1968}
     9\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{2}}
     10\newlabel{Background}{{2}{2}}
    611\bibstyle{acm}
    712\bibdata{reference}
    8 \bibcite{aho2007}{1}
    9 \bibcite{kleene1951representation}{2}
    10 \@writefile{toc}{\contentsline {section}{\numberline {2}Background}{2}}
    11 \newlabel{Background}{{2}{2}}
    12 \@writefile{toc}{\contentsline {section}{\numberline {3}Methodology}{2}}
    13 \newlabel{Methodology}{{3}{2}}
    14 \@writefile{toc}{\contentsline {section}{\numberline {4}Experimental Results}{2}}
    15 \newlabel{results}{{4}{2}}
    16 \@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion and Future Work}{2}}
    17 \newlabel{conclusion}{{5}{2}}
     13\bibcite{abou-assaleh2004}{1}
     14\bibcite{aho2007}{2}
     15\bibcite{kleene1951}{3}
     16\bibcite{navarro2000}{4}
     17\bibcite{thompson1968}{5}
     18\@writefile{toc}{\contentsline {section}{\numberline {3}Parallel Bitwise Data Streams}{3}}
     19\newlabel{Parallel Bitwise Data Streams}{{3}{3}}
     20\@writefile{toc}{\contentsline {section}{\numberline {4}Compiler Technology}{3}}
     21\newlabel{Compiler Technology}{{4}{3}}
     22\@writefile{toc}{\contentsline {section}{\numberline {5}Methodology}{3}}
     23\newlabel{Methodology}{{5}{3}}
     24\@writefile{toc}{\contentsline {section}{\numberline {6}Experimental Results}{3}}
     25\newlabel{Experimental Results}{{6}{3}}
     26\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{3}}
     27\newlabel{Conclusion}{{7}{3}}
  • docs/Working/re/re-main.bbl

    r3123 r3126  
    11\begin{thebibliography}{1}
     2
     3\bibitem{abou-assaleh2004}
     4{\sc Abou-assaleh, T., and Ai, W.}
     5\newblock Survey of global regular expression print (grep) tools.
     6\newblock Tech. rep., 2004.
    27
    38\bibitem{aho2007}
     
    611\newblock Addison Wesley, 2007.
    712
    8 \bibitem{kleene1951representation}
     13\bibitem{kleene1951}
    914{\sc Kleene, S.~C.}
    1015\newblock Representation of events in nerve nets and finite automata.
    1116
     17\bibitem{navarro2000}
     18{\sc Navarro, G.}
     19\newblock Nr-grep: A fast and flexible pattern matching tool.
     20\newblock {\em Software Practice and Experience (SPE 31\/} (2000), 2001.
     21
     22\bibitem{thompson1968}
     23{\sc Thompson, K.}
     24\newblock Programming techniques: Regular expression search algorithm.
     25\newblock {\em Communications of the ACM 11}, 6 (1968), 419--422.
     26
    1227\end{thebibliography}
  • docs/Working/re/re-main.blg

    r3123 r3126  
    33The style file: acm.bst
    44Database file #1: reference.bib
    5 Warning--empty journal in kleene1951representation
    6 You've used 2 entries,
     5Warning--empty institution in abou-assaleh2004
     6Warning--empty journal in kleene1951
     7You've used 5 entries,
    78            2253 wiz_defined-function locations,
    8             537 strings with 4112 characters,
    9 and the built_in function-call counts, 483 in all, are:
    10 = -- 41
    11 > -- 24
     9            556 strings with 4444 characters,
     10and the built_in function-call counts, 1249 in all, are:
     11= -- 116
     12> -- 50
    1213< -- 0
    13 + -- 10
    14 - -- 8
    15 * -- 28
    16 := -- 93
    17 add.period$ -- 5
    18 call.type$ -- 2
    19 change.case$ -- 9
     14+ -- 21
     15- -- 16
     16* -- 86
     17:= -- 225
     18add.period$ -- 14
     19call.type$ -- 5
     20change.case$ -- 23
    2021chr.to.int$ -- 0
    21 cite$ -- 3
    22 duplicate$ -- 21
    23 empty$ -- 37
    24 format.name$ -- 8
    25 if$ -- 93
     22cite$ -- 7
     23duplicate$ -- 48
     24empty$ -- 104
     25format.name$ -- 16
     26if$ -- 250
    2627int.to.chr$ -- 0
    27 int.to.str$ -- 2
    28 missing$ -- 3
    29 newline$ -- 12
    30 num.names$ -- 4
    31 pop$ -- 14
     28int.to.str$ -- 5
     29missing$ -- 5
     30newline$ -- 27
     31num.names$ -- 10
     32pop$ -- 23
    3233preamble$ -- 1
    33 purify$ -- 8
     34purify$ -- 18
    3435quote$ -- 0
    35 skip$ -- 11
     36skip$ -- 26
    3637stack$ -- 0
    37 substring$ -- 10
    38 swap$ -- 3
     38substring$ -- 58
     39swap$ -- 8
    3940text.length$ -- 0
    4041text.prefix$ -- 0
    4142top$ -- 0
    42 type$ -- 6
    43 warning$ -- 1
    44 while$ -- 4
    45 width$ -- 3
    46 write$ -- 19
    47 (There was 1 warning)
     43type$ -- 18
     44warning$ -- 2
     45while$ -- 12
     46width$ -- 6
     47write$ -- 49
     48(There were 2 warnings)
  • docs/Working/re/re-main.log

    r3123 r3126  
    1 This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.10.7)  9 MAY 2013 16:27
     1This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.10.7)  10 MAY 2013 15:24
    22entering extended mode
    33 %&-line parsing enabled.
     
    268268(Font)              <6> on input line 23.
    269269LaTeX Font Info:    External font `cmex10' loaded for size
    270 (Font)              <7> on input line 47.
    271 LaTeX Font Info:    External font `cmex10' loaded for size
    272 (Font)              <5> on input line 47.
     270(Font)              <7> on input line 52.
     271LaTeX Font Info:    External font `cmex10' loaded for size
     272(Font)              <5> on input line 52.
    273273 [1
    274274
    275 {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./re-main.bbl) [2]
    276 (./re-main.aux) )
     275{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
     276
     277LaTeX Warning: Reference `Bitwise Parallel Data Streams' on page 2 undefined on
     278 input line 100.
     279
     280[2] (./re-main.bbl) [3] (./re-main.aux)
     281
     282LaTeX Warning: There were undefined references.
     283
     284 )
    277285Here is how much of TeX's memory you used:
    278  455 strings out of 493848
    279  4467 string characters out of 1152823
    280  54050 words of memory out of 3000000
    281  3784 multiletter control sequences out of 15000+50000
    282  8534 words of font info for 30 fonts, out of 3000000 for 9000
     286 463 strings out of 493848
     287 4615 string characters out of 1152823
     288 55050 words of memory out of 3000000
     289 3791 multiletter control sequences out of 15000+50000
     290 8842 words of font info for 31 fonts, out of 3000000 for 9000
    283291 714 hyphenation exceptions out of 8191
    284292 23i,6n,19p,165b,199s stack positions out of 5000i,500n,10000p,200000b,50000s
    285 </usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx1
    286 2.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx9.pfb></usr/
    287 share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></usr/share/texm
    288 f-texlive/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/share/texmf-texlive/fo
    289 nts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-texlive/fonts/type1/pu
    290 blic/amsfonts/cm/cmr12.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfont
    291 s/cm/cmr17.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr7.pf
    292 b></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share
    293 /texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb>
    294 Output written on re-main.pdf (2 pages, 132063 bytes).
     293</usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/sha
     294re/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texmf-te
     295xlive/fonts/type1/public/amsfonts/cm/cmbx9.pfb></usr/share/texmf-texlive/fonts/
     296type1/public/amsfonts/cm/cmcsc10.pfb></usr/share/texmf-texlive/fonts/type1/publ
     297ic/amsfonts/cm/cmmi7.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/
     298cm/cmr10.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr12.pfb
     299></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share
     300/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texmf-texliv
     301e/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texmf-texlive/fonts/type1
     302/public/amsfonts/cm/cmti10.pfb>
     303Output written on re-main.pdf (3 pages, 152136 bytes).
    295304PDF statistics:
    296  49 PDF objects out of 1000 (max. 8388607)
     305 56 PDF objects out of 1000 (max. 8388607)
    297306 0 named destinations out of 1000 (max. 500000)
    298307 1 words of extra memory for PDF output out of 10000 (max. 10000000)
  • docs/Working/re/re-main.tex

    r3124 r3126  
    22\usepackage[utf8]{inputenc}
    33
    4 \def \Bitstream{Bit Stream}
    5 \def \bitstream{bit stream}
    6 
    74%opening
    8 \title{Fast Regular Expression Matching using Parallel \Bitstream{}s}
     5\title{Fast Regular Expression Matching using Parallel Bitstreams}
    96\author{
    107{Robert D. Cameron} \\
     
    2522\begin{abstract}
    2623
    27 A data parallel regular expression matching method using the concept of bitstream technology
    28 is introduced and studied in application to the problem of fast regular expression matching.
     24A parallel regular expression matching method is introduced and studied in
     25application to the problem of online pattern matching.
    2926
    3027The method is based on the concept of parallel
    31 \bitstream{} technology, in which parallel streams of bits are formed such
     28bitstream technology, in which parallel streams of bits are formed such
    3229that each stream comprises bits in one-to-one correspondence with the
    3330character code units of a source data stream.
     
    4441%\input{introduction.tex}
    4542
    46 Regular expresssion matching is an extensively studied problem with a multitude
    47 of algorithms and software tools developed to the demands of particular problem contexts.
     43Regular expresssion matching is an extensively studied problem with application to
     44numerous application domains. A multitude
     45of algorithms and software tools have been developed to the address the particular
     46demands of the various application domains.
    4847
    49 Given a text T$_{1..n}$ of n characters and a pattern P, the pattern matching problem can be
    50 stated as follows. Find all the text positions of T that start an occurrence of P. 
    51 Alternatively, one may want all the final positions of occurrences. Some
    52 applications require slightly different output such as the line that matches the pattern.
     48The pattern matching problem can be
     49stated as follows. Given a text T$_{1..n}$ of n characters and a pattern P,
     50find all the text positions of T that start an occurrence of P. Alternatively,
     51one may want all the final positions of occurrences. Some applications require
     52slightly different output such as the line that matches the pattern.
    5353
    54 The pattern P can be just a simple string,
    55 but it can also be, for example, a regular expression.
    56 
    57 A regular expression, or pattern, is an expression that specifies a set of strings.
    58 A regular expression is composed of (i) simple strings (ii) the empty or (ii)
     54A pattern P can be a simple string, but it can also be, a regular expression.
     55A regular expression, is an expression that specifies a set of strings.
     56A regular expression is composed of (i) simple strings and (ii) the
    5957union, concatenation and Kleene closure of other regular expressions.
    6058To avoid parentheses it is assumed that the Kleene star has the highest priority,
     
    6462classical texts such as \cite{aho2007}.
    6563
    66 Regular expression matching is commonly performed using a variety of
    67 publically available software tools. The most prominent, UNIX grep, 
    68 Gnu grep, agrep, cgrep, nrgrep, and Perl regular
    69 expressions \cite{Abou-assaleh04surveyof}.
     64Regular expression matching is commonly performed using a wide variety of
     65publically available software tools for on-line pattern matching. For instance,
     66UNIX grep, Gnu grep, agrep, cgrep, nrgrep, and Perl regular
     67expressions \cite{abou-assaleh2004}. Amongst these tools Gnu grep (egrep),
     68agrep, and nrgrep are widely known and considered as
     69the fastest regular expression matching tools in practice \cite{navarro2000}.
     70and are of particular interest to this study.
    7071
    71 Amongst these Gnu grep, agrep, and nrgrep are widely known and considered as
    72 the fastest regular expression matching tools in practice \cite{}.
    73 
    74 Of particular interest to this study are the performance oriented Gnu grep, agrep, and nrgrep.
     72% simple patterns, extended patterns, regular expressions
    7573
    7674% motivation / previous work
    77 Although the finite state machine methods used in the scanning and parsing of
     75Although tradi finite state machine methods used in the scanning and parsing of
    7876text streams is considered to be the hardest of the “13 dwarves” to parallelize
    7977[1], parallel bitstream technology shows considerable promise for these types of
     
    8684
    8785We further increase the parallelism in our methods by introducing a new parallel
    88 scanning primitive which we have coined 'Match Star' that returns all matches in a single
    89 operation and eliminates the need for back tracking ... (ELABORATE)
     86scanning primitive which we have coined Match Star. Match Star returns all matches
     87in a single operation and eliminates backtracking
     88when a partially successful search path fails.
    9089
    91 --- STATE the content of the next sections. ---
     90       
     91The remainder of this paper is organized as follows.
    9292
     93Section~\ref{Background} presents background material on classic
     94regular expression pattern matching techniques and provides insight into the
     95efficiency of traditional regular expression software tools.
    9396
    94 We compare the performance of our parallel \bitstream{} techniques against
    95 various grep concentrate on the simpler case of
    96 reporting initial or final occurrence positions.
     97Section~\ref{Parallel Bitwise Data Streams} describes out data parallel
     98regular expression matching techniques.
    9799
     100Section~\ref{Compiler Technology}
     101
     102Section~\ref{Methodology} describes the evaluation framework and Section~\ref{Experimental Results}
     103presents a detailed performance analysis of our data parallel bitstream techniques against
     104Gnu grep, agrep, and nr-grep.
     105
     106Section~\ref{Conclusion} concludes the paper.
    98107
    99108\section{Background}
     
    106115
    107116Historically, the origins of regular expression matching date back to automata theory
    108 and formal language theory developed by Kleene in the 1950s \cite{kleene1951representation}.
     117and formal language theory developed by Kleene in the 1950s \cite{kleene1951}.
    109118
    110119In 1959, Dana and Scott demonstrated that
     
    126135DFA. A DFA has only a single active state and allows to search the text at
    127136O(n) worst-case optimal. The problem with this approach is that the DFA
    128 may have O(2^m) states.
     137may have O($2^m$) states.
    129138
    130139In general, the general process is first to build a
     
    134143and finally simulate the DFA on text input.
    135144
     145\section{Parallel Bitwise Data Streams}
     146\label{Parallel Bitwise Data Streams}
     147
     148\section{Compiler Technology}
     149\label{Compiler Technology}
    136150
    137151\section{Methodology}
     
    139153%\input{methodology.tex}
    140154
     155We compare the performance of our parallel \bitstream{} techniques against
     156Gnu grep, agrep, and nr-grep.
     157
     158Given a regular expression R and a test T the regular expression matching
     159problem finds all ending position of substrings in Q that matches a string in
     160the language denoted by R.
     161
     162The behaviour of Gnu grep, agrep, and nr-grep are differ in that
     163
     164Gnu grep
     165
     166agrep
     167
     168nr-grep
     169
     170
     171
    141172\section{Experimental Results}
    142 \label{results}
     173\label{Experimental Results}
    143174%\input{results.tex}
    144175
    145 \section{Conclusion and Future Work}
    146 \label{conclusion}
     176\section{Conclusion}
     177\label{Conclusion}
    147178%\input{conclusion.tex}
    148179
  • docs/Working/re/re-main.tex.backup

    r3124 r3126  
    2525\begin{abstract}
    2626
    27 A data parallel regular expression matching method using the concept of bitstream technology
    28 is introduced and studied in application to the problem of fast regular expression matching.
     27A parallel regular expression matching method is introduced and studied in
     28application to the problem of online pattern matching.
    2929
    3030The method is based on the concept of parallel
     
    4444%\input{introduction.tex}
    4545
    46 % parallel bitstream technology, parallelization, regular expressions
     46Regular expresssion matching is an extensively studied problem with application to
     47numerous application domains. A multitude
     48of algorithms and software tools have been developed to the address the particular
     49demands of the various application domains.
     50
     51The pattern matching problem can be
     52stated as follows. Given a text T$_{1..n}$ of n characters and a pattern P,
     53find all the text positions of T that start an occurrence of P. Alternatively,
     54one may want all the final positions of occurrences. Some applications require
     55slightly different output such as the line that matches the pattern.
     56
     57A pattern P can be a simple string, but it can also be, a regular expression.
     58A regular expression, is an expression that specifies a set of strings.
     59A regular expression is composed of (i) simple strings and (ii) the
     60union, concatenation and Kleene closure of other regular expressions.
     61To avoid parentheses it is assumed that the Kleene star has the highest priority,
     62next concatenation and then alternation, however, most formalisms provides grouping
     63operators to allow the definition of scope and operator precedence.
     64Readers unfamiliar with the concept of regular expression matching are referred
     65classical texts such as \cite{aho2007}.
     66
     67Regular expression matching is commonly performed using a wide variety of
     68publically available software tools for on-line pattern matching. For instance,
     69UNIX grep, Gnu grep, agrep, cgrep, nrgrep, and Perl regular
     70expressions \cite{abou-assaleh2004}. Amongst these tools Gnu grep (egrep),
     71agrep, and nrgrep are widely known and considered as
     72the fastest regular expression matching tools in practice \cite{navarro2000}.
     73and are of particular interest to this study.
     74
     75% simple patterns, extended patterns, regular expressions
    4776
    4877% motivation / previous work
    49 Although the finite state machine methods used in the scanning and parsing of
     78Although tradi finite state machine methods used in the scanning and parsing of
    5079text streams is considered to be the hardest of the “13 dwarves” to parallelize
    5180[1], parallel bitstream technology shows considerable promise for these types of
     
    5887
    5988We further increase the parallelism in our methods by introducing a new parallel
    60 scanning primitive which we have coined 'Match Star' that returns all matches in a single
    61 operation and eliminates the need for back tracking ... (ELABORATE)
     89scanning primitive which we have coined Match Star. Match Star returns all matches
     90in a single operation and eliminates backtracking
     91when a partially successful search path fails.
    6292
     93       
     94The remainder of this paper is organized as follows.
    6395
    64 Given a text T$_{1..n}$ of n characters and a pattern P, the pattern matching problem can be
    65 stated as follows. Find all the text positions of T that start an occurrence of P. 
    66 Alternatively, one may want all the final positions of occurrences. Some
    67 applications require slightly different output such as the line that matches the pattern.
     96Section~\ref{Background} presents background material on classic
     97regular expression pattern matching techniques and provides insight into the
     98efficiency of traditional regular expression software tools.
    6899
    69 The pattern P can be just a simple string,
    70 but it can also be, for example, a regular expression.
     100Section~\ref{Bitwise Parallel Data Streams} describes out data parallel
     101regular expression matching techniques.
    71102
    72 A regular expression, or pattern, is an expression that specifies a set of strings.
    73 A regular expression is composed of (i) simple strings (ii) the empty or (ii)
    74 union, concatenation and Kleene closure of other regular expressions.
    75 To avoid parentheses it is assumed that the Kleene star has the highest priority,
    76 next concatenation and then alternation, however, most formalisms provides grouping
    77 operators to allow the definition of scope and operator precedence.
    78 Readers unfamiliar with the concept of regular expression matching are referred
    79 classical texts such as \cite{aho2007}.
     103Section~\ref{Compiler Technology}
    80104
    81 Regular expression matching is commonly performed using a variety of
    82 publically available software tools. The most prominent, UNIX grep, 
    83 Gnu grep, agrep, cgrep, nrgrep, and Perl regular
    84 expressions \cite{Abou-assaleh04surveyof}.
     105Section~\ref{Methodology} describes the evaluation framework and Section~\ref{Experimental Results}
     106presents a detailed performance analysis of our data parallel \bitstream{} techniques against
     107Gnu grep, agrep, and nr-grep.
    85108
    86 Amongst these Gnu grep, agrep, and nrgrep are widely known and considered as
    87 the fastest regular expression matching tools in practice \cite{}.
    88 
    89 Of particular interest to this study are the performance oriented Gnu grep, agrep, and nrgrep.
    90 
    91 % Unix grep
    92 % Gnu grep
    93 % agrep
    94 % nrgrep
    95 
    96 Regular expresssion matching is an extensively studied problem with a multitude
    97 of algorithms and software tools developed to the demands of particular problem contexts.
    98 
    99 As such, we compare the performance of our parallel \bitstream{} techniques against
    100 various grep concentrate on the simpler case of
    101 reporting initial or final occurrence positions.
    102 
     109Section~\ref{conclusion} concludes the paper.
    103110
    104111\section{Background}
     
    111118
    112119Historically, the origins of regular expression matching date back to automata theory
    113 and formal language theory developed by Kleene in the 1950s \cite{kleene1951representation}.
     120and formal language theory developed by Kleene in the 1950s \cite{kleene1951}.
    114121
    115122In 1959, Dana and Scott demonstrated that
     
    140147
    141148
     149
     150\section{Parallel Bitwise Data Streams}
     151\label{Parallel Bitwise Data Streams}
     152
     153
     154\section{Compiler Technology}
     155\label{Compiler Technology}
     156
    142157\section{Methodology}
    143158\label{Methodology}
    144159%\input{methodology.tex}
     160
     161We compare the performance of our parallel \bitstream{} techniques against
     162Gnu grep, agrep, and nr-grep.
     163
     164Given a regular expression R and a test T the regular expression matching
     165problem finds all ending position of substrings in Q that matches a string in
     166the language denoted by R.
     167
     168The behaviour of Gnu grep, agrep, and nr-grep are differ in that
     169
     170Gnu grep
     171
     172agrep
     173
     174nr-grep
     175
     176
    145177
    146178\section{Experimental Results}
  • docs/Working/re/reference.bib

    r3123 r3126  
    66}
    77
    8 @article{kleene1951representation,
     8@article{kleene1951,
    99  title={Representation of events in nerve nets and finite automata},
    1010  author={Kleene, Stephen Cole},
     
    1313}
    1414
    15 @TECHREPORT{Abou-assaleh04surveyof,
     15@TECHREPORT{abou-assaleh2004,
    1616    author = {Tony Abou-assaleh and Wei Ai},
    1717    title = {Survey of global regular expression print (GREP) tools},
     
    2929  pages={419-422}
    3030}
     31
     32@ARTICLE{navarro2000,
     33    author = {Gonzalo Navarro},
     34    title = {NR-grep: A Fast and Flexible Pattern Matching Tool},
     35    journal = {Software Practice and Experience (SPE},
     36    year = {2000},
     37    volume = {31},
     38    pages = {2001}
     39}
Note: See TracChangeset for help on using the changeset viewer.