![]() |
|
|
![]()
|
|
| Mormishka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 25.8.2010 Репутация: нет Всего: нет |
Как лучше всего читать файлы такого типа?
например Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) где Key1,Key2,Key3,Key4 ключи, строковые переменные x1,x2 числа Причем ключи могут быть разные, на разном уровне. По идеи нужно создать класс, содержащий строковую переменную, название. В этом классе есть указатель на на другие такие же объекты. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Читать как TextStream, а обрабатывать в стеке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Mormishka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 25.8.2010 Репутация: нет Всего: нет |
Akina,
В каком смычле обрабатывать в стеке? Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) В начале я читаю файл, нахожу Key1 ищу "(", считываю строку Key2 ( Key4 x1 ) Key3 ( x2 ) . Создаю например лист строковых переменных, запихиваю строку "Key2 ( Key4 x1 ) Key3 ( x2 )". Здесь нужна рекурсия , потому что первоначально я не знаю сколько будет ключей, сколько подуровней, и сеолько чисел. |
|||
|
||||
| Silent |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
Я бы посоветовал запихнуть в xml, и работать с ним. А второй вариант - дерево синтаксического разбора
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Покажите итог разбора ЭТОГО выражения и объясните, по какому принципу выполнено присвоение значений ключам. Пока мне лично непонятно, как на 4 ключа могло оказаться всего 2 значения. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Mormishka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 25.8.2010 Репутация: нет Всего: нет |
Akina,
Любой ключ KeyX может содержать любое количество значений и любое количество ключей KeyX ( x1 x2 x3 KeyX1 (...) KeyX2 (...) KeyX3 (...) ) Для значений важен порядок. Таким образом здесь Key1 содержит два ключа Key2, Key3. Key2 содержитодин ключ Key4, который содержит одно значение х1. Key3 одно значение х2. Key1 ( Key2 ( Key4 x1 ) Key3 ( x2 ) ) |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |