/*  macro.h  */

#define Solaris /* Solaris では文字に色を付けると不具合が起きるので、
                   無色の画面にする。 */

#define  begin    {  /* 関数定義の開き括弧・閉じ括弧を */
#define  end      }  /* パスカル言語風に見せかけて見やすくする。*/
#define  _           /* 入れ子括弧の対応のインデントを視覚化する。*/
#define  str_rchr(x,y,z,w);  z = strchr(x,y); if (z) { w = strchr(z + 1,y); \
                             while (w) { z = w; w = strchr(z + 1,y); }}
   /* ライブラリ関数 str_reverse_chr() にバグが有ったので、マクロを自作した。*/
#define  WordNumb  40
#define  WordNumb2 41 /* 日本語原文が含み得る単語個数の最大値 */
#define  SentLen  235 
      /* 結合されて行く過程で英訳語の結合が含み得る半角文字数の最大値 */
#define  YakuLen  240 /* 英訳文が含み得る半角文字数の最大値 */
#define  JSentLen 240 /* 日本語原文が含み得る全角文字数の最大値の２倍 */
#define  WordLen  52  /* 辞書登録された英訳語が含み得る半角文字数の最大値 */
#define  JWordLen 60 /* 辞書の日本語見出し語が含み得る全角文字数の最大値の２倍 */
#define  ZokuLen  32  /* 英単語の属性部分が含み得る半角文字数の最大値 */
#define  SentZokuLen  50
 /* 訳語を結合して作られて行く英訳文の属性部分が含み得る半角文字数の最大値 */
#define  YakugoMax 9
           /* １つの和単語にたいして辞書登録できる英訳語の個数の上限値 */
#define  YakMaxCt  8
#define  MaxNr    4000 /* 和英辞書のページ数（レコード長）の上限値 */
#define  cls()  /*  puts("\33[2J")  */
#define  EC   /*   putch(0x1b)      */

#if defined(Solaris)
#define  color_dark_blue 
#define  color_red         
#define  color_magenta      
#define  color_green       
#define  color_light_blue  
#define  color_yellow      
#define  color_white       
#else
#define  color_dark_blue    printf("\x1b[34m") 
#define  color_red          printf("\x1b[31m") 
#define  color_magenta      printf("\x1b[35m")
#define  color_green        printf("\x1b[32m")
#define  color_light_blue   printf("\x1b[36m")
#define  color_yellow       printf("\x1b[34m")
#define  color_white        printf("\x1b[30m")
#endif
