例 - 関数プロトタイプ宣言の翻訳

Header-to-copy ユーティリティが C ソース コード内の関数プロトタイプ宣言を等価な COBOL COPY ファイル形式に翻訳する例を次に示します。

C のソース

extern XFontStruct *XLoadQueryFont(
);
extern void XrmInitialize(
);
extern char *XFetchBytes(
);
extern int (*XSetAfterFunction(
))();
extern XtAppContext XtCreateApplicationContext(
void
);
extern void XtInitializeWidgetClass(
WidgetClass
);
XmColorProc XmGetColorCalculation(void);

生成される COBOL コード

 program-id. "c_typefefs" is external.
 special-names.
     call-convention default-convention-val is defaultconv.
$set constant XtCreateApplicationContext "XtCreateApplicationContext"
 entry XtCreateApplicationContext default-conv
  returning   data-pinter
     .
$set constant XtInitializeWidgetClass "XtInitializeWidgetClass"
 entry XtInitializeWidgetClass default-conv 
  using       by value   data-pointer
     .
$set constant XmGetColorCalculation "XmGetColorCalculation"
 entry XmGetColorCalculation default-conv 
  returning   proc-pointer
     .
end program "c_typedefs".

この COBOL 出力は以前の段階と少し異なります。エントリ名はリテラルではなく定数で指定されており、特殊名段落内のエントリによって呼び出し規則が指定されています。