Вы спрашиваете, как определить содержание записей контента? Вы дали понять, что они уже определены с точки зрения количества данных. Если каждый идентификатор типа данных подразумевает не только длину данных, но и структуру данных, это просто, даже в BNF, с одним набором производств для каждого идентификатора типа данных. Это то, что вы имели ввиду? (Это даже может быть LR (1).)
Я являюсь создателем экспертной системы под названием XTRAN, которая управляет более чем 30 компьютерными языками, а также данными и текстом. Я устал от написания синтаксических анализаторов, поэтому я создал механизм синтаксического анализа, который выполняет EBNF во время разбора, и я передаю его EBNF с помощью языка правил экспертной системы. Поскольку сам EBNF является мета, схема, которую я использую для разбора и сохранения его для выполнения во время разбора, является мета-мета.
Язык правил XTRAN также предоставляет возможность базы данных, в которой база данных находится в памяти, адресуется по контенту и хранится в виде разреженной матрицы. По сути, это n-пространство, каждая ячейка которого адресована списком индексов, причем каждый индекс либо удаляется, либо является целым числом, либо текстовой строкой. Поэтому я могу быстро построить сценарий, который вы описали, сохранив описания данных в той же базе данных, которая содержит записи контента. Это слабо аналогично реляционной базе данных, описывающей свою схему через собственное содержимое.
FWIW, мы называем метакод языка правил XTRAN, потому что это язык, который может манипулировать другими языками (так же как и собой).