Mercurial > hg > Papers > 2021 > anatofuz-master
changeset 52:a25692dd0ca2
foo...
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 01 Feb 2021 18:55:20 +0900 |
parents | 1306d0d1c653 |
children | 1a4d4e64f0b8 |
files | paper/chapter/04-interface.tex paper/master_paper.pdf paper/src/replaceenum.cbc |
diffstat | 3 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/04-interface.tex Mon Feb 01 18:41:52 2021 +0900 +++ b/paper/chapter/04-interface.tex Mon Feb 01 18:55:20 2021 +0900 @@ -230,3 +230,9 @@ if文で条件判定をしているが、前者は出力があるケースかどうかのチェックである。 続く条件式はGearsOSのビルドルールとして静的に書いたstubの場合は変更を加えない為に、 静的に書いているかどうかの確認をしている。 変数\texttt{\$pick\_next}で継続先のCodeGearの名前を作製している。 +CodeGearの名前は一度目の解析で確認した継続先に\texttt{\_}とカウント数をつけている。 +ここで作製したCodeGearの名前を、3行目でcontextに書き込むCbCコードとして生成している。 + + +実際に生成された例題をソースコード\ref{src:replaceenum}に示す。 +\lstinputlisting[label=src:replaceenum, caption=enumの番号が差し替えられたCodeGear]{src/replaceenum.cbc} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/src/replaceenum.cbc Mon Feb 01 18:55:20 2021 +0900 @@ -0,0 +1,5 @@ +__code pop2TestStackTestImpl3(struct Context *context,struct StackTestImpl3* stackTest, struct Stack* stack, enum Code next) { + Gearef(context, Stack)->stack = (union Data*) stack; + Gearef(context, Stack)->next = C_pop2Test1StackTestImpl3_1; + goto meta(context, stack->pop2); +} \ No newline at end of file