gforth 0.7.0
Версия реализации Gforth языка программирования ForthВерсия Gforth, выпущенная 22 декабря 2008 года.
Ссылки:
Примеры:
Hello, World! - Forth (225):
Команда ."
считывает строку, заключенную в двойные кавычки, и присоединяет ее к текущему определению, поэтому эта строка будет выведена при выполнении. Один пробел, отделяющий ."
от Hello
, не является частью строки, а требуется для того, чтобы распознать ."
как команду.
Команда cr
в конце программы выводит следующий за ней текст с новой строки, являясь эквивалентом nl
в Prolog и endl
в C++.
." Hello, World!" cr
Факториал - Forth (226):
Используется рекурсивное определение факториала. Forth — стек-ориентированный язык, поэтому все команды в нем основаны на работе со стеком. Так, DUP
копирует верхний элемент стека, константа — добавляет число на верх стека, >
— сравнивает второй сверху элемент с самым верхним, -
— вычитает из второго сверху самый верхний и т.д.
: fac recursive
dup 1 > IF
dup 1 - fac *
else
drop 1
endif ;
: lp
swap 1 + swap
do
i . i ." ! = " i fac . cr
loop ;
16 0 lp
Числа Фибоначчи - Forth (227):
Используется итеративное определение чисел Фибоначчи.
: fib-iter
0 1 rot 0 ?do over + swap loop drop ;
: lp
1 do
i dup fib-iter . ." , "
loop drop ;
17 lp
." ..."
Числа Фибоначчи - Forth (228):
Используется рекурсивное определение чисел Фибоначчи.
: fib-rec
dup 2 u< if exit then
1- dup recurse swap 1- recurse + ;
: lp
1 do
i dup fib-rec . ." , "
loop drop ;
17 lp
." ..."
Комментарии
]]>blog comments powered by Disqus
]]>