Ошибки при парсинге yaml


Всем привет. Просто заметка с решением проблем…

Текст ошибки
C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/psych.rb:377:in `parse’: (): did not find expected ‘-‘ indicator while parsing a block collection at line 13 column 2 (Psych::SyntaxError)

Это проблема с тем, что файл на языке yaml не может найти «-»
Добавьте пробелов в начало файла, удалите все знаки табуляции в документе. Табы могут добавляться некоторыми редакторами при переносе строки.
Указано 13 строка, 2й символ

Текст ошибки
C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/psych.rb:377:in `parse’: (): mapping values are not allowed in this context at line 14 column 11 (Psych::SyntaxError)

14 строка 11 символ
нужно выравнять параметры

C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/psych.rb:377:in `parse’: (): found a tab character that violate intendation while scanning a plain scalar at line 21 column 12 (Psych::SyntaxError)
проверьте, когда добавляли запись, не был ли добавлен символ табуляции редактором.

Парсинг на Delphi (всё что нужно для парсинга)


Trim — Удаляем все пробелы по краям строки

LeftStr и RightStr – получаем значение определённой длины слева и справа соответственно

MidStr – значение из центра строки (сам никогда не использовал, но может кому то и понадобится…)

Length – получение длины строки (очень удобно при использовании с другими функциями для парсинга и плюсовать или минусовать…)

Delete – удаляет часть символов из строки

SetLength – изменяет размер строки или массива (тоже в парсинге вроде не использовал, но мало ли…)

Copy – копирование части строки или массива

Insert вставить строку в строку

Move – копирует часть строки в другую строку (копирует байты данных)

В принципе это вроде как всё, из того, что должно потребоваться для парсинга либого документа, который может быть прочитан как файл.

Я подразумеваю, что будет обрабатываться какой то текстовый документ, например файл настроек программы, синхронизация каких либо программ, да и много чего ещё можно спарсить…

Сам парсер писать не буду, ибо для разных нужд нужно что то своё.

К примеру, мы храним настройки программы в простом текстовом файле.

Сохраняем их так:

Procedure SAVE_Settings;

VAR

STGFile: TextFile;

TMP: String;

Читать далее