Выбор синтаксиса вызова процедуры

Discussion in 'WASM.HEAP' started by _DEN_, Feb 25, 2012.

  1. _DEN_

    _DEN_ DEN

    Blog Posts:
    0
    Привет. Выдумываю синтаксис вызова процедуры в своем веб-движке. Требования: параметр должен содержать не только значение, но и имя. Сейчас используется свой собственный синтаксис и свой собственный парсер. Сейчас это выглядит так:

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

    Ну или может есть еще какие-то варианты? Общеупотребимые форматы и парсеры к ним? Нужно: имя-значение, экранирование символов, вложенные вызовы.
     
  2. SadKo

    SadKo Владимир Садовников

    Blog Posts:
    8
    А javascrip-хэши уже не труъ?
     
  3. _DEN_

    _DEN_ DEN

    Blog Posts:
    0
    SadKo

    JS-хеши - это и есть "менее строгий браузерский JSON". :)
     
  4. scf

    scf Member

    Blog Posts:
    0
    А зачем вообще указывать названия параметров? все веб-фреймворки обходятся порядком параметров и ничего
    Code (Text):
    1. <node attribute="person:list(5, 16, 25)" />
    Насчет "повышенной гибкости и читабельности" - стоит подумать, действительно ли эта гибкость так уж нужна.
     
  5. _DEN_

    _DEN_ DEN

    Blog Posts:
    0
    scf
    Во-первых, чтобы не было неожиданных сюрпризов, если перепутались местами два однотипных параметра. Во-вторых - чтобы делать перегрузки.