Пример #1
0
        private void pinyin()
        {
            switch (_token)
            {
            case '(':
                _ispinyinstarted = true;
                break;

            case ')':
                if (!_ispinyinstarted)
                {
                    error();
                }
                else
                {
                    _ispinyinstarted = false;
                    _w.PinYin        = _temp;
                    _temp            = string.Empty;
                    _dic.Add_Node(_w);
                    _state = DicParserState.Default;
                }
                break;

            default:
                if (_ispinyinstarted)
                {
                    _temp += _token;
                }
                break;
            }
        }
Пример #2
0
        private void type()
        {
            switch (_token)
            {
            case ')':
                _state = DicParserState.Pinyin;
                break;

            case '[':
                _istypestarted = true;
                break;

            case ',':
                if (!_istypestarted)
                {
                    error();
                }
                else
                {
                    _type          = _temp.GetWordTypeFromString();
                    _temp          = string.Empty;
                    _istypestarted = false;
                    _state         = DicParserState.Frequency;
                }
                break;

            default:
                if (_istypestarted)
                {
                    _temp += _token;
                }
                break;
            }
        }
Пример #3
0
        private void _default()
        {
            switch (_token)
            {
            case '(':
                _state = DicParserState.Name;
                break;

            default:
                break;
            }
        }
Пример #4
0
        private void pretype()
        {
            switch (_token)
            {
            case '(':
                _state = DicParserState.Type;
                break;

            default:
                break;
            }
        }
Пример #5
0
        private void frequency()
        {
            switch (_token)
            {
            case ']':
                _w.Add(_type, int.Parse(_temp));
                _temp  = string.Empty;
                _state = DicParserState.Type;
                break;

            default:
                _temp += _token;
                break;
            }
        }
Пример #6
0
        private void name()
        {
            switch (_token)
            {
            case ')':
                _w = new _WordInnfo();
                if (_reverseName)
                {
                    _w.Name = StringHelper.Reverse(_temp);
                }
                else
                {
                    _w.Name = _temp;
                }
                _temp  = string.Empty;
                _state = DicParserState.PreType;
                break;

            default:
                _temp += _token;
                break;
            }
        }