Интернет магазин китайских планшетных компьютеров



Компьютеры - Конкатенативный язык программирования - Определения и лексический анализ

22 января 2011


Оглавление:
1. Конкатенативный язык программирования
2. История и определение
3. Постфиксная нотация
4. Определения и лексический анализ
5. Стековый эффект



Конкатенативные языки могут значительно различаться в плане синтаксиса, используемого для определения новых слов. Следующие фрагменты кода на языках Cat, Forth или Factor, и Joy делают одно и то же: определяют новое слово с именем add100, которое добавляет 100 к значению на вершине стека.

define add100  { 100 + }
: add100  100 + ;
DEFINE add100 ==  100 + .

Во всех фрагментах тело определения одинаково — это слова 100 +. Разница заключается в словах парсера, используемых, чтобы указать транслятору языка, что имеет место определение нового слова. Слова парсера — это своего рода аналог ключевых слов C или специальных операторов в Лиспе: вместо того, чтобы выполнять операции на стеке, они управляют тем, как парсер будет обрабатывать последующие слова.

Это и позволяет определение новых слов. Слова парсера дают конкатенативным языкам аналог Лисповских макросов: программист может определять новый синтаксис.



Просмотров: 4119


<<< Компонентный Паскаль