string = '"{0}"'.format(string)
entry = "{{{0: <5}, {1}}}".format(key, string)
entries.append(entry)
+ entries.append("{'\\0', NULL}")
return ",\n".join(entries)
key = escape_char(key);
entry = "{{{0: <5}, {1}}}".format(key, tone)
entries.append(entry)
+ entries.append("{'\\0', 0}")
return ",\n".join(entries)
int parsed_len = 0;
while (parsed_len < maximum_len) {
const char * cur_str = str + parsed_len;
- i = std_lite::min(maximum_len - parsed_len, max_double_pinyin_length);
+ i = std_lite::min(maximum_len - parsed_len,
+ (int)max_double_pinyin_length);
+
ChewingKey key; ChewingKeyRest key_rest;
for (; i > 0; --i) {
bool success = parse_one_key(options, key, key_rest, cur_str, i);
typedef struct {
const char m_input;
- const char m_tone;
+ const char m_tone;
} chewing_tone_item_t;
typedef GArray * ChewingKeyVector;
*/
class ChewingParser2 : public PinyinParser2
{
- /* Note: one internal pointer to chewing scheme table. */
+ /* Note: some internal pointers to chewing scheme table. */
+protected:
+ chewing_symbol_item_t * m_symbol_table;
+ chewing_tone_item_t * m_tone_table;
public:
+ ChewingParser2() {
+ m_symbol_table = NULL; m_tone_table = NULL;
+ set_scheme(CHEWING_DEFAULT);
+ }
+
virtual ~ChewingParser2() {}
virtual bool parse_one_key(guint32 options, ChewingKey & key, ChewingKeyRest & key_rest, const char *str, int len) const;