Concurrent Clean : CleanJ : Generics -> eqD_b

この勢いで、Genericsライブラリまでportingできるかと思って試してみた。
GenParseとGenPrintは、ファイル操作系がまだできていないので変換できないが、それ以外はエラーなく変換ができた。
で、Genericsライブラリにあるgentestを実行してみたら・・・、エラー。
うーむ。一筋縄ではいかないなぁ。

      • -

eqD_bの問題っぽい。
CodeGeneratorの対応するコード。

void code_eqD_b (char descriptor_name[],int arity)
{
	INSTRUCTION_GRAPH graph_1,graph_2,graph_3;
	LABEL *descriptor;
	
	descriptor=enter_label (descriptor_name,DATA_LABEL);
	
	graph_1=s_get_b (0);

	graph_2=g_load_des_i (descriptor,arity);
	graph_3=g_cmp_eq (graph_2,graph_1);
	
	s_push_b (graph_3);
}

第2引数はarityで、g_load_des_i (descriptor,arity);で利用されている。
これを、これまでは、b_offsetとみなしていたところが引っかかったらしい。