Информация об изменениях

Сообщение Re[6]: контекстно-свободная самоописывающаяся грамматика от 16.03.2017 3:16

Изменено 16.03.2017 3:19 Arsen.Shnurkov

Re[6]: контекстно-свободная самоописывающаяся грамматика
К> Какие директивы Include? Это ты про что?

рассмотрим класс Apache2 с двумя статическими методами
class Apache2 {
    public static string LoadConfig (string filename)
    {
       // парсим файл и ищем маски
       // вызываем LoadConfigsByMask()
       // вставляем строки вместо интервалов с директивами
       // возвращаем итоговую строку
    }
    public static string LoadConfigsByMask(string filemask)
    {
       // ищем файлы по маске
       // каждый файл читаем функцией LoadConfig()
       // склеиваем строки
       // результат возвращаем
    }
}


Тут плохо то, что:
1) потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике);
2) теряется информация про исходное положение символов в разных файлов (нужно не строки возвращать, а что-то более сложное).

Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.
Re[6]: контекстно-свободная самоописывающаяся грамматика
К> Какие директивы Include? Это ты про что?

рассмотрим класс Apache2 с двумя статическими методами
class Apache2 {
    public static string LoadConfig (string filename)
    {
       // парсим файл и ищем маски
       // вызываем LoadConfigsByMask()
       // вставляем строки вместо интервалов с директивами
       // возвращаем итоговую строку
    }
    public static string LoadConfigsByMask(string filemask)
    {
       // ищем файлы по маске
       // каждый файл читаем функцией LoadConfig()
       // склеиваем строки
       // результат возвращаем
    }
}


Тут плохо то, что:
1) потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике);
2) теряется информация про исходное положение символов в разных файлах (нужно не строки возвращать, а что-то более сложное).

Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.