/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¤Î¼½ñ°ú¤¤ËÍøÍѤ¹¤ë
*
************************************************************************/
|