Closed ksakam closed 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時に起動される必要がある。
{$U$}
{}
node(“”, apply(self, tree($op$...)))
$#{$plus$(1,2)}
次回: 11/6(金)18:00~
日時: 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~