Mercurial > hg > Papers > 2010 > jsst-shinya
diff paper.tex @ 1:e79cdc772194
add nfa figs
author | Ryoma SHINYA <shinya@firefly.cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Aug 2010 04:55:49 +0900 |
parents | 9275fe406966 |
children | 3bf6db862bc7 |
line wrap: on
line diff
--- a/paper.tex Tue Aug 10 18:27:06 2010 +0900 +++ b/paper.tex Thu Aug 12 04:55:49 2010 +0900 @@ -44,7 +44,7 @@ % % ここにタイトル英訳 (英文の場合は和訳) を書く. % -\ejtitle{Implimentation Regular Expression Engine with Just-In-Time Compile.} +\ejtitle{Implimentation of Regular Expression Engine with Just-In-Time Compilation.} % % ここに著者英文表記 (英文の場合は和文表記) および % 所属 (和文および英文) を書く. @@ -67,61 +67,85 @@ % 和文アブストラクト % 和文アブストラクト \Jabstract{% -当研究室では, Concinuation based C という 状態遷移記述に適した C の下位言語を提案している. -Continuous bsed C は ステートメントより大きく, 関数よりも小さなプログラ +当研究室では, Concinuation based C という, 状態遷移記述に適した C の下位 +言語を提案している.Continuous bsed C は ステートメントより大きく, 関数よりも小さなプログラ ミング単位としてコードセグメントを持ち, コードセグメントからの継続を基本としている. -本研究では, 与えられた正規表現から, 等価な う右舷状態オートマトンに変換し, さらにその状態遷遷移 -を CbC 等のプログラミング言語の記述に変換し, 実行時コンパイルによって得 -られた正規表現評価器を生成するコンパイラを Python で記述し, 評価を行った.} +本研究では, 与えられた正規表現から, 等価な 有限状態オートマトンに変換し, +オートマトンにおける状態遷遷移を Continuous based C/Cによる継続/関数呼び出 +しに変換する正規表現コンパイラを Python で実装した.} % \maketitle \section{はじめに} -... +近年, 実行時コンパイルによる高速化(Just-in-Time Compile)が様々 +なプログラムで用いられている. これらは, コンパイラ理論の発展により +実行時コンパイルにかかるオーバーヘッドよりも, コンパイルによって得られる +機械語レベルのプログラムの実行速度が上回る場合において有効であり, たとえ +ば Java の HotSpot や Python の PyPy など, 仮想マシンを持つ言語処理系の +最適化技術として利用されている. -\section{CbC} -... +実行時コンパイルが可能な対象として, 正規表現評価器に着目し,コンパイラ基 +盤であるLLVM, GCC をバックエンドに用いた実行時コンパイルを行う評価器を +Pythonによって実装した. + +本論文では, まず正規表現のコンパイル方法について説明し, 実装した評価器の +性能調査のために, 正規表現を用いてテキストマッチ検査を行う grep と同等の +機能を実装し, GNU grep との比較を行う. \section{正規表現} -\section{正規表現によるテキストマッチ} +\subsection{正規表現によるテキストマッチ} 正規表現は与えられた文字列を受理するかどうかを判定できるパターンマッチン グの機構であり, sed, grep, awk を始めとするテキスト処理ツールに広く利用 されている. 正規表現には定められた文法によって記述され, 例えば,正規表現 ``a*b''は''a''の0回以上の繰り返し ``b'' で終わる文字列(``b'', ``ab'', ``'aaaab')を受理し, ``a(b|c)'' は ``a''で始まり,直後が ``b'' または ``c''で終わる文字列(``ab'', ``ac'') を受理する. -% -% -\section{正規表現の評価器} -\section{grep} -\section{正規表現からCbCへの変換} + +\subsection{grep} + +\section{正規表現の実行時コンパイル} +\subsection{正規表現からNFAへの変換} +\subsection{NFAからDFAへの変換} +は + +\begin{figure}[!tb] +\begin{center} +\scalebox{0.80}{\includegraphics{fig1.eps}} +\end{center} +\end{figure} + +\begin{figure}[tb] +\begin{center} +\scalebox{0.80}{\includegraphics{fig2.eps}} +\end{center} +\end{figure} + +\begin{figure}[tb] +\begin{center} +\scalebox{0.80}{\includegraphics{fig3.eps}} +\end{center} +\end{figure} + +\subsection{DFAからContinuous base Cへの変換} % -% +\section{評価} + +... + \begin{adjustvboxheight} % needed only when Appendix follows \begin{thebibliography}{99} -\bibitem{LS86} Lanin, V. and Shasha, D.:A Symmetric Concurrent B-Tree -Algorithm, -Proc.\ 1986 Fall Joint Computer Conference, IEEE, 1986, pp.~380--389. - -\bibitem{ST85} Sleator, D. D. and Tarjan, R. E.:Self-Adjusting Binary Search -Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686. +\bibitem{K} Ken Thompson : Regular Expression Search Algorithm, 1968 -\bibitem{S89} Shapiro E.:The Family of Concurrent Logic Programming Languages. -{\it ACM Computing Surveys}, Vol.~21, No.~3 (1989), pp.~413--510. +\bibitem{R1} Russ Cox : Regular Expression Matching Can Be Simple And + Fast, 2007 +\bibitem{R2} Russ Cox : Regular Expression Matching: the Virtual Machine + Approach, 2009 +\bibitem{R3} Russ Cox : Regular Expression Matching in the Wild, 2010 -\bibitem{T85} Tarjan, R. E.:Amortized Computational Complexity, {\it -SIAM J.\ Alg.\ Disc.\ Math.}, Vol.~6, No.~2 (1985), pp.~306--318. +\bibitem{H} 長谷川 勇 : 国際正規表現ライブラリの開発 -\bibitem{W90} 和田久美子:スプレイ木の並列データ探索, Proc.\ KL1 -Programming Workshop '90, Tokyo, ICOT, 1990, pp.~42--49. \end{thebibliography} \end{adjustvboxheight} % needed only when Appendix follows -\appendix -\section{付録: \LaTeX による論文作成のガイド} - -ここに,以前の \verb|sample.tex| では,論文作成のガイドがあったが, -その内容は \verb|guide.tex| に移動した. - \end{document}