Структура программы на LISP
Опубликовано: 10 Января, 2023
Выражения, которые мы используем в Лиспе, известны как s-выражения, состоящие из атомов, строк и списков. S-выражение само по себе является корректной программой.
РЕПЛ:
REPL — это аббревиатура от Read Evaluate Print Loop . В случае интерпретатора программа читается, проверяется на наличие ошибок в циклах, и значение возвращается программой.
Lisp program can run either on an interpreter or as a compiled code.
Простая программа на Лиспе:
Lisp
; LISP code for ; Multiplication of 4 number in Lisp (write ( * 2 5 8 10 )) |
Выход:
Префиксная нотация в Лиспе:
- Обратите внимание, что в префиксной записи операторы пишутся перед операндами.
- Для любой выполняемой операции используется префиксная нотация, как в приведенном выше примере.
- Символ «*» выше действует как функция, которая умножает числа, представленные в качестве операндов.
((a+(b-c))/d) in prefix notation is written as:
(/(+ a (- b c) ) d)
Пример:
Lisp
; LISP code for Expression ; (( 9 + ( 6 - 3 )) / 3 ) (write ( / ( + 9 ( - 6 3 )) 3 )) |
Выход:
Оценка программы Лисп:
Оценка программы на Лиспе включает два шага:
- Программа Reader переводит текст программы в объекты Lisp.
- Программа Evaluator реализует семантику языка с точки зрения объектов.
Рассмотрим этапы оценки:
- Читатель переводит текст программы в s-выражение.
- Оценщик определяет синтаксис форм Лиспа, построенных из s-выражений, а также определяет, какие s-выражения являются формами Лиспа.
- Вычислитель работает как функция, которая принимает допустимую форму Лиспа в качестве аргумента и оценивает ее как значение, поэтому мы помещаем выражение Лиспа в круглые скобки, потому что мы отправляем все текстовое выражение в качестве аргумента.
Теперь, чтобы начать писать код на Лиспе, просто создайте новый файл с именем «name.lisp» и напишите в нем упомянутый код:
Пример:
Lisp
; LISP code for ; Hello World Program (write - line "Hello World" ) |
Выход: