質問するログイン新規登録

回答編集履歴

3

テキスト修正

2020/01/09 15:04

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -50,4 +50,4 @@
50
50
  - 文脈自由文法
51
51
  - プッシュダウンオートマトン
52
52
 
53
- といった概念が関わってくるものと思います。従って、何らかの文脈自由文法によって生成される文字列をパースするというテーマで検索すれば、参考になるコードがみつかると思い
53
+ といった概念が(根本的なところでは)関わってくるものと思います。従って、何らかの文脈自由文法によって生成される文字列をパースするというテーマで検索すれば、参考になるコードがみつかるかもしれせん

2

テキスト修正

2020/01/09 15:04

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -45,7 +45,7 @@
45
45
 
46
46
  > なんと検索すれば良いかもよくわからず、
47
47
 
48
- とのことですが、 `aa(bb(dd)cc(ee))ff` のような、開くカッコと閉じるカッコがきちんと対応して出現するという規則に沿った文字列のパーサーを(私の回答のように、既存モジュールの力を借りずに)自作するということになると、理屈としては
48
+ とのことですが、 `aa(bb(dd)cc(ee))ff` のような、開くカッコと閉じるカッコがきちんと対応して出現するという規則に沿った文字列のパーサーを(私の回答コードのよう既存モジュールの力を借りずに)自作するということになると、理屈としては
49
49
 
50
50
  - 文脈自由文法
51
51
  - プッシュダウンオートマトン

1

テキスト修正

2020/01/09 14:56

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -29,11 +29,25 @@
29
29
 
30
30
  dic = json.loads(json_str)
31
31
 
32
- print(dic) # => ': {'bb': 'dd', 'cc': 'ee'}, 'ff': None}
32
+ print(dic) # => {'bb': 'dd', 'cc': 'ee'}, 'ff': None}
33
33
 
34
34
  ```
35
35
  - **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q234191](https://repl.it/@jun68ykt/Q234191)
36
36
 
37
37
  関数 `to_json_str` の本体は修正あるいはリファクタの余地があるかもしれませんが、JSONを経由するという考え方を提示することがこの回答の主旨になります。
38
38
 
39
- 参考になれば幸いです。
39
+ 参考になれば幸いです。
40
+
41
+
42
+ ### 補足
43
+
44
+ 以下、参考までに補足します。
45
+
46
+ > なんと検索すれば良いかもよくわからず、
47
+
48
+ とのことですが、 `aa(bb(dd)cc(ee))ff` のような、開くカッコと閉じるカッコがきちんと対応して出現するという規則に沿った文字列のパーサーを(私の回答のように、既存モジュールの力を借りずに)自作するということになると、理屈としては
49
+
50
+ - 文脈自由文法
51
+ - プッシュダウンオートマトン
52
+
53
+ といった概念が関わってくるものと思います。従って、何らかの文脈自由文法によって生成される文字列をパースするというテーマで検索すれば、参考になるコードがみつかると思います。