From 3b030513e61763bd5dbf197517ed9be7bc070884 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Tue, 8 Nov 2011 11:16:38 +0800 Subject: begin to write pinyin parser beta --- src/storage/pinyin_parser2.h | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/storage/pinyin_parser2.h (limited to 'src/storage/pinyin_parser2.h') diff --git a/src/storage/pinyin_parser2.h b/src/storage/pinyin_parser2.h new file mode 100644 index 0000000..e2c09a8 --- /dev/null +++ b/src/storage/pinyin_parser2.h @@ -0,0 +1,60 @@ +/* + * libpinyin + * Library to deal with pinyin. + * + * Copyright (C) 2011 Peng Wu + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef PINYIN_PARSER2_H +#define PINYIN_PARSER2_H + +#include "chewing_key.h" + +typedef struct { + const char * m_pinyin_str; + const char * m_chewing_str; + ChewingKey m_chewing_key; +} content_table_item_t; + +typedef struct { + const char * m_pinyin_input; + guint32 m_flags; + guint16 m_table_index; +} pinyin_index_item_t; + +typedef struct { + const char * m_chewing_input; + guint32 m_flags; + guint16 m_table_index; +} chewing_index_item_t; + +typedef struct { + ChewingKey m_orig_key; + ChewingKey m_first_key; + ChewingKey m_second_key; + guint32 m_freq; +} divided_table_item_t; + +typedef struct { + ChewingKey m_orig_first_key; + ChewingKey m_orig_second_key; + ChewingKey m_new_first_key; + ChewingKey m_new_second_key; + gfloat m_benefit; +} resplit_table_item_t; + +#endif -- cgit