User Tag List

Страница 7 из 13 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 124

Тема: Как организовать память для текстового редактора?

  1. #61

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну сосбтвенно в работе это уже лет как 25+ можно посмотреть в МикроМире

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    логи парсить надо не редакторм а скриптом на ruby/perl/python
    ага, ага, особенно когда не знаешь что искать в них и искать надо всё. почему не хватит просмотрщика? потому что поиском и заменой лог можно чистить находу, адаптивно (что не сможет ни один скрипт).

  4. #63

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    138
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В порядке обсуждения, чисто теоретическая идея. Показываю на интуитивнопонятном примере:

    Строка до правки:
    "Моя Родина - Союз Советских Республик!"

    Строка после правки:

    "Моя Родина - Союз Советских Социалистических Республик!"

    Как должно выглядеть:

    Состояние памяти до правки:
    адрес_1: "Моя Родина - Союз Советск"
    адрес_2: "их "
    адрес_3: "Республик!"
    адрес_4:

    Состояние памяти после правки:
    адрес_1: "Моя Родина - Союз Советск"
    адрес_2: [управляющий код][адрес4]
    адрес_3: "Республик!"
    адрес_4: "их Социалистических "[управляющий код][адрес_3]

    (управляющий код и адрес занимают 3 байта)

    Плюсы:

    Не нужно двигать текст вообще.

    Минусы:

    Вероятно, усложняется и замедляется процедура вывода текста на экран.
    Перед сохранением текста необходима дополнительная обработка.
    Последний раз редактировалось Sergey; 02.04.2013 в 22:56.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  5. #64

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,913
    Спасибо Благодарностей отдано 
    354
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    246 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sergey, Хорошая годная трава.
    только зачем?
    С уважением,
    Jerri / Red Triangle.

  6. #65

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Не нужно двигать текст вообще.
    Это некий вид односвязного списка с выделением памяти в конце редактируемого буфера. Если у Вас возникла иллюзия что память тут выделяется как на стеке (типо она якобы заранее выделенная и потому все быстро) то это неправда, т.к. в отличие от стека тут фрагментация дикая будет и вообще самый примитивный по реализации malloc так и работает. В целом это полный мрак потому что фрагментация быстро достигнет такой длинны что торможение превысит все ожидания а дефрагментация потребует диких обьемов кода\временного буфера.

  7. #66

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    ага, ага, особенно когда не знаешь что искать в них и искать надо всё. почему не хватит просмотрщика? потому что поиском и заменой лог можно чистить находу, адаптивно (что не сможет ни один скрипт).
    ага, на практике даже во много итераций но скриптом анализировать проще
    просто у скрипта сильо больше возможностей править логи

    и мало того, скрипт можно будет и завтра использовать ....

    опять же, это для меня, и я достаточно давно в эти игры играю

    мне проще написать скрипт в пару строк чем в редакторе править руками
    да и поиск/замена в редакторах (даже так реализована как в с Sublime text 2) - бледное подобие возможностей скрипта

  8. #67

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    просто у скрипта сильо больше возможностей править логи
    Это оффтопик, но раз уж сам модератор его поддерживает, то я не могу не ответить. Иногда баги в софте, который пишет лог, таковы, что правила правки лога сложно формализовать в виде скрипта. Может получиться так, что скрипт превратится в парсер лога с конкретными нарушениями структуры с последующей генерацией исправленного лога. Огромный объем кода. Также появляется необходимость отладки скрипта и его проверки, что он не портит лог где-то, где этого совсем не ждешь. Ладно если баг в скрипте приведет к синтаксической ошибке в логе, что парсер лога впоследствии выругается. А если произойдет незаметная порча данных? В моей практике, когда объем правок невелик, а формализация затруднена, как правило было удобнее редактировать логи вручную.
    Цитата Сообщение от esl Посмотреть сообщение
    и мало того, скрипт можно будет и завтра использовать ....
    Сам по себе такой скрипт, как правило, не подлежит повторному использованию, т.к. баг в программе, записавшей лог, фиксится, так что таких же ошибок в следующих логах уже не будет. Только опыт, полученный при написании и наладке скрипта, можно будет повторно использовать.

    ---------- Post added at 23:39 ---------- Previous post was at 23:33 ----------

    Цитата Сообщение от bigral Посмотреть сообщение
    В целом это полный мрак потому что фрагментация быстро достигнет такой длинны что торможение превысит все ожидания
    Не только торможение - расход памяти на указатели и "управляющие коды" тоже возрастет. И да, согласен, код сильно усложняется, растет в размере; налаживать трудно.

  9. #68

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Этого не избежать, в любом случае придется сдвигать байты на диске. Хоть ты весь файл в оперативку загрузи.
    Интересно было бы написать сам редактор отдельным модулем от модуля сохранения. Да еще и на С, тогда бы можно было б портировать везде. К тому же предвижу что потом нужны будут plugin-ы для подсветки;find\replace;соmpare;bin edit by template и т.д.

  10. #69

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для редактора я бы кучу организовал.
    Максимальную длину строки ограничил бы 1024 байта, например.
    Тогда всё довольно просто - пока в пределах одной строки редактируешь - всё в буфере. Как строку бъёшь - так в куче место выделяется-освбождается. Для 48К накладно, а 128 уже прекрасно.

    А вот как проблему загрузки-выгрузки кусками решать - не представляю. Не думал об этом.

  11. #70

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    и мало того, скрипт можно будет и завтра использовать ....
    еще раз: только когда знаешь, что искать. ну, и про остальное Barmaley_m уже сказал.

Страница 7 из 13 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Алгоритм текстового Quest'a
    от ALKO в разделе Программирование
    Ответов: 11
    Последнее: 23.12.2010, 00:47
  2. Как проще код из текстового файла -> Alasm-файл?
    от TomCaT в разделе Программирование
    Ответов: 10
    Последнее: 28.05.2010, 16:53
  3. Адаптация текстового редактора
    от Raydac в разделе Софт
    Ответов: 1
    Последнее: 09.06.2008, 14:27
  4. Интересная идея текстового интерфейса в играх
    от Black_Cat в разделе Программирование
    Ответов: 3
    Последнее: 18.11.2006, 15:22
  5. Проект муз. редактора для AY
    от Bulba в разделе Музыка
    Ответов: 36
    Последнее: 09.09.2005, 20:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •