|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.09.2011, 09:32 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 18,136
|
Описание дерева
Требуется помощь в разработке описания по которому можно было бы быстро построить дерево строк. Каждый элемент которого либо узел либо строка. Данный язык описаний предназначен для того, чтобы программист мог быстро написать дерево в программе на этапе ее разработки (в противоположность этапу выполнения программы). Хочу использовать деревья строк в качестве объектов для одного интерпретатора . Так вот, строить дерево динамически иногда не совсем удобно, имеется потребность получить готовое без лишних телодвижений со стороны программиста. В самом интерпретаторе предполагаю пару операторов (наподобие блока {} или begin-end) между которыми и будет находится описание дерева (интерпретатор перед стартом сканирует программу один раз).
Жду ваших предложений и дельных советов .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
08.09.2011, 10:18 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Можно не выдумывать велосипед, а воспользоваться xml форматом описания данных. Все равно описание древовидной структуры к чему нибудь подобному сведется. А здесь очевидное достоинство - данные подготовленные таким образом можно просматривать-редактировать существующими средствами
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
08.09.2011, 10:26 | #3 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 18,136
|
Увы, нет . Структура дерева действительно во многом будет напоминать XML. Но XML громоздкий формат. Он отлично подходит для межпрограммного обмена, но неудобен когда его нужно будет писать ручками.
Ну Ваш пример: Цитата:
Насчет просмотра - это будет файл программы. Попробую объяснить подробней - то как объявление record в Дельфи, struct в С++ и т.д. То есть объявление дерева предполагается именно внутри исходного текста программы на другом языке. Можно попробовать вариант с символическими заменами, например: Цитата:
Еще одна причина против XML - все равно переводить во внутренний формат. Предполагаются операции которые обычно не реализовывают стандартные парсеры.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 08.09.2011 в 10:45. |
||
08.09.2011, 10:49 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
если честно, я совсем не понял, что именно нужно ) но чем обычные скобочки не устраивают?
PHP код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
08.09.2011, 12:00 | #5 | ||
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Utkin
Цитата:
Цитата:
|
||
08.09.2011, 12:36 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
JSON? ProtoBuf?
p.s. не стоит создавать свое в этой ситуации, если только не ради опыта. |
08.09.2011, 12:44 | #7 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 18,136
|
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 08.09.2011 в 12:50. |
|||
08.09.2011, 12:50 | #8 |
***
Участник клуба
Регистрация: 30.07.2007
Сообщений: 1,162
|
Предлагаю:
Код:
2) Названия веток, чтобы потом можно было быстро к нужной ветке обратится name_tree->branch 3) Обращение к данным ветки вроде числового массива и ассоциативного пример: name_tree->branch2[0]; name_tree->branch2[1]; Обращение к ассоциативному массиву: name_tree->branch:name1; ну или так name_tree->branch['name1']; 4) Доступ к 3ей ветке (двойная вложенность). Имена веток должны быть уникальными по этому: name_tree->branch3[0]; |
08.09.2011, 12:57 | #9 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 18,136
|
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|||
08.09.2011, 13:04 | #10 | ||
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Цитата:
Цитата:
пыщь
|
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сохранение дерева | demonara | Помощь студентам | 3 | 03.01.2011 12:35 |
Описание структуры данных n-арного (k-ичного) дерева | Gonzo | Общие вопросы Delphi | 10 | 23.09.2010 08:05 |
Прорисовка дерева | yulia | Общие вопросы по Java, Java SE, Kotlin | 3 | 02.11.2008 23:19 |
Глубина дерева | Иллидан | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 29.03.2008 11:36 |
обход дерева | ribka | Помощь студентам | 2 | 11.12.2007 20:38 |