+1514
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
[151] ns-flow-pair-entry(n,c) ::= ns-flow-pair-yaml-key-entry(n,c)
| c-ns-flow-map-empty-key-entry(n,c)
| c-ns-flow-pair-json-key-entry(n,c)
[152] ns-flow-pair-yaml-key-entry(n,c) ::= ns-s-implicit-yaml-key(flow-key)
c-ns-flow-map-separate-value(n,c)
[153] c-ns-flow-pair-json-key-entry(n,c) ::= c-s-implicit-json-key(flow-key)
c-ns-flow-map-adjacent-value(n,c)
[154] ns-s-implicit-yaml-key(c) ::= ns-flow-yaml-node(n/a,c) s-separate-in-line?
/* At most 1024 characters altogether */
[155] c-s-implicit-json-key(c) ::= c-flow-json-node(n/a,c) s-separate-in-line?
/* At most 1024 characters altogether */
If the “?” indicator is omitted, parsing needs to see past the implicit key to recognize it as such. To limit the amount of lookahead required, the “:” indicator must appear at most 1024 Unicode characters beyond the start of the key. In addition, the key is restricted to a single line.
Note that YAML allows arbitrary nodes to be used as keys. In particular, a key may be a sequence or a mapping. Thus, without the above restrictions, practical one-pass parsing would have been impossible to implement.
Столкнулся, значит, с проблемой. ЙАМЛ парсер для Го не может распарсить даже примеры из спецификации.
Заглянул в исходники - ад и погибель. Копипаста сишного кода из libyaml с косметическими изменениями. Функции по 200+ строк с кучей ифов, регулярками и т.п. Решил заглянуть в спецификацию в надежде, что может можно самому как-то... в спецификации - ад и погибель. Копипаста с грамматическими ошибками, и тьма их. Ну а как дошел до этого места, так сразу и понял, что тут уже делать больше нечего.
Запостил: wvxvw,
19 Августа 2016
bagor 19.08.2016 15:46 # −368
guesto 19.08.2016 17:08 # −318
лол
Dummy00001 19.08.2016 17:44 # +40
к слову одна из прог "гениально" последнюю проблему решила: у каждого значение есть ключ/имя, но во многих местах ключи/имена просто игнорируется. таким образом прога форсирует что бы все параметры были однозначно: либо контейнером, либо простые значения.
ЗЫ на этой теме меня до сих пор пробивает что нет стандарта конфигов на s-expressions. наверное опять lisp curse.
bormand 19.08.2016 17:45 # +46
Слишком просто, нет простора для выебонов типа YAML'овских...
Dummy00001 19.08.2016 18:08 # +39
CHayT 19.08.2016 23:14 # +34
guesto 19.08.2016 23:28 # −278
CHayT 19.08.2016 23:36 # +32
Вот юзеров, копипастящих команды из блокнота наблюдаю часто. А ещё мне рассказывали, как одни утырки скрипт сохранили в .doc, переименовали в .sh и написали багрепорт, что, мол, ваша железка не работает.
Dummy00001 19.08.2016 23:54 # +33
для секспов есть какие библиотеки?
"Раньше был XML, но он жирный слишком для конфигов с тысячами объектов."
фи как не культурно. мой прошлый работодатель дампы базы в XML сливал и читал. ну подумаешь что нужно <size-of-DB> гигов памяти что бы дамп прочитать/провалидировать. это у вас просто памяти мало на серваках стоит.
CHayT 19.08.2016 23:59 # +34
guesto 20.08.2016 00:52 # +13
зачем? sax отменили?
Dummy00001 20.08.2016 01:04 # +33
bagor 19.08.2016 17:54 # −39
kurwa-nextgen 19.08.2016 17:56 # +45
bormand 19.08.2016 17:57 # +45
Dummy00001 19.08.2016 18:07 # +42
3_14dar 19.08.2016 17:59 # +2
Dummy00001 19.08.2016 18:07 # +44
так как json никто не валидирует сильно, у нас в одном месте в качестве комментариев просто левые ключики со комментарием как значение/строка используются.
3_14dar 19.08.2016 22:25 # −61
kurwa 19.08.2016 21:57 # −7
guesto 20.08.2016 03:58 # +10
TmfXqZjbnnVnYaF 21.08.2016 11:19 # +32
bagor 21.08.2016 11:25 # +22