kouamano / RECURSIVE-SYSTEM

test for recursive operation
3 stars 1 forks source link

tq/cqコードレビュー議事メモ(2020.10.23) #97

Closed ksakam closed 3 years ago

ksakam commented 3 years ago

日時: 10/23(金)19:00-21:00 (於:M-cube116) 参加: 天野氏、坂本(記) 資料: (打合結果反映済) https://github.com/kouamano/RECURSIVE-SYSTEM/blob/cq/Document/cq-code-review-20201023-after.pptx (p147~)

議事内容:(★:宿題 or 検討事項)

{$U$}において、{}は必須とする(パラメータなしの場合も)  ⇒ function部においては{}必須 ・op分類の観点は以下の3つ   -lisp型 or tq型   -起動されるphase(read/ eva/print) => 複数phaseでの起動もありうる   -木構造変換 / 属性変更 ・tq型の場合、起動タイミングがeval時/print時の2とおり。ただし、処理系ではその区別は意識しない。  ⇒ 処理系はeval時およびprint時にすべてのoperatorを起動し、処理を実行するかどうかはopeator内で判断する ・τによるparsing規則やevalによる評価規則は、parser geneator / rule interpreter 風の枠組でできると望ましい。 ・evalによる評価規則において、適用条件を明記する。 ・apply適用時、opがlisp型/tq型によらずパラメータとしてselfを与える。 ・node削除ルールの適用時は、apply実行時に親がnode(“”, apply(self, tree($op$...)))かの判定が必要。  =>場合よっては適用可能なrule特定のためにhashを利用 ・referenceへの対応において、再帰構造記述への対応は必須。 ・とくにreference関連で、オンデマンドをどこまでやるか。 ・オンデマンドにおける起動トリガはおそらく親で決まる。   (例) $#{$plus$(1,2)}=> 親が必要とした際にトリガ ・デリミタ「{}(),」を返す関数は、parsing時に起動される必要がある。

次回: 11/6(金)18:00~