> 1 <

Автор Сообщение

packa

Members


Статус

2 сообщений

Где: Russia
Род занятий:
Возраст:

#7013   2013-05-05 00:13 GMT+3 часа(ов)      
Подскажите пожалуйста как начать работу с ним.
Как hello world написать и скомпилировать.

Единственное что у меня вышло - в черной консоли играться как с интерпретатором ( вводишь по одной команде и радуешься )
это в папке bin - bigloo3.6a
Как писать полноценные программы, а не дефайнить всякую однострочную фигню?

Aoloa

Members


Статус

37 сообщений

Где: Ukraine
Род занятий:
Возраст:

#7022   2013-05-14 16:34 GMT+3 часа(ов)      
Если честно, я только сейчас пробую разобраться с Bigloo, опыта работы с ним нет.

Я понимаю, так: надо оформить программу как модуль. Для этого в начало файла надо добавить (module название-программы (main название-начальной-функции)).

название-начальной-функции надо заменить на название своей функции, которая будет вызвана при запуске программы. Эта функция должна принимать 1 аргумент — список параметров командной строки (первым элементом в нём всегда будет название программы).

Вот пример компилируемой программы:
(module hello-world
(library srfi1)
(main my-start-proc))
 
(define (hello #!optional (name "world"))
(for-each display (list "Hello, " name "!"))
(newline))
 
(define (my-start-proc argv)
(if (null? (cdr argv))
(hello)
(hello (cadr argv))))


После этого файл компилируется командой bigloo ваш-файл.scm, и сохраняется под названием a.out (как его поменять на что-то другое — пока что не понимаю). Если программа не запустится из-за отсутствия библиотек, значит, надо добавить путь к библиотекам в LD_LIBRARY_PATH (об этом написано в файле INSTALL).

В документации см. раздел Program Structure: http://www-sop.inria.fr/indes/fp/Bigloo/doc/bigloo-4.html#Program-Structure

отредактировал(а) Aoloa: 2013-05-14 17:24 GMT+3 часа(ов)
With iTeX* your entire life can be encapsulated into a dynamic hyperdocument, downloadable by anybody you designate (Donald E. Knuth, An Earthshaking Announcement)
> 1 <


Онлайн :

0 пользователь(ей), 8 гость(ей) :




Реклама на сайте: