質問編集履歴

4

追記。テストデータとdominators関数。

2022/04/07 01:00

投稿

katahiromz
katahiromz

スコア186

test CHANGED
File without changes
test CHANGED
@@ -20,3 +20,5 @@
20
20
  gotoを使わずにこれらのコードブロックをC言語のif, if-else, while, do-while, break, continueを使って書き直したいです。
21
21
 
22
22
  ドラゴンブックを読んでいますが、いまいちわかりません。先行ブロックの番号、後続ブロックの番号、ブロックの隣接行列はわかります。
23
+
24
+ 追記。テストデータを用意しました。dominators関数を追加しました。

3

C++11を削除。

2022/04/06 14:31

投稿

katahiromz
katahiromz

スコア186

test CHANGED
File without changes
test CHANGED
File without changes

2

URL追記。

2022/04/06 14:15

投稿

katahiromz
katahiromz

スコア186

test CHANGED
@@ -1 +1 @@
1
- 【逆工学 】gotoを使わない表現に書き換える
1
+ 【逆工学】gotoを使わない表現に書き換える
test CHANGED
@@ -1,4 +1,6 @@
1
1
  今、逆工学の研究で制御構造の再現に取り組んでいます。
2
+
3
+ [https://github.com/katahiromz/python-asm-parse/blob/main/00-asm-parse-05.py](https://github.com/katahiromz/python-asm-parse/blob/main/00-asm-parse-05.py)
2
4
 
3
5
  C/C++風のいくつかのコードブロックが配列として与えられます。各ブロックは次のいずれかのように表せるコードです。
4
6
 

1

タイトル変更、種類について加筆

2022/04/06 14:11

投稿

katahiromz
katahiromz

スコア186

test CHANGED
@@ -1 +1 @@
1
- gotoを使わない表現に書き換える
1
+ 【逆工学 】gotoを使わない表現に書き換える
test CHANGED
@@ -12,6 +12,7 @@
12
12
  3)はまず、式1を実行する。そして式2が正ならブロック番号のブロックに移動する。式2が偽なら次のブロックに進む。
13
13
  4)は式を実行して終了する。
14
14
 
15
+ 正規表現を使ってこの四種への分類はできました。
15
16
  各ブロック番号はブロック配列におけるインデックスです。
16
17
  それぞれの式にはC言語風の表現が入ります。
17
18
  gotoを使わずにこれらのコードブロックをC言語のif, if-else, while, do-while, break, continueを使って書き直したいです。