LINUX.ORG.RU

История изменений

Исправление PhysShell, (текущая версия) :

Я в своё время написал самопальный парсер примитивного вида конфига,

[section_1]
key_1 = value_1
...
key_n = value_n

[section_2]
key_1 = value_1
...
key_n = value_n

который используется так,

char* value = r_string ( "section_1", "key_1" );

за пару часов.

По ходу дела нужно будет решить, как хранить данные, обрабатывать ошибки синтаксиса, возможно, комментарии. Также учесть поддержку базовых типов, чтобы можно было прочитать float например. Некоторое понимание придёт.

Если JSON, то почитай про сериализацию и десериализацию (для похожих целей ещё используют XML). К примеру, посредством рефлексии, таким образом можно заполнять и выгружать целые объекты, а не отдельные их поля.

К тому, что уже советовали выше, могу лишь добавить - можешь написать интерпретатор для какого-нибудь языка, хотя бы какие-нибудь базовые вещи. Попробуй распарсить объявление переменных, скобки, арифметику.

Исходная версия PhysShell, :

Я в своё время написал самопальный парсер примитивного вида конфига,

[section_1]
key_1 = value_1
...
key_n = value_n

[section_2]
key_1 = value_1
...
key_n = value_n

который используется так,

char* value = r_string ( "section_1", "key_1" );

за пару часов.

По ходу дела нужно будет решить, как хранить данные, обрабатывать ошибки синтаксиса, возможно, комментарии. Некоторое понимание придёт.

Если JSON, то почитай про сериализацию и десериализацию (для похожих целей ещё используют XML). К примеру, посредством рефлексии, таким образом можно заполнять и выгружать целые объекты, а не отдельные их поля.

К тому, что уже советовали выше, могу лишь добавить - можешь написать интерпретатор для какого-нибудь языка, хотя бы какие-нибудь базовые вещи. Попробуй распарсить объявление переменных, скобки, арифметику.