VeLisp - интерпретатор AutoLISP с поддержкой DCL. Основная идея проекта - AutoLISP как язык программирования общего назначения. Цель - иметь возможность запускать AutoLISP программы за пределами AutoCAD. Зачем? Чтобы изучать основы AutoLISP и DCL программирования, писать скрипты, запускать DCL диалоги как обычные приложения в Windows, MacOS и Linux.
- Windows
- MacOS
- Linux
- Реализованные функции
- Известные проблемы и ограничения
- Версия
- Предлагаемые изменения
- Лицензия
- Дополнительно
Последнюю версию можно найти здесь.
- Скачайте https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-win-x64-setup.zip
- Откройте папку Загрузки
- Распакуйте velisp-0.7.10-win-x64-setup.zip
- Запустите velisp-0.7.10-win-x64-setup.exe
- Следуйте указаниям установщика. Настройки по умолчанию подходят большинству пользователей
- Скачайте https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-win-x64.zip
- Откройте папку Загрузки
- Выделите velisp-0.7.10-win-x64.zip
- Нажмите правую кнопку мышки
- Выберите 'Распаковать все содержимое...'
- Введите 'C:'
- Выберите 'Распаковать'
- Нажмите 'Windows + Break' чтобы открыть Информацию о системе
- Выберите 'Advanced system settings'
- Выберите 'Environment Variables...'
- Выберите 'Path' inside the User variables block
- Выберите 'Edit...'
- Выберите 'New...'
- Введите 'C:\velisp-0.7.10-win-x64'
- Выберите 'OK'
- Выберите 'OK'
Если вы установили VeLisp с помощью автоматической установки запускайте 'Start' -> 'VeLisp' -> 'VeLisp Command Prompt'.
Если вы установили Velisp из архива запускайте командную оболочку (cmd.exe) и перейдите в папку распаковки:
> cd C:\velisp-0.7.10-win-x64
> velisp
VeLisp 0.7.10 on Windows
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Вычисляем 10-е (по умолчанию) число Фибоначчи
> velisp examples\fib.lsp
55
Вычисляем 11-е число Фибоначчи
> velisp examples\fib.lsp 11
89
Запускаем пример Калькулятор
> velisp examples\calc.lsp
Запускаем пример Сапер
> velisp examples\mines.lsp
Запускаем пример Пятнашки
> velisp examples\fifteen.lsp
Запускаем пример Демо
> velisp examples\demo.lsp
Запускаем пример Слайды
> velisp examples\slides.lsp
> type examples\fib.lsp | velisp
55
> type examples\fib.lsp | velisp -- 11
89
> echo (alert "Hello from VeLisp!") | velisp
> echo (alert (strcat "Hello from " (argv 2) "!")) | velisp -- Arg
> velisp --no-dcl examples\fib.lsp
55
- Выберите 'Tools' -> 'Options...'
- Выберите 'Files' -> 'Support File Search Path'
- Выберите 'Add...'
- Выберите 'Browse...'
- Выберите C:\Program Files\VeLisp\examples или C:\velisp-0.7.10-win-x64\examples
- Выберите 'OK'
- Выберите 'Apply'
- Выберите 'OK'
- Выберите 'Tools' -> 'AutoLISP' -> 'Visual LISP Editor'
- Запускаем в Visual LISP Console
_$ (load "calc")
_$ (load "mines")
_$ (load "fifteen")
_$ (load "demo")
_$ (load "slides")
Пример создания самораспаковывающегося exe-архива https://ten0s.github.io/blog/2024/10/05/velisp-self-extracting-archive-ru
Последнюю версию можно найти здесь.
Внимание: Не используйте Safari чтобы скачать архив, не используйте Finder чтобы распаковать архив и, самое главное, не используйте Finder чтобы запустить VeLisp в первый раз. Так как VeLisp не подписан, вы не сможете запустить его из-за Apple's Gatekeeper. Вместо этого, запустите Terminal (Finder -> Go -> Utilities -> Terminal) и выполните:
% cd $HOME
% curl -LJO https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-macos-x64.tar.xz
% tar xfJ velisp-0.7.10-macos-x64.tar.xz
export PATH=<PATH_TO>/velisp-0.7.10-macos-x64:$PATH
% cd velisp-0.7.10-macos-x64
% ./velisp
VeLisp 0.7.10 on MacOS
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Вычисляем 10-е (по умолчанию) число Фибоначчи
% ./velisp examples/fib.lsp
55
Вычисляем 11-е число Фибоначчи
% ./velisp examples/fib.lsp 11
89
Запускаем пример Калькулятор
% ./velisp examples/calc.lsp
Запускаем пример Сапер
% ./velisp examples/mines.lsp
Запускаем пример Пятнашки
% ./velisp examples/fifteen.lsp
Запускаем пример Демо
% ./velisp examples/demo.lsp
Запускаем пример Слайды
> ./velisp examples/slides.lsp
% cat examples/fib.lsp | ./velisp
55
% cat examples/fib.lsp | ./velisp -- 11
89
% echo '(alert "Hello from VeLisp!")' | ./velisp
% echo '(alert (strcat "Hello from " (argv 2) "!"))' | ./velisp -- Arg
% ./velisp --no-dcl examples/fib.lsp
55
Последнюю версию можно найти здесь.
$ curl -LJO https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-linux-x64.tar.xz
$ tar xfJ velisp-0.7.10-linux-x64.tar.xz
export PATH=<PATH_TO>/velisp-0.7.10-linux-x64:$PATH
$ cd velisp-0.7.10-linux-x64
$ ./velisp
VeLisp 0.7.10 on Linux
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Вычисляем 10-е (по умолчанию) число Фибоначчи
$ ./velisp examples/fib.lsp
55
Вычисляем 11-е число Фибоначчи
$ ./velisp examples/fib.lsp 11
89
Запускаем пример Калькулятор
$ ./velisp examples/calc.lsp
Запускаем пример Сапер
$ ./velisp examples/mines.lsp
Запускаем пример Пятнашки
$ ./velisp examples/fifteen.lsp
Запускаем пример Демо
$ ./velisp examples/demo.lsp
Запускаем пример Слайды
> ./velisp examples/slides.lsp
$ cat examples/fib.lsp | ./velisp
55
$ cat examples/fib.lsp | ./velisp -- 11
89
$ echo '(alert "Hello from VeLisp!")' | ./velisp
$ echo '(alert (strcat "Hello from " (argv 2) "!"))' | ./velisp -- Arg
$ ./velisp --no-dcl examples/fib.lsp
55
- Целые числа со знаком в диапазоне от -9,007,199,254,740,991 (-253+1) до +9,007,199,254,740,991 (+253-1)
Версия отражает субъективный процент готовности. Например, версия 0.7.3 означает, что VeLisp готов на 73% (0.73).
Все предлагаемые изменения будут иметь лицензии представленные ниже, без каких-либо дополнительных условий.
Проект выпущен под лицензией GNU General Public License v3.0 или более поздней версии с исключением, представленным ниже. Полную информацию о лицензии можно найти в LICENSE или https://spdx.org/licenses/GPL-3.0-or-later.html.
Файлы в папках examples/ и lib/ выпущены под лицензией BSD Zero Clause License. Полную информацию о лицензии можно найти в LICENSE, LICENSE или https://spdx.org/licenses/0BSD.html.