私は構文を持っています:
syntax Process ::= KVar "(" KVar ")" "." Process [binder]
| "new" KVar "." Process [binder]
syntax Program ::= KVar "(" KVarVec ")" "=" Process [binder]
syntax KVarVec ::= KVar | KVar "," KVarVec
2 つの構文には、異なるバインドを行う 3 つのプロダクションがあります。
a(x).P
、ここでx
は に拘束されてP
いa
ますが、その用語に拘束されていない名前です。new a.P
ラムダのようにバインドa
します。P
f(a,b,c) = P
inのベクトルa,b,c
をバインドします。ベクトル内のそれぞれは にバインドされているはずです。KVar
P
KVar
P
binder
プロダクションで特定の変数をバインドするように指示するにはどうすればよいですか? 2番目がバインドされているはずだbinder(2)
と伝えるようなものはありますか? KVar
いくつかKVar
の が別の構文で定義されている場合はどうなりますか?