C/Migemo 1.4
romaji.c ファイル
#include "common.h"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "romaji.h"
#include "strbuf.h"
#include "trie.h"
romaji.c の依存先関係図:

データ構造

struct  romanode
struct  romanode_block
struct  romanode_arena
struct  romaji

マクロ定義

#define STRDUP   strdup
#define ROMAJI_READ_BUFSIZE   1024
#define ROMAJI_PUSHBACK_BUFSIZE   256
#define ROMAJI_BLOCK_BYTES   (16 * 1024)
#define ROMAJI_BLOCK_HEADER_SIZE   (sizeof(void *) + sizeof(size_t))
#define ROMAJI_BLOCK_SIZE    ((ROMAJI_BLOCK_BYTES - ROMAJI_BLOCK_HEADER_SIZE) / sizeof(romanode))

型定義

typedef struct romanode romanode
typedef struct romanode_block romanode_block
typedef struct romanode_arena romanode_arena

列挙型

enum  load_mode {
  MODE_KEY_WAITING = 0 , MODE_KEY_READING = 1 , MODE_VALUE_WAITING = 2 , MODE_VALUE_READING = 3 ,
  MODE_REMAIN_WAITING = 4 , MODE_REMAIN_READING = 5 , MODE_LINE_SKIP = 6
}

関数

size_t romanode_count_siblings (romanode *node)
romanode ** romanode_collect_siblings (romanode *node, romanode **buf)
romajiromaji_open ()
void romaji_close (romaji *rj)
void romanode_print_stat (romaji *rj, const char *title)
int romaji_load (romaji *rj, const unsigned char *filename, CHARSET_PROC_CHAR2INT char2int)
wordlistromaji_convert_all (romaji *rj, const unsigned char *src)

マクロ定義詳解

◆ ROMAJI_BLOCK_BYTES

#define ROMAJI_BLOCK_BYTES   (16 * 1024)

◆ ROMAJI_BLOCK_HEADER_SIZE

#define ROMAJI_BLOCK_HEADER_SIZE   (sizeof(void *) + sizeof(size_t))

◆ ROMAJI_BLOCK_SIZE

#define ROMAJI_BLOCK_SIZE    ((ROMAJI_BLOCK_BYTES - ROMAJI_BLOCK_HEADER_SIZE) / sizeof(romanode))

◆ ROMAJI_PUSHBACK_BUFSIZE

#define ROMAJI_PUSHBACK_BUFSIZE   256

◆ ROMAJI_READ_BUFSIZE

#define ROMAJI_READ_BUFSIZE   1024

◆ STRDUP

#define STRDUP   strdup

型定義詳解

◆ romanode

typedef struct romanode romanode

◆ romanode_arena

typedef struct romanode_arena romanode_arena

◆ romanode_block

typedef struct romanode_block romanode_block

列挙型詳解

◆ load_mode

enum load_mode
列挙値
MODE_KEY_WAITING 
MODE_KEY_READING 
MODE_VALUE_WAITING 
MODE_VALUE_READING 
MODE_REMAIN_WAITING 
MODE_REMAIN_READING 
MODE_LINE_SKIP 

関数詳解

◆ romaji_close()

void romaji_close ( romaji * rj)

参照先 romaji::arena.

参照元 migemo_close().

◆ romaji_convert_all()

◆ romaji_load()

int romaji_load ( romaji * rj,
const unsigned char * filename,
CHARSET_PROC_CHAR2INT char2int )

Load the Romaji dictionary.

引数
rjRomaji object
filenameDictionary filename
戻り値
0 on success, non-zero on failure.

参照先 romaji::char2int, CHARSET_PROC_CHAR2INT, romaji::rootnode.

参照元 migemo_load().

◆ romaji_open()

romaji * romaji_open ( )

参照先 romaji::char2int.

◆ romanode_collect_siblings()

romanode ** romanode_collect_siblings ( romanode * node,
romanode ** buf )

◆ romanode_count_siblings()

size_t romanode_count_siblings ( romanode * node)

◆ romanode_print_stat()

void romanode_print_stat ( romaji * rj,
const char * title )