changeset 32:d89b7d150b9f

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 31 Jan 2021 16:12:15 +0900
parents 53fb09da2319
children 0915f0d49a23
files paper/chapter/02-perl.tex paper/chapter/introduction.tex paper/drawio/generate_context.drawio paper/drawio/generate_context.pdf paper/drawio/impl2cbc.drawio paper/drawio/impl2cbc.pdf paper/drawio/old_generate_context.drawio paper/drawio/old_generate_context.pdf paper/drawio/pmake.pdf:Zone.Identifier paper/drawio/pmake.xml:Zone.Identifier paper/master_paper.pdf paper/reference.bib
diffstat 10 files changed, 32 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter/02-perl.tex	Sun Jan 31 11:52:52 2021 +0900
+++ b/paper/chapter/02-perl.tex	Sun Jan 31 16:12:15 2021 +0900
@@ -39,8 +39,12 @@
   \end{itemize}
   \item \texttt{generate\_context.pl}
   \begin{itemize}
-    \item 生成したCbCファイルを解析し、使われているCodeGear、DataGearを確定する
-    \item これらの情報をもとにContext及びContext関係の初期化ルーチン、APIを作成する
+    \item 生成したCbCファイルを解析し、使われているCodeGearを確定する
+    \item context.hを読み込み、使われているDataGearを確定する
+    \item Context関係の初期化ルーチンやCodeGear、 DataGearの番号であるenumを生成する
+    \begin{itemize}
+      \item 図\ref{fig:generate_context_1}に処理の概要を示す
+    \end{itemize}
   \end{itemize}
 \end{itemize}
 
@@ -52,10 +56,18 @@
   \begin{center}
    \includegraphics[width=160mm]{drawio/gears_os_build_flow.pdf}
   \end{center}
-  \caption{generate\_sub.plを利用したクロスコンパイル}
+  \caption{generate\_sub.plを使ったトランスコンパイル}
   \label{fig:generate_stub_pl_1}
  \end{figure}
 
+\begin{figure}[htp]
+  \begin{center}
+   \includegraphics[width=130mm]{drawio/old_generate_context.pdf}
+  \end{center}
+  \caption{generate\_context.plの使用フロー}
+  \label{fig:generate_context_1}
+ \end{figure}
+
 \section{pmake}
 GearsOSをビルドする場合は、x86アーキテクチャのマシンからビルドするのが殆どである。
 この場合ビルドしたバイナリはx86向けのバイナリとなる。
@@ -134,7 +146,7 @@
 Javaでは様々な手法でこのツールを実装している。
 Microsoftが提唱しているIDEとプログラミング言語のコンパイラをつなぐプロトコルにLanguage Serverがある。
 Language Serverはコーディング中のソースコードをコンパイラ自身でパースし、 型推論やエラーの内容などをIDE側に通知するプロトコルである。
-主要なJavaのLanguage Serverの実装であるeclipse.jdt.ls\cite{eclipse.jdt.ls}では、 LanguageServerの機能として未実装のメソッドを検知する機能が実装されている。\cite{eclipse.jdt.pull322}
+主要なJavaのLanguage Serverの実装であるeclipse.jdt.ls\cite{eclipse.jdt.ls}では、 LanguageServerの機能として未実装のメソッドを検知する機能が実装されている。\cite{eclipse_pull322}
 この機能を応用してvscode上から未実装のメソッドを特定し、 雛形を生成する機能がある。
 他にもIntelliJ IDEなどの商用IDEでは、 IDEが独自に未実装のメソッドを検知、雛形を生成する機能を実装している。
 
@@ -154,7 +166,8 @@
 
 対してgolangの\texttt{impl}コマンドのように、 シェルから呼び出し標準出力に結果を書き込む形式も考えられる。
 この場合は実装が比較的容易かつ、 コマンドを呼び出して標準出力の結果を使えるシェルやエディタなどの各プラットフォームで使用可能となる。
-先行事例を参考に、コマンドを実行して雛形ファイルを生成するスクリプトをGearsOSに導入した。
+先行事例を参考に、コマンドを実行して雛形ファイルを生成するコマンド\texttt{impl2cbc.pl}をGearsOSに導入した。
+\texttt{impl2cbc.pl}の処理の概要を図\ref{fig:impl2cbc}に示す。
 
 
 Interfaceでは入力の引数がImplと揃っている必要があるが、 第一引数は実装自身のインスタンスがくる制約となっている。
--- a/paper/chapter/introduction.tex	Sun Jan 31 11:52:52 2021 +0900
+++ b/paper/chapter/introduction.tex	Sun Jan 31 16:12:15 2021 +0900
@@ -54,7 +54,9 @@
 前者の計算をノーマルレベルの計算と呼び、後者をメタレベルの計算と呼ぶ。
 OSはメタ計算を担当していると言える。
 ユーザーレベルから見ると、データの読み込みなどは資源へのアクセスが必要であるため、システムコールを呼ぶ必要がある。
-システムコール自体もメタ計算である。
+システムコールを呼び出すとOSが管理する資源に対して何らかの副作用が発生するメタ計算と言える。
+副作用は関数型プログラムの見方からするとモナドと言え、 モナドもメタ計算ととらえることができる。
+OS上で動くプログラムはCPUにより並行実行される。この際の他のプロセスとの干渉もメタレベルの処理である。
 実装のソースコードはノーマルレベルであり検証用のソースコードはメタ計算だと考えると、OSそのものが
 検証を行ない、システム全体の信頼を高める機能を持つべきだと考える。
 ノーマルレベルの計算を確実に行う為には、メタレベルの計算が重要となる。
@@ -68,14 +70,11 @@
 この為にはノーマルレベル、メタレベル共にプログラミングできる言語と環境が必要となる。
 
 プログラムのノーマルレベルの計算とメタレベルの計算を一貫して行う言語として、 Continuation Based C(CbC)を用いる。
-ノーマルレベルの計算とメタ計算の両方の実装に適した言語としてContinuation Based C(CbC)がある。
-CbCは基本\texttt{goto}で\texttt{CodeGaar}というコードの単位を遷移する言語である。通常の関数呼び出しと異なり、スタックあ>るいは環境と
-呼ばれる隠れた状態を持たない。このため、計算のための情報は\texttt{CodeGear}の入力にすべてそろっている。
-そのうちのいくつかはメタ計算、つまり、OSが管理する資源であり、その他はアプリケーションを実行するためのデータ(DataGear)で
-ある。
+CbCは基本\texttt{goto文}で\texttt{CodeGaar}というコードの単位を遷移する言語である。通常の関数呼び出しと異なり、スタックあるいは環境と呼ばれる隠れた状態を持たない。
+このため、計算のための情報は\texttt{CodeGear}の入力にすべてそろっている。
+そのうちのいくつかはメタ計算、つまり、OSが管理する資源であり、その他はアプリケーションを実行するためのデータ(\texttt{DataGear})である。
 メタ計算とノーマルレベルの区別は入力のどこを扱うかの差に帰着される。
-CbCはCと互換性のあるCの下位言語であり、 状態遷移をベースとした記述に適したプログラミング言語である。
-Cとの互換性のために、 CbCのプログラムをコンパイルすることで動作可能なバイナリに変換が可能である。
+CbCはCと互換性のあるCの下位言語である。
 CbCは\texttt{GCC}\cite{gcc}\cite{weko_82695_1}あるいは\texttt{LLVM}\cite{llvm}\cite{llvmcbc}上で実装されていて、通常のCのアプリケーションやシステムプログラ厶をそのまま包含できる。
-またCbCの基本文法は簡潔であるため、 Agdaなどの定理証明支援系\cite{agda-ryokka}との相互変換や、 CbC自体でのモデル検査が可
-能であると考えられる。
+Cのコンパイルシステムを使える為に、 CbCのプログラムをコンパイルすることで動作可能なバイナリに変換が可能である。
+またCbCの基本文法は簡潔であるため、 Agdaなどの定理証明支援系\cite{agda-ryokka}との相互変換や、 CbC自体でのモデル検査が可能であると考えられる。
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/drawio/generate_context.drawio	Sun Jan 31 16:12:15 2021 +0900
@@ -0,0 +1,1 @@
+<mxfile host="Electron" modified="2021-01-31T06:36:48.983Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="7gol1OF82dDAk7nHGcjO" version="14.1.8" type="device"><diagram id="R4LYdndaMt07X_-nVjS0" name="ページ1">5Vrfb5swEP5rIm2TGmEIhDx2afdLm1apD12fJhdc8GowM6Yh++tngx0wIR3d6Fi6p+C7M9jf3X13mMycdVK+ZTCLP9EQkZltheXMOZvZNlhYnviRkm0t8X2rFkQMh8qoEVziH0gJtVmBQ5QbhpxSwnFmCgOapijghgwyRjem2S0l5lMzGKE9wWUAyb70Coc8Vruwl438HcJRrJ8MvFWtSaA2VjvJYxjSTUvknM+cNaOU11dJuUZEgqdxqee9OaDdLYyhlA+ZcHXyZQvcK+dTci/8RG3r7OuHE6Dck/Ot3jEKBQBqSBmPaURTSM4b6WtGizRE8raWGDU2HynNhBAI4TfE+VZ5ExacClHME6K0qMT8i5w+d9XouqU5K9Wdq8G2NbhADCeII6Zkt5iQNSWUVSt3HMeywKmQ55zRu52/HCGpdym3dhA9JcppwQL0AGSOikLIIsQfgtbeOVlkB6Ji4WwrJjJEIMf35kKgCtNoZ6emnjIGty2DjOKU5607X0iBMFAZZ3sq3FS+Od2oeJy9uKhXoEetrTSiKtIeEXUKwntICgXDXhSKbMnkZUq5DLlNjDm6zGDlmY2gGjOgbmBwF1Vh+bngBKdIyUPI7j6LWZhXYTS33F0s3CPGUflwNOw7T0+wTdSARnHTcATQFBa3+UEb9jm8BfrjMbWPHdNVB9LV5JCCHkg9wiXx0CqHGmy97wXVipO84r1TYQD8rGyU4iqSvxcFQ0K5vlnLioTFLdRtb5g2efFqHmipWHv9vFr18sj8ujT9ajuT+3Vx7KniuB1MJ4fUPXpIO4zuTg4pWEzamrUas10vJrGSKLRas5Xu4Lq9mcCdbVtNnhxet3VNm1eNdJ83rKdbjNvTeX+rp/ujiPAO1qM8g+nv16P3qXDbrczEB8pR/HJf3KpQ9Qq0+LhS3zJTf/rGY3n8bOoakDrT06l/7Jjaqw6m/uSYAvdZligwSoka+dhhdRQlavVUJSrJyP9ZneylmfaL6Zt9/bTRvRwII1Tyefw8XOf/e6++YDklY+vr61n77PfAee+OnI23h7nrOb+g52rU5fp9bj7E4iHM42qzYFwCB/ZQBrf6o+rvMDhY/SsR8ovvATo+TkTCeotOkPxOiBiOHx4vk4SIP2mI9J01j3EwGqEUMcjRV10IZNHvPQTdj1FCcJYPKAIwz+rvhLe4lN4eg+jdxQCi9/uI3n8you973xmjRqO0SA53YlK7piFqSnijlLozyOEzbtb8zte0hTV5xbcPN2tDk1Ug0BMIOM0KPjQ9ZTabrqkJVhNqSqVvDI5VIkhwlIphgNKKql9LB+EAklOlSHAYkkOxYBamETzsdFO97y3c6/Gw/WQO/nM27ncwLfj/6OElGEDmI3lYDJs/gNRf15u/0TjnPwE=</diagram></mxfile>
\ No newline at end of file
Binary file paper/drawio/generate_context.pdf has changed
--- a/paper/drawio/impl2cbc.drawio	Sun Jan 31 11:52:52 2021 +0900
+++ b/paper/drawio/impl2cbc.drawio	Sun Jan 31 16:12:15 2021 +0900
@@ -1,1 +1,1 @@
-<mxfile host="app.diagrams.net" modified="2021-01-29T10:15:54.953Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36" etag="neBFu_PDiMWJIaN9paIc" version="14.2.7" type="device"><diagram id="Cf92czICuCPAmzxjICjL" name="Page-1">7Vldb/MmFP41SNukRrGxE/vSTtxtUre+Ui/evlcTiUnCSoyHSZvs1w8M+Dtt2izNtK0XDTzAAXMeP5yDAZxt9z9ylG9+YSmmwB2newDnwHXdMQzkj0IOGplAXwNrTlINOTXwQP7EBhwbdEdSXLQ6CsaoIHkbXLIsw0vRwhDn7KXdbcVoe9YcrXEPeFgi2ke/klRsNBq40xr/CZP1xs7sTELdskW2s3mSYoNS9tKAYALgjDMmdGm7n2GqNs/uix53e6S1WhjHmThlwONv8eHmcb/N7h/mXsLucm+zujHOKMTBPjBnuyzFaswYwJhxsWFrliF6x1guQUeCv2MhDsZVaCeYhDZiS00r3hPxaIar8jdVHvmmNt83muaHRuUL5mSLBeYWywQ/PFqjqvKt2VIbKmvWUiE4e6pcBSWyYpm4RVtCVZcZ23Eip3DHv2Lpi1g/Pk57JKh31UCFHLnEr2yla9iJ+BqLV/p5le/lS4OZfGR+kOM4pkiQ5/Y6kGHvuupXO1gWjI/f4W+zyGdEd2Ym4E6oUBuXo6zFhMkfO0XNcv9uitLbkezg+vm+bpSldfmb+CBKQHgLkgBEEAQ+SOR/R4GyKUxAENuZFrw7KgLJFMQJiMKhPtIOBKE26ILIsQXPNEUDlr/7YbT5fsCYQeTe6ee1cOclkO9qrooZE/InftkQgR9yVPr/RQpdm/ELtHxal+/N/U5QkmGDp4g/3ctRRJTsHI39HkG90wj6jLnA+9cp2qeUGQCtlhoJdnxTf6kFzYEG2zTEzB2PL0RDeCEa/pxJ/VgpP30i1/4nlTrXgwFSTYdI5V6KVHZFjS1Xwv5gqhlTexhf5Hyz+PDpdr0z6dyzxgz9woicufL9DWz7fup0XKrPQDOq49VqGWc42v1URzsnO7oKWaqKDn7gG0FLWevGP1dmzQmRDLxmJOMdPULUNn38CBGHHLtkm9NRThvKro0eUXa5XJmPnCDqqMh1krIie0XNKwj3zaT98kKvL9yVRn+OcE/OdqUTDLnSGcmmkyLTU859jYSuGiWNRH5ZiEAYW4OBKYRTi0xA4oE4AEFikCAwdoL4VHJJV4sOiyhZZ7K8xFkpF7EiBJE5a2QatiRNaamBWO4RWpSmlKbkSpJL9/kx8OfKlpQ9vY+l6YuzL/Rb7Kvy/Ab7oD8Yi16IfNMLkc89Rr4m5zQLNfkcU4hnhiLxYIQq+TQH8a2lUVWYNTinqeZVVKvD4nrSKYjkFFEdFr8W1/6HCArHncB2gKHuUGDrXSyudXpbftG4dhT49ramunEZDHm8EbQd/znBS3CRkNcZT1us8KefG/IG50c78K2EGW1VtJItirzx8tdyIJ1RDOTVlCw4Ulv3UfmwafHyILPcFHN4Qm6suX63eCtZtsJxnRy5lye5Azny5HNzZH+ASEccsqJ4H6kr9DJDSU1xvqSoKMiy7ZH++z6UPb11DWz3xdVJkf0c4MoMqpQQQumMUcbLdUqhVn/Xz6Yb3hyKXCx2pgJVZ44hk9dVIL38ngL1DPkdVnr+aVIm/Y8OjW7mqD66YM8bnqemr7b4914NnJ9LHLlZlBlhK3HohHU9+ZstZh+8TpShWeiVxicqXwjH71XSf8UFo9/hO/T9vniGQ+IJ3y+eslp/iNNcrD9nwuQv</diagram></mxfile>
\ No newline at end of file
+<mxfile host="Electron" modified="2021-01-31T06:05:19.103Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="jd63Xt1HwkrT3QopCs6n" version="14.1.8" type="device"><diagram id="Cf92czICuCPAmzxjICjL" name="Page-1">7Zpbc+I2FMc/jWbazsDYkm3sRxtIdrfZ7k6Z2U2eOsYW4MZYXiMS6KevZEu+YHFJwKSZLi/IRxcL6af/OToDQMPl5jbz08VnEuIYQC3cADQCEOqmg9gXt2wLiwm1wjDPolA0qgyT6B8sjLLZOgrxqtGQEhLTKG0aA5IkOKANm59l5LnZbEbi5ltTf45bhkngx23r9yiki8Jqw0Fl/4Cj+UK+Wbecombpy8bil6wWfkieayY0BmiYEUKL0nIzxDFfPLkuRb+bPbXlxDKc0FM63P/lbXv3m2XyZTIyxuQuNRazninmRrfyB2dknYSY99EA8khGF2ROEj++IyRlRp0Z/8aUbsVW+WtKmGlBl7GoxZuI3ovuvPzAy31TPI02tarRtvbwFWfRElOcSVtCs+29HJQ/PNRrqoHyJznSimbksdwqxCwzktAbfxnFvMkfhE0XahM/WbGv4affWYP2QkrQ/GyO6YHVM4p2OGwwJJb/FhP2c7Ita5Dh2KfRUxMpX5A5L9uVXb+SiE0FauIUIXkYxBmCptYcYkXWWYBFrwoBVqhNozLlYLwAEnGEn/x4LX4CgFZM+WqnftLAx/qx5jzni95b5Yi4rAE0001VyUpz/v0xYbs98wMsh5tmsgqMTeCOgeOC8QB4Y+A6qjYI2Ag4Zl6AwNVlwRBVrqfoJSxsJYrZS/POOWDHNeXFhFD25T0vIoonKZ8sGj0zrWtCP/WDx3l+dL6saRwlWNhDP3v8wnpFNAe0r5ktRo2zGH3CGcWbg/TtociyxfNzpWv6QNgWNU0rFUxFbIO1l4IlZ1Rbdn6WJuIxIXwdvU4USdrVenRJFSkO59urSA8193+g72xrIXedqYgOr7rZ+smbXTqa8qFwWeiIq8mfdr3WW5Bz1E+hSxN21qk39roTvlSvdyfRMo1hMA36aVwT+WLMPSLPZssCyRP03V+lRXQ5izaczmMa/oH5g1ucXEa5e1bz5CKjrdylSF9HuQfn76Gm2kPYZ1XS+d+AsQ1c5slNbnHGwC58vs5rhfPXRcEbCufvKSMFA3gj4N2INnZZGMoBLVGwDVlVC0+qlw6Ay17hVuHJofjiIHps7+kOY3E0Z8SMApzkeuJxQiJ2FXFFxTIKwzgXSczW0Z/mQ3HRSblm51tsesAc8bGYLhZrnQ/dIZsljDKs0NtwIk0Bp9FZVKG3FrvTqKI/cIyas+mxKE9zXnzd6cpx9LbP31Nj6916P4LPnx6+/RnMvvX064QcjtaHDThM67SYozUStPiqVh990IxlTKOPDKf6XPV+pJsKNdxznZjFeOPyvEQeQISiOApif7WKgiZhbSRUwc2xu7U8h7CIWWSOBbIAJ6csiuMhiUmWzxMVy/vfCHhrCmIqBETazoQUDpoCZgxOu123BjJ3Amxj95q+B3bGgL+tNRNqvnfChqF+T0V1MeJrGT+kGOc4fHQsB+AvedSVTFdpzY9WnpWhtlKkCuJomvl8g1/rieXRDLbs4h7iDJ1w3S+cx9302P1f+uATrv27brnlgxWH7YBbNpte2VFc9q2uQkYlQbCjsP8jC/trEVordGxxMZwOX5k6YuEfc/V8cAvYNuBr+jLErp9MuihV5o7yINNsU+WoqEJdUfUzN/l+cXrbjKQSp/25ifNwakpdk6P6NbcmY8V994r0/fJbf/HrXkX7yWqDVV3lUJGKVa0rVlW3jkvkYPR9OZgWnKdgVlgcyHuxQdw8l2O7wClzObYoOINaMsYAng3ssczK2GVW5v3lV84L5PSd6wm02uAZuhK8jrizOuLO5NzJ4Eym29TxVluG3nMC7ixAoL1zG1QJk6Hg4xL5NyUfF8gNQxUfBuejFpdpCld4qiK9PIX8v+dM27lRagodulCelz1W/4spMhjVv4vQ+F8=</diagram></mxfile>
\ No newline at end of file
Binary file paper/drawio/impl2cbc.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/drawio/old_generate_context.drawio	Sun Jan 31 16:12:15 2021 +0900
@@ -0,0 +1,1 @@
+<mxfile host="Electron" modified="2021-01-31T06:44:41.778Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="9FHBlLaFidBkxVh0QJgQ" version="14.1.8" type="device"><diagram id="zeS24BvXJpr6MH4-GfYa" name="ページ1">5Vlbb9owFP41SOukojg3wiOlbHvY1kpI2/pUuYmbeJg4c5wS9utnxw65kQ4KiLV7Iv7O8e2c4+9zwsCaLvOPDCbRFxogMjCNIB9Y1wPTBAawxI9E1grxvJECQoYD7VQBc/wblT01muEApQ1HTinhOGmCPo1j5PMGBhmjq6bbIyXNWRMYog4w9yHpot9xwCO9C3NU4Z8QDqNyZuCOlWUJS2e9kzSCAV3VIGs2sKaMUq6elvkUERm8Mi6q34ce62ZhDMV8lw7jb/fzkWUaXvj1aZ6nCy+a3V2aem18XW4YBWL/ukkZj2hIY0hmFXrFaBYHSI5qiFbl85nSRIBAgD8R52udTJhxKqCIL4m2ohzzH7L70NGtu5rlOtcjF411rXGLGF4ijpjGHjEhU0ooK1ZuWZZhgInAU87oYpMuSyBql3JrjeClNGM+eiY8ung5ZCHiz/iBUTcbYJNjcTgQFQtna+HCEIEcPzUXAnWVhhs/3XXCGFzXHBKKY57WRr6VgHDQB84e62rTx812W0Wxn794UCsoW7WtVFBRaHsUnY7qEySZDkOnCsVhSeRjTLksuVWEOZonsEjWSjBNs6AeoL8Ii7K8yTjBMdJ4ANniRvTCvCijoeFsauEJMY7yQd9R6kme7mA5zaiJwlPtVUURoGSwqE4POrxbE14L+v4xtV99TM1WTK2zx9TZElOXcMk8tDhEVXDdXxktDZdpQXwT4QC8JK+M4imUv7cZQ8I4fZhKRcJiCD3sAytd3r0f+iUq1q7mU6aL15ZYo5XY0dkTu+H/88heTfQ2OieDJaNQk71xqY5t3evqm0gFWytJNYQWaaCYYOg6bglU0lq01vVWe5IeyezkfQcVBfZeMnqoZnZEznObFei0C0stTPeqamtf8XVMuzGPC54XX6e1rn39bc87vViDbcqiiClNYPxyFhQ3dkEqfBjVeE6NqOyvjOZs0Ey+Y56f5uxz0hzoo7nu3X7DXk3mcl7CW11yDGAaFRsCR6a10Y60pu5iB9DaYVXg/CtV8Jc3vDdeBcA7ZxWUyzz6ZTZEMWKQo/uSzxPSc3HtliEhOEl34HKYJurbziPOZQ6Pwdej0Q7XUm8bX3un4mtVISeQWhRny/5XDWmd0gBVSlwZpe0acjiMLrrGtyHcwACt6+H53zzB+ODTKkKwpRJwnGR81/Mpj3MzN4pWy29uMZXJaXyG0xAkOIxF0xc5kJx8JTOEfUgm2rDEQUD6iqEpPkdIsdM66/a2u5m7JcPmya5mxokSTDP+P2bYa7M5OHuGzRORuX+JcrhMCKq+EL15SrbsE1KyaFb/wqjX5uq/LGv2Bw==</diagram></mxfile>
\ No newline at end of file
Binary file paper/drawio/old_generate_context.pdf has changed
Binary file paper/master_paper.pdf has changed
--- a/paper/reference.bib	Sun Jan 31 11:52:52 2021 +0900
+++ b/paper/reference.bib	Sun Jan 31 16:12:15 2021 +0900
@@ -12,7 +12,8 @@
     title = {Babel},
     howpublished = {\url{https://babeljs.io/}},
 }
-@misc{eclipse,
+
+@misc{eclipse_pull322,
     title = {Add unimplemented methods code action},
     author = {yaohaizh},
     organization = "GitHub",