Доброго времени суток.
Вопрос носит академический интерес.
Допустим я решил написать обертку вокруг любого языка(например hello; -> будет преобразовано в <?="Hello World!"?>.
1. Как эта обертка будет называться?
2. Как будет называться полученная вещь? Препроцессор/постпроцессор или по другому?
3. Как заменять фразы? Регулярки?
4. Очень прошу направить в нужное русло, чтобы получить информацию по данному вопросу.
ps
Очень прошу не отвечать вроде:
"Глупость, забудь об этом и это не нужно."
Смотря как оно будет использоваться.
Это может быть отдельный язык (Elixir для Erlang), со своим компилятором\vm.
Это может быть шаблонизатор (Smarty\Twig\etc).
Это может быть DSL.
Как называть и как "заменять" зависит контекста и способа использования.
Могут быть и регулярки, и свой препроцессор\компилятор и т.д.
Если это будет обертка, имеющая в себе набор каких-то готовых блоков(например: head; - будет выводить определенную html шапку с определенными стилями) - то чем это будет являться? А если стили можно изменять?
И как тогда делать замену - регулярками?
littleguga: можно написать полноценный лексер + парсер, как это сделано в Twig например. Собираете AST (абстрактное синтаксическое дерево), потом это AST дампится в код. Все что нужно есть в вики, есть генераторы лексеров и парсеров (серьезно, проще описать грамматику языка и сгенерить чем писать руками)... Откройте для себя теорию грамматик.
littleguga: Вы задаете слишком общие вопросы. Задайте конкретный вопрос, с конкретным примером и языком\технологией. Вариантов разбора по сути не много: регулярки, лексер+парсер, простая замена (aa - меняем на bb), мб еще что-то экзотическое. Какой конкретно выбрать, и как его реализовать зависит от используемой технологии\языка.
У JetBrains-а есть забавная штука: MPS. Похоже на то, что вам нужно. Как минимум избавит от стадии построения AST, если нужен прототип обертки. Я какое-то время работал в Ютреке на ней.