Mercurial > hg > Papers > 2016 > kaito-cq
comparison paper.tex @ 5:a5607d53f55e default tip
fix typo
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 01 Mar 2016 21:25:43 +0900 |
parents | 5ebc6e5c5c8f |
children |
comparison
equal
deleted
inserted
replaced
4:5ebc6e5c5c8f | 5:a5607d53f55e |
---|---|
58 % Titles are generally capitalized except for words such as a, an, and, as, | 58 % Titles are generally capitalized except for words such as a, an, and, as, |
59 % at, but, by, for, in, nor, of, on, or, the, to and up, which are usually | 59 % at, but, by, for, in, nor, of, on, or, the, to and up, which are usually |
60 % not capitalized unless they are the first or last word of the title. | 60 % not capitalized unless they are the first or last word of the title. |
61 % Linebreaks \\ can be used within to get better formatting as desired. | 61 % Linebreaks \\ can be used within to get better formatting as desired. |
62 % Do not put math or special symbols in the title. | 62 % Do not put math or special symbols in the title. |
63 \title{LLVM と Clang を利用した新しい言語の実装} | 63 \title{LLVM 3.9 と Clang 3.9 を利用した新しい言語の実装} |
64 | 64 |
65 % author names and affiliations | 65 % author names and affiliations |
66 % use a multiple column layout for up to three different | 66 % use a multiple column layout for up to three different |
67 % affiliations | 67 % affiliations |
68 \author{ | 68 \author{ |
91 % creates the second title. It will be ignored for other modes. | 91 % creates the second title. It will be ignored for other modes. |
92 \IEEEpeerreviewmaketitle | 92 \IEEEpeerreviewmaketitle |
93 | 93 |
94 | 94 |
95 | 95 |
96 本章では LLVM と Clang を利用した新しいプログラミング言語のコンパイラの実装を行う方法を Continuaton based C(CbC)\cite{CbC2011} | 96 本章では LLVM 3.9 (以下 LLVM) と Clang 3.9 (以下 Clang) を利用した新しいプログラミング言語のコンパイラの実装を行う方法を Continuaton based C(CbC)\cite{CbC2011} |
97 という言語の実装例とともに説明する. | 97 という言語の実装例とともに説明する. |
98 LLVMとClangは、C++ で記述されており、GCCよりも見通し良く書かれている。 | 98 LLVMとClangは、C++ で記述されており、GCCよりも見通し良く書かれている。 |
99 LLVMは汎用のコンパイラフレームワークであり、プログラミング言語の構文解析、中間コード生成、機械語生成の各段階で様々なサポートがある。 | 99 LLVMは汎用のコンパイラフレームワークであり、プログラミング言語の構文解析、中間コード生成、機械語生成の各段階で様々なサポートがある。 |
100 LLVMで新しい言語を作る方法には様々な方法がある。一つは自作の構文解析器からLLVMの抽象構文木生成のAPI呼び出す方法である。 | 100 LLVMで新しい言語を作る方法には様々な方法がある。一つは自作の構文解析器からLLVMの抽象構文木生成のAPI呼び出す方法である。 |
101 また、LLVM IRという中間コードを直接生成しても良い。 | 101 また、LLVM IRという中間コードを直接生成しても良い。 |
780 C の関数呼び出しとし, それぞれを5万回に行った時の時間の差を見ると結果は表\ref{comp}になる. | 780 C の関数呼び出しとし, それぞれを5万回に行った時の時間の差を見ると結果は表\ref{comp}になる. |
781 | 781 |
782 関数呼び出しを完全に排除したCbCのコードはアセンブラ的であり, 人が書きやすいものとは言えない. | 782 関数呼び出しを完全に排除したCbCのコードはアセンブラ的であり, 人が書きやすいものとは言えない. |
783 CbC はアーキテクチャに依存しないアセンブラとして使用することができる. | 783 CbC はアーキテクチャに依存しないアセンブラとして使用することができる. |
784 性能が要求されるOSやデータベースなどのシステムソフトウェアなどに向いている. | 784 性能が要求されるOSやデータベースなどのシステムソフトウェアなどに向いている. |
785 あるいは,状態遷移を基本としたアプリ, 例えばネットワークアプリケーション, あるいは grep などをにも | 785 あるいは,状態遷移を基本としたアプリ, 例えばネットワークアプリケーション, あるいは grep などに向いている. |
786 向いている. | |
787 | 786 |
788 \begin{table}[htpb] | 787 \begin{table}[htpb] |
789 \centering | 788 \centering |
790 \begin{tabular}{|l|r|} \hline | 789 \begin{tabular}{|l|r|} \hline |
791 & 実行速度 (s) \\ \hline | 790 & 実行速度 (s) \\ \hline |