Aug. 7th, 2009

o01eg: Pino (Default)
Мой интерпретатор моего варианта лиспа:
http://bin.mypage.sk/FILES/gp-0.0.1.tar.bz2
В качестве примера там имеются две функции, считающие длину списка с обычной и хвостовой рекурсией.
Выглядит этот лисп довольно жестоко, ибо не предназначен для человеческих глаз, кроме того пока имееются довольно скудный список встроеных функций:
#0 - EVAL
#1 - CONS
#2 - CAR
#3 - CDR
#4 - NULL
#5 - +
Есть различия от clisp в поведении функций, (CAR NIL) и (CDR NIL) дают ERROR, а не NIL.
Для передачи имени функции в качестве параметра её надо блокировать от вычислений "( ' #4 )", иначе интерпретатор подумает, что она вычисляется, и испортит стеки.
При записи каждый элемент должен отделяться пробельным символом (ибо делать нормальный парсер было лень).
copy: http://lj.rossia.org/users/o01eg/1066.html

Profile

o01eg: Pino (Default)
o01eg

July 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 09:14 am
Powered by Dreamwidth Studios