Привет. Выдумываю синтаксис вызова процедуры в своем веб-движке. Требования: параметр должен содержать не только значение, но и имя. Сейчас используется свой собственный синтаксис и свой собственный парсер. Сейчас это выглядит так: Код (Text): <node attribute="person:list(city_id -> 5, age_from -> 16, age_till -> 25)" /> Вот думаю, что надо бы избавиться от правил, известных мне одному, и заюзать что-то более известное. Неплохим кандидатом является JSON. Вот как это выглядело бы на нем: Код (Text): <node attribute="person:list('city_id': 5, 'age_from': 16, 'age_till': 25)" /> JSON содержит имена параметров, и парсер JSON-а есть в Boost (Property tree). Но мне не нравится что имена нужно брать в кавычки. JSON, используемый в браузерском JS, имеет менее строгие правила, и там параметры в кавычки можно не брать. Но найти парсер браузерного JSON-а мне не удалось. Может кто знает как он называется и как его гуглить? Ну или может есть еще какие-то варианты? Общеупотребимые форматы и парсеры к ним? Нужно: имя-значение, экранирование символов, вложенные вызовы.
А зачем вообще указывать названия параметров? все веб-фреймворки обходятся порядком параметров и ничего Код (Text): <node attribute="person:list(5, 16, 25)" /> Насчет "повышенной гибкости и читабельности" - стоит подумать, действительно ли эта гибкость так уж нужна.
scf Во-первых, чтобы не было неожиданных сюрпризов, если перепутались местами два однотипных параметра. Во-вторых - чтобы делать перегрузки.