Fomentを読む
TechFomentというScheme処理系のソースから、syntax-rulesの実装方法を探るシリーズです。
中間まとめ
- fomentはR7RS Recordsを実装しており、syntax-rulesで生成した構文などはレコード型として持っている
- 各レコード型には、対応するCの構造体がある。(例: SyntaxRulesRecordTypeとstruct FSyntaxRules)
- fomentはCレベルの関数でもFObject (つまりSchemeレベルの値) を引数にとるものが多く、実際の型は別途調べる必要がある