Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2018, 08:16   #1
gregorianSI
Новичок
Джуниор
 
Регистрация: 18.04.2018
Сообщений: 1
По умолчанию Собственный конфиг файл. Парсинг. Корректность фигурных скобок. Секции и группы - C++

Всем доброго утра.
Файл разделен на секции вида:
Имя подсекции,секции может быть любым,в примере для удобства и наглядности понятия "глубины".
Код:
<Секция>: имя {
<Подсекция A уровня>:имя {
<Подсекция B уровня>:имя{
.
.
.
<Подсекция Z уровня>:имя{
//Группы,подгруппы
}
}
}
}
Как определять глубину (в какой секции сейчас) и корректность расставленных скобок? Есть наивный подход (блок if-оф на 200 строк), есть автоматный подход (состояние 1=секции,состояние 2=подсекции)но он не решает проблемы расстановки скобок. Не знаю,можно ли применить польскую нотацию. .XML,.JSON, .INI , .etc не предлагать,нельзя.
Какие у вас есть идеи,и какие , алгоритмы уже существуют?
gregorianSI вне форума Ответить с цитированием
Старый 18.04.2018, 09:15   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Считать скобки. Встретив { увеличиваем счетчик, встретив } уменьшаем.
И что значит "определить корректность"? Ну подсчитали мы скобки, а дальше что?
waleri вне форума Ответить с цитированием
Старый 18.04.2018, 13:21   #3
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

подключить интерпретатор луа, ваш конфиг сильно похож по синтаксису на таблицы. Потом все просто - загрузили в луа, считали данные из нее через С.
Ну и так, луа останется полноценным языком, может не только "считать", но и выполнить всякие действия, если подключено АПИ.
Со старта интерпретатор в районе 30кб RAM на 1 вм.

Т.е. ваш конфиг будет программой на луа, которая что-то декларирует там, но ничего не делает.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление своей секции в файл Winexcel Общие вопросы Delphi 4 19.08.2016 17:28
Turbo Pascal: Создать собственный библиотечный файл констант... Что это значит?))) FDCastro Помощь студентам 1 21.01.2013 13:46
Создать на диске текстовый файл, состоящий из имен девочек вашей группы. Переписать имена в алфавитном порядке в новый файл Sancheper Паскаль, Turbo Pascal, PascalABC.NET 1 21.06.2012 07:44
Конфиг Apache Predator199 PHP 1 03.06.2012 21:37
Корректность скобок! Sport Помощь студентам 3 22.03.2012 20:33