Добрый день.
Возникла необходимость написать самый примитивный парсер CSS файла (строго ограниченный набор свойств) на си. Размер кода, который получится очень имеет значение, все шьется в железку. си 99.
Что я надумал:
1. Делается функция, которая читает файл и разбивает его на отдельные блоки (имя{...}) в строки (делает список).
2. Делается функция, которая парсит эти блоки на предмет параметров (делает список строка(имя) + строка(значение)).
3. берется хеш от имени параметра и делается switch.
4. Разгребаются свичи.
Как это можно сделать проще? Размер исходного кода и скомпиленного кода крайне критичен.