{test-cfg {sort on} {rewrite off} {cfg-file {file-name "name-1" } {file-type "txt" } } {cfg-file {file-name "name-2" } {file-type "gif" } } {header-file {name "name-4" } {type "doc" } } {header-file {name "name-3" } {type "jpg" } } }
cls_2-документ может содержать комментарии, которые полностью игнорируются при разборе. Существуют два вида коментариев:
||
и завершается в конце строки;|#
и завершается #|
.Многострочные комментарии не могут быть вложенными друг в друга.
При разброре многострочные комментарии заменяются на один пробельный символ. Однострочные комментации заменяются на один символ перевода строки.
Значениями тега называются все токены, указанные внутри тега без учета дочерных тегов. Различаются три типа токенов:
Разница между nonspace и string заключается в том, что внутри строки могут содержаться пробелы. Поэтому строка должна обязательно начинаться с двойной ковычки и закрываться двойной кавычкой.
Приведенный выше пример можно представить в виде следующей разобранной последовательности токенов:
Примечание. В данной расшифровке не показаны моменты завершения разбора дочерних тегов.
Для того, чтобы двойная кавычка не открывала токен типа string достаточно записать ее в виде escape-последовательности.
Примечание. Указанные выше управляющие символы обязательно должны быть представлены в виде escape-последовательностей внутри токена типа string.
Для записи любого символа можно использовать целочисленное значение кода символа, представленное в одной из систем счисления:
Так же поддерживаются следующие escape-последовательности: