Вставка кода в код
От: Naota  
Дата: 08.04.08 07:06
Оценка:
Задача:
Есть файл, с кодом на языке Lua, и есть список вставок другого кода в этот файл. Вставки разделяются на вставки в функции и вставки вне функций. У вставок есть способ вставки, маркер и вставляемый код. Вставлять можно тремя способами, перед/после/заменить. Маркер это то же код.

Как я делал:
Первая реализация создавала структуру: таблица функций (имя функции, код функции). Но такой способ оказался неверным, так как нужно было форматировать код самому, удаляя комменты.

Вторая реализация создавала структуру: таблица функций (имя функции, индекс начала тела и длена). Индекс указывал на номер слова в файле. Но от этого то же пришлось отказаться, так как при вставке кода в файл, все индексы смещались.

Третьия реализация создавала структуру: таблица функций (имя функции, указатель на начало тела и указатель на конец тела). Перед тем как искать маркер в функции, нужно: очистить от лишнего кода функцию и сам маркер. Что бы искать маркер не чисто текст, а по логике языка. Но тут возникает проблема. Вот мы нашли маркер в очищенном коде, но как получить местоположение этого маркера в неочищенном коде?

Можно вообще не очищать кода, а сразу искать маркер в функции, попутно пропуская незначащие слова. Не очень хорошая штука выходит, но пока идей нету.

Может у кого-то есть идеи другой реализации или ещё чего...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.