Структура программы на 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))

Выход:

Оценка программы Лисп:

Оценка программы на Лиспе включает два шага:

  1. Программа Reader переводит текст программы в объекты Lisp.
  2. Программа Evaluator реализует семантику языка с точки зрения объектов.

Рассмотрим этапы оценки:

  1. Читатель переводит текст программы в s-выражение.
  2. Оценщик определяет синтаксис форм Лиспа, построенных из s-выражений, а также определяет, какие s-выражения являются формами Лиспа.
  3. Вычислитель работает как функция, которая принимает допустимую форму Лиспа в качестве аргумента и оценивает ее как значение, поэтому мы помещаем выражение Лиспа в круглые скобки, потому что мы отправляем все текстовое выражение в качестве аргумента.

Теперь, чтобы начать писать код на Лиспе, просто создайте новый файл с именем «name.lisp» и напишите в нем упомянутый код:

Пример:

Lisp




; LISP code for
; Hello World Program
  
(write-line "Hello World")

Выход: