| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > текстовый файл с ключами |
| Автор: Mormishka 22.5.2011, 09:47 |
| Как лучше всего читать файлы такого типа? например Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) где Key1,Key2,Key3,Key4 ключи, строковые переменные x1,x2 числа Причем ключи могут быть разные, на разном уровне. По идеи нужно создать класс, содержащий строковую переменную, название. В этом классе есть указатель на на другие такие же объекты. |
| Автор: Akina 22.5.2011, 20:02 |
Читать как TextStream, а обрабатывать в стеке. |
| Автор: Mormishka 22.5.2011, 20:11 |
| Akina, В каком смычле обрабатывать в стеке? Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) В начале я читаю файл, нахожу Key1 ищу "(", считываю строку Key2 ( Key4 x1 ) Key3 ( x2 ) . Создаю например лист строковых переменных, запихиваю строку "Key2 ( Key4 x1 ) Key3 ( x2 )". Здесь нужна рекурсия , потому что первоначально я не знаю сколько будет ключей, сколько подуровней, и сеолько чисел. |
| Автор: Silent 22.5.2011, 21:29 |
| Я бы посоветовал запихнуть в xml, и работать с ним. А второй вариант - дерево синтаксического разбора |
| Автор: Akina 23.5.2011, 07:35 |
Покажите итог разбора ЭТОГО выражения и объясните, по какому принципу выполнено присвоение значений ключам. Пока мне лично непонятно, как на 4 ключа могло оказаться всего 2 значения. |
| Автор: Mormishka 23.5.2011, 15:55 |
| Akina, Любой ключ KeyX может содержать любое количество значений и любое количество ключей KeyX ( x1 x2 x3 KeyX1 (...) KeyX2 (...) KeyX3 (...) ) Для значений важен порядок. Таким образом здесь Key1 содержит два ключа Key2, Key3. Key2 содержитодин ключ Key4, который содержит одно значение х1. Key3 одно значение х2. Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) |