This file is indexed.

/usr/include/juman_pat.h is in libjuman-dev 5.1-2.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#define DEBUGn

#ifdef DEBUG
#define OI(x) {printf("< %d >\n",x);fflush(stdout);} /* Output Integer */ /*¥Ç¥Ð¥°¤ËÊØÍø*/
#define OS(x) {printf("[ %s ]\n",x);fflush(stdout);} /* Output String */
#define OS2(x) {printf("%s\n",x);fflush(stdout);} /* Output String */
#define OM(x) {printf("Message: " #x "\n");fflush(stdout);} /* Output Message */
#define OL(x) {printf(#x);fflush(stdout);} /* Output Label */
#else
#define OI(x)  /* */
#define OS(x)  /* */
#define OS2(x) /* */
#define OM(x)  /* */
#define OL(x)  /* */
#endif

/* ¤¿¤Ä¤ò¥Ï¥Ã¥·¥å */
#ifdef USE_HASH
#include "t-hash.h"
#endif

/* ¥¤¥ó¥Ç¥Ã¥¯¥¹ÍѤΥꥹ¥È·¿¤ÎÄêµÁ */
typedef struct pat_index_list {
  struct pat_index_list *next; /* ¤Ä¤® */
  long index; /* ¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ */
} pat_index_list;

/* ¥Î¡¼¥É¤Î¥Ç¡¼¥¿¹½Â¤¤ÎÄêµÁ */
typedef struct pat_node {
  pat_index_list il; /* ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥ê¥¹¥È */
  short checkbit; /* ¥Á¥§¥Ã¥¯¤¹¤ë¥Ó¥Ã¥È¤Î»ØÄê¡£(²¿ÈÖÌܤΥӥåÈ?) */
#if 0
  char *str; /* ¥È¥é¥¤¤È¤·¤Æ¤Ä¤«¤¦¤¿¤á¤ËºÇÄã¸ÂɬÍפÊʸ»úÎó¤òÊݸ 960919 */
#endif
  struct pat_node *right; /* ±¦¤Ø¤Þ¤¤¤ê¤Þ¡Á¤¹ */
  struct pat_node *left; /* º¸¤Ø¤Þ¤¤¤ê¤Þ¡Á¤¹ */
} pat_node;


#define HASH_SIZE 131071 /* 107653  ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º 1162213*/


#ifndef MAX_DIC_NUMBER 
#define MAX_DIC_NUMBER 5 /* Ʊ»þ¤Ë»È¤¨¤ë¼­½ñ¤Î¿ô¤Î¾å¸Â (JUMAN) */
#endif
extern pat_node tree_top[MAX_DIC_NUMBER]; /* ÌڤΤͤä³¢ö ¼­½ñ¤Î¿ô¤À¤±»È¤¦ */
extern FILE *dic_file[MAX_DIC_NUMBER]; /* ÌڤΤâ¤È¥Ç¡¼¥¿(¼­½ñ¥Õ¥¡¥¤¥ë) */

#define SIKII_BIT 16  /* ʸ»ú¤Èʸ»ú¤Î¶èÀÚ¤ê¤Ï²¿¥Ó¥Ã¥ÈÌÜ? (8 or 16) */

extern char line[50000]; /* ÆþÎÏ¹Ô */
extern FILE *out_file, *in_file; /* ¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¡¦¥í¡¼¥É¥Õ¥¡¥¤¥ë */
extern char  inkey[10000]; /* ¸¡º÷¡¦ÁÞÆþ¥­¡¼ */

/*** JUMAN¼­½ñ°ú¤­´ØÏ¢ ***/
extern int number_of_tree; /* »ÈÍѤ¹¤ë¼­½ñ(¥Ñ¥ÈÌÚ)¤Î¿ô */

/*** get_item()ÍÑ ***/
extern char partition_char; /* ¶èÀÚ¤êʸ»ú */
extern int column; /* ²¿¥³¥é¥àÌܤ« */

/**************************
 * ´Ø¿ô¤Î¥×¥í¥È¥¿¥¤¥×Àë¸À *
 **************************/ 
/* pat.c */
extern void pat_init_tree_top(pat_node*); /* ¥Ñ¥È¥ê¥·¥¢Ìڤκ¬¤Î½é´ü²½ */
extern pat_node *pat_search(FILE*,char*,pat_node*,char*); /* ¥Ñ¥È¥ê¥·¥¢ÌڤǸ¡º÷ */
extern pat_node *pat_search4insert(char*,pat_node*); /* ÁÞÆþÍѸ¡º÷ */
extern void pat_insert(FILE*,char*,long,pat_node*,char*); /* ¥Ñ¥È¥ê¥·¥¢ÌÚ¤ËÁÞÆþ */
extern int pat_bits(char*,int,int); 
         /* ʸ»úÎóÃæ¤Î»ØÄꤵ¤ì¤¿°ÌÃ֤ΥӥåȤòÊÖ¤¹ */
         /* 960918  ÆâÉô¤Çstrlrn()¤ò¤ä¤ë¤Î¤Ï̵Â̤Ǥ¢¤ë¤³¤È¤¬È½ÌÀ */
extern void show_pat(pat_node*,FILE*,char*); /* ¥Ñ¥È¥ê¥·¥¢Ìڥǡ¼¥¿¤ò½ÐÎÏ */
extern char *get_line(FILE*,long); /* »ØÄꤵ¤ì¤¿¾ì½ê¤«¤é'\n'¤Þ¤ÇÆɤà */

/* file.c */
extern void com_s(char*,pat_node*); /* ¥»¡¼¥Ö´ØÏ¢ */
extern void save_pat(pat_node*);
extern void eputc(unsigned char, int);
extern void com_l(char*,pat_node*); /* ¥í¡¼¥É´ØÏ¢ */
extern pat_node *load_anode(pat_node*);
extern unsigned char egetc(int);
extern void dummy(void);
extern pat_node *malloc_pat_node(void); /* Matomete malloc */
extern pat_index_list *malloc_pat_index_list(void); /* Matomete malloc */

/* morph.c */
extern void jisyohiki(char*,pat_node*); /* ¼­½ñ°ú¤­ */
extern void insert_dic_data(FILE*,pat_node*,char*); /* ¼­½ñ¥Ç¡¼¥¿¤òÁÞÆþ*/

/************************************************************************
* 
* pat --- ¥Ñ¥È¥ê¥·¥¢ÌÚ¤Îõº÷¤ÈÁÞÆþ
* 
* ºî¼Ô: ¤¿¤Ä¤ò(tatuo-y@is.aist-nara.ac.jp)
* 
* ÌÜŪ: ¥Ñ¥È¥ê¥·¥¢ÌÚ¤Îõº÷¤ÈÁÞÆþ¤ò¹Ô¤¦
* 
* »²¹Íʸ¸¥: 
*   ¥¢¥ë¥´¥ê¥º¥à¤ÎÍý²ò¤Î¤¿¤á¤Ëʸ¸¥[1]¤ò»²¾È¤·¤¿¡£C¸À¸ì¤Ç¤Î¼ÂÁõ¤Ï
*   ʸ¸¥[2]¤Î¥×¥í¥°¥é¥à¤ò»²¹Í¤Ë¤·¤¿¡£
* [1] R. Sedgewick Ãø Ìî²¼¹ÀÊ¿¡¢À±¼é¡¢º´Æ£ÁÏ¡¢ÅĸýÅì ¶¦Ìõ
*     ¥¢¥ë¥´¥ê¥º¥à (Algorithms) ¸¶½ñÂè2ÈÇ Âè2´¬ õº÷¡¦Ê¸»úÎ󡦷׻»´ö²¿
*     ¶áÂå²Ê³Ø¼Ò,1992. (B195-2,pp.68-72)
* [2] ÅçÆâ¹ä°ì¡¢Í­ß·À¿¡¢Ìî²¼¹ÀÊ¿¡¢ÉÍÅÄÊæÀÑ¡¢Éú¸«ÀµÂ§ ÊÔ½¸°Ñ°÷
*     ¥¢¥ë¥´¥ê¥º¥à¼­Åµ
*     ¶¦Î©½ÐÈdzô¼°²ñ¼Ò,1994. (D74,pp.624-625)
* 
* ÍúÎò:
*   1996/04/09  Æ°¤¯! (¤¿¤À¤·°·¤¨¤ë¥Ç¡¼¥¿¤ÎºÇÂçŤÏ8bit¡£[2]¤òÌÏÊï¡£)
*           10  ½ÐÎϥ롼¥Á¥ó¤òºÆµ¢¤Ë²þÎÉ¡£Ê¸»úÎó¥Ç¡¼¥¿Âбþ(ºÇÂçĹ̵À©¸Â)¡£
*           30  ¥»¡¼¥Ö/¥í¡¼¥Éµ¡Ç½¡£¥Î¡¼¥É¤Î¥Ç¡¼¥¿¹½Â¤¤ËIDÈÖ¹æ¤òÄɲÃ(²¾)¡£
*         5/06  ÉôʬÌÚ¤ÎÁ´¥Ç¡¼¥¿½ÐÎϽèÍý¡£
*         6/11  JUMAN¤Î¼­½ñ°ú¤­ÍѤ˲þ¤¡¥
*           21  Ï¢ÁÛÇÛÎó¤òƳÆþ(INDEX¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë)
*         7/01  Ê£¿ô¤Î¼­½ñ¥Õ¥¡¥¤¥ë(¥Ñ¥ÈÌÚ)¤«¤é¸¡º÷¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡¥
* 
* ¥á¥â: JUMAN¤Î¼­½ñ°ú¤­¤ËÍøÍѤ¹¤ë
* 
************************************************************************/