https://en.wikipedia.org/wiki/Text_Temp … on_Toolkit

Синтаксис содержит всего четыре варианта:
Directives <#@ ... #> Instructions for the transformation engine
Standard control blocks <# ... #> Code to be executed (e.g. loops)
Expression control blocks <#= ... #> Expressions evaluated and converted to a string
Class feature control blocks <#+ ... #> Class and function definitions

Наличие блока <#+ вытекает из того, что исходный язык программирования содержит функции.
Был бы это бейсик без функций с параметрами, такой вид синтаксиса был бы неуместен.
Но для русифицированного Си такой блок подходит.

Ну и все остальные тоже выглядят логично.

В википедии не описаны слова, которые могут стоять после <#@

https://learn.microsoft.com/en-us/visua … ew=vs-2022

output - управляет расширением и кодировкой выходного файла

include

Можно создавать свои директивы.

Синтаксис не выглядит чем-то таким суперсложным, что нельзя было бы запрограммировать.
Кроме того, в нём нет латинских букв (как же нет, когда это имена директив и имена их атрибутов?)

Надо попробовать описать его в BNF и скормить бизону. Ну и написать консольную программу, которая будет принимать параметры и выполнять обработку шаблона (его "выворачивание наизнанку" и генерирование кода на русицифицированном Си).

Учитывая, что конструкции не могут быть вложены друг в друга, по-моему можно было бы обойтись даже синтаксисом регулярных выражений.

Отредактировано Лис (2023-04-04 08:57:16)