]]> ]]>

Poplog (POP-11)

Реализация языка программирования POP-11

Poplog — свободный кроссплатформенный компилятор, созданный в университете Сассекса, предназначенный для работы с несколькими языками программирования, имеющими отношение к исследованиям искусственного интеллекта.

Сам Poplog написан на языке POP-11, и он же является главным языком этого компилятора.

Примеры:

Hello, World!:

Пример для версий Poplog 15.5 (POP-11)

=> — оператор вывода.

'Hello, World!' =>

Факториал:

Пример для версий Poplog 15.5 (POP-11)

Используется рекурсивное определение факториала. factorial(n) вычисляет значение n!, в то время как loop(n) используется в качестве цикла для перебора факториалов чисел от 0 до n, включительно. >< — оператор конкатенации. Следует отметить, что loop не возвращает значения.

Текст примера может быть набран в интерактивном режиме. Иначе можно сохранить определения функций в файл fact.p, находящийся в рабочем каталоге Poplog, и в интерактивном режиме ввести load fact.p для загрузки содержимого файла.

define factorial(n);
    if n == 0 
        then 1
        else n * factorial(n - 1)
    endif
enddefine;

define loop(n);
    if n>0 
        then loop(n-1)
    endif;
    n >< '! = ' >< factorial(n) =>
enddefine;

loop(16) =>

Числа Фибоначчи:

Пример для версий Poplog 15.5 (POP-11)

Используется рекурсивное определение чисел Фибоначчи. Пример работает так же, как факториал, но loop возвращает строку, содержащую конкатенацию всех чисел Фибоначчи до n-ого включительно.

define fibonacci(n);
    if n < 3 
        then 1
        else fibonacci(n - 1) + fibonacci(n - 2)
    endif
enddefine;

define loop(n);
    if n>1 
        then loop(n-1) >< ', ' >< fibonacci(n)
        else fibonacci(n)
    endif;
enddefine;

loop(16) >< ', ...' =>

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам