[過去ログ] C++相談室 part154 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
103: 2021/01/14(木)06:54 ID:mrWYZ3Pm(1/8) AAS
Caper や Bison でプッシュ型を調べてみるとわかると思います。
104: 2021/01/14(木)06:59 ID:mrWYZ3Pm(2/8) AAS
あらゆるソフトウェアで使いまわされるライブラリにおいて、詳細が既に決まっているのは不自由なことです。
106: 2021/01/14(木)07:23 ID:mrWYZ3Pm(3/8) AAS
>>105
プッシュ型はパーサーでよく使われます。
ユーザーが柔軟性を求めるからです。
Caperはプッシュ型、Bisonはパーサー側が文字を読む方式ですが、オプションとしてプッシュ型を選べます。
パーサにおいてプッシュ型とは、(パーサではなく)パーサを呼び出す側が文字を送り込みます。
それによって何が起きるでしょうか?
従来のパーサーは状態と共に行番号を保存します。
プッシュ型の場合、行番号を保存するのは呼び出し側です。
パーサーが読む文字とは何でしょうか?
プッシュ型において、Cではint、C++ではユニコード。コードポイントです。
省4
107: 2021/01/14(木)07:27 ID:mrWYZ3Pm(4/8) AAS
プッシュ型はUNIXに通じるものがありますが、UNIXでは実現されませんでした。
108: 2021/01/14(木)07:47 ID:mrWYZ3Pm(5/8) AAS
パーサーは本来、構文解析が仕事です。
しかし、現状多くのパーサーは、構文解析以外の機能を密に結合している。
本来の仕事以外は分離して、小さな部品にすることで再利用性が高まる。
という感じですかね。
これはテンプレートと同じでもろ刃の剣でもあるんですよ。
詳細を設計しないんですから。
しかし、STLの寿命の長さを見て分かる通り、詳細が設計されていないという事は利用者が自由に設計できるという事で、使い出があるんです。
109: 2021/01/14(木)07:48 ID:mrWYZ3Pm(6/8) AAS
もちろん、パーサーに限った話ではないですよ。
例です。
111(1): 2021/01/14(木)09:29 ID:mrWYZ3Pm(7/8) AAS
>>110
使う側にとって良いことなんですよ。
それと、プッシュ型は万能ではないんですよ。
一部のコンポーネントの部品化に対して利益があるのです。
113: 2021/01/14(木)10:15 ID:mrWYZ3Pm(8/8) AAS
まあそうですね。
すいませんでした。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.241s*