Сообщение Re[6]: контекстно-свободная самоописывающаяся грамматика от 16.03.2017 3:16
Изменено 16.03.2017 3:19 Arsen.Shnurkov
Re[6]: контекстно-свободная самоописывающаяся грамматика
К> Какие директивы Include? Это ты про что?
рассмотрим класс Apache2 с двумя статическими методами
Тут плохо то, что потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике).
Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.
рассмотрим класс Apache2 с двумя статическими методами
class Apache2 {
public static string LoadConfig (string filename)
{
// парсим файл и ищем маски
// вызываем LoadConfigsByMask()
// вставляем строки вместо интервалов с директивами
// возвращаем итоговую строку
}
public static string LoadConfigsByMask(string filemask)
{
// ищем файлы по маске
// каждый файл читаем функцией LoadConfig()
// склеиваем строки
// результат возвращаем
}
}
Тут плохо то, что потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике).
Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.
Re[6]: контекстно-свободная самоописывающаяся грамматика
К> Какие директивы Include? Это ты про что?
рассмотрим класс Apache2 с двумя статическими методами
Тут плохо то, что:
1) потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике);
2) теряется информация про исходное положение символов в разных файлов (нужно не строки возвращать, а что-то более сложное).
Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.
рассмотрим класс Apache2 с двумя статическими методами
class Apache2 {
public static string LoadConfig (string filename)
{
// парсим файл и ищем маски
// вызываем LoadConfigsByMask()
// вставляем строки вместо интервалов с директивами
// возвращаем итоговую строку
}
public static string LoadConfigsByMask(string filemask)
{
// ищем файлы по маске
// каждый файл читаем функцией LoadConfig()
// склеиваем строки
// результат возвращаем
}
}
Тут плохо то, что:
1) потом после получения сконкатенированного контента парсить прийдётся ещё раз (по другой грамматике);
2) теряется информация про исходное положение символов в разных файлов (нужно не строки возвращать, а что-то более сложное).
Хотелось бы как-то учитывать результаты первого парсинга во время второго, чтобы повысить эффективность.