как написать свой шаблонизатор?

Василий М.

Новичок
Шутка. Вопрос не про шаблонизатор.
Я хочу написать свой язык программирования на PHP.
Скажите, как пишутся языки программирования?
Что лежит в основе парсера? Какие алгоритмы?
 

hell0w0rd

Продвинутый новичок
Точно хочешь Krugozor_Lang свой язык писать, или хочешь просто в разработке языка поучаствовать? Есть Zephir, там помощь нужна:)
 

fixxxer

К.О.
Партнер клуба
Вряд ли ты собираешься на php делать компилятор в x86_64. А если речь идет о трансляторе из некоего языка в php-код, то как раз про шаблонизатор получается и не шутка - имеет смысл посмотреть, как сделан Twig. (В смарти смотреть не надо, там говнокод.)
 

Adelf

Administrator
Команда форума
Делал на PHP транслятор из одного языка в другой. Зачем на PHP делал - не знаю.
Но вообще - ничего сложного нет. Парсим на лексемы.. и без проблем. Почитать любую книжку про это и все.
 

Вурдалак

Продвинутый новичок
Идёт экзамен, препод:
— Расскажите поэтапно как сделать трансляцию из одного языка в другой.
— Поэтапно рассказать про трансляцию... Ничего сложного в трансляции из одного языка в другой нет. Парсим на лексемы... и без проблем! В общем, таким образом, мы получаем трансляцию из одного языка в другой.
 

antson

Новичок
Партнер клуба
Василий М., зависит сильно от синтаксиса языка.
например для брейнфака http://habrahabr.ru/sandbox/24420/ это просто цикл с одним вложенным свитчем.
еще одно извращение форт . там манипуляции над стеком, поэтому написать интерпетатор на порядок легче компилятора.

вот есть у тебя файл hello.vasya_ext как ты его будешь использовать ?
н-р: php vyasya.php hello.vasya_ext и дальше генерируется hello.php или же он выполняет, что прописано ?
есть еще вариант, что получаешь промежуточный код.

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

по п.1 самый гимор имхо с оператором goto.
 
Сверху