図1: プログラムと観測物の文法
値(v)はよっつに分類される。
図 1 の次の非終端記号は対(pp)を表し、変更不可能な対(ip)と変更可能な対(mp)に分けられる。図 1 の最後の非終端記号、 sym、 x、 n はそれぞれシンボル、変数、数を表す。非終端記号 ip、 mp、 sym はすべて交差しないものと仮定されている。さらに、変数 x はキーワードや原始操作のいずれも含まないものと仮定されてい、それらと名前を共有するプログラム変数はいずれも、意味論によりそのプログラムの意味が与えられる前に名前が変更されていなければならない。
図 2: 評価文脈の文法
評価文脈についての非終端記号は図 2 に示されている。非終端記号 P は quote されたデータをまったく含まないプログラムで起こる評価での制御を行なう。評価文脈 E、 F は式のためのものである。これらは、評価文脈 PG、 G、 H が f を再利用できるようにし、例外と dynamic-wind をサポートした文脈上できめ細やかな制御を行なう。星印や丸印のついた変種 E*、 E○、 F*、 F○ は単一の値が多値になり、多値が単一の値になることを表している。文脈 U は本報告書の set!、 set-car!、 set-cdr! の結果の未規定を取り扱うために使われる(詳しくは R6RS:翻訳:R6RS:A12 Underspecification? 参照)。最後に、文脈 S は quote された式が簡略化される部分である。評価文脈の精確な用法については関連する規則とともに説明される。
意味論中の答え()を観測可能な結果に変換するために我々は次の関数を使う。
これによりデータの格納が削除され、複雑な値は生成された値の種類を示す単純なタグに変換され、また、値が何ら生成されない場合は、補足されない例外が発生したか、意味論で基底されていない状態に到達したことを意味する。