LISP-기본 구문

LISP의 기본 빌딩 블록

LISP 프로그램은 세 가지 기본 구성 요소로 구성됩니다.

  • atom

  • list

  • string

atom연속 문자의 숫자 또는 문자열입니다. 여기에는 숫자와 특수 문자가 포함됩니다.

다음은 몇 가지 유효한 원자의 예입니다.

hello-from-tutorials-point
name
123008907
*hello*
Block#221
abc123

list 괄호로 묶인 원자 및 / 또는 기타 목록의 시퀀스입니다.

다음은 몇 가지 유효한 목록의 예입니다.

( i am a list)
(a ( a b c) d e fgh)
(father tom ( susan bill joe))
(sun mon tue wed thur fri sat)
( )

string 큰 따옴표로 묶인 문자 그룹입니다.

다음은 몇 가지 유효한 문자열의 예입니다.

" I am a string"
"a ba c d efg #$%^&!"
"Please enter the following details :"
"Hello from 'Tutorials Point'! "

댓글 추가

세미콜론 기호 (;)는 주석 행을 표시하는 데 사용됩니다.

예를 들어

(write-line "Hello World") ; greet the world

; tell them your whereabouts

(write-line "I am at 'Tutorials Point'! Learning LISP")

실행 버튼을 클릭하거나 Ctrl + E를 입력하면 LISP가 즉시 실행하고 반환 된 결과는 다음과 같습니다.

Hello World

I am at 'Tutorials Point'! Learning LISP

다음으로 이동하기 전에 몇 가지 주목할 점

다음은 주목해야 할 몇 가지 중요한 사항입니다.

  • LISP의 기본 숫자 연산은 +,-, * 및 /입니다.

  • LISP는 함수 호출 f (x)를 (fx)로 나타냅니다. 예를 들어 cos (45)는 cos 45로 작성됩니다.

  • LISP 표현식은 대소 문자를 구분하지 않으며 cos 45 또는 COS 45는 동일합니다.

  • LISP는 함수의 인수를 포함하여 모든 것을 평가하려고합니다. 세 가지 유형의 요소 만 상수이며 항상 자체 값을 반환합니다.

    • Numbers

    • 그 편지 t, 그것은 논리적 진실을 의미합니다.

    • 가치 nil, 그것은 논리적 거짓과 빈 목록을 의미합니다.

LISP 양식에 대한 추가 정보

이전 장에서 LISP 코드의 평가 과정은 다음 단계를 거친다고 언급했습니다.

  • 판독기는 문자열을 LISP 객체 또는 s-expressions.

  • 평가자는 Lisp의 구문을 정의합니다. formss- 표현식으로 만들어졌습니다. 이 두 번째 평가 수준은 어떤 s- 표현식이 LISP 형식인지 결정하는 구문을 정의합니다.

이제 LISP 양식이 될 수 있습니다.

  • 원자

  • 비어 있거나 목록이 아닌

  • 첫 번째 요소로 기호가있는 모든 목록

평가자는 유효한 LISP 형식을 인수로 사용하고 값을 반환하는 함수로 작동합니다. 이것이 우리가LISP expression in parenthesis, 전체 표현식 / 양식을 평가자에게 인수로 보내고 있기 때문입니다.

LISP의 명명 규칙

이름 또는 기호는 공백, 여는 괄호 및 닫는 괄호, 큰 따옴표 및 작은 따옴표, 백 슬래시, 쉼표, 콜론, 세미콜론 및 세로 막대를 제외한 모든 수의 영숫자로 구성 될 수 있습니다. 이러한 문자를 이름에 사용하려면 이스케이프 문자 (\)를 사용해야합니다.

이름은 숫자를 가질 수 있지만 완전히 숫자로 구성되지는 않습니다. 왜냐하면 숫자로 읽히기 때문입니다. 마찬가지로 이름에는 마침표가있을 수 있지만 완전히 마침표로 만들 수는 없습니다.

작은 따옴표 사용

LISP는 함수 인수와 목록 멤버를 포함한 모든 것을 평가합니다.

때때로 우리는 원 자나 목록을 문자 그대로 가져 와서 평가하거나 함수 호출로 취급하지 않도록해야합니다.

이렇게하려면 원자 또는 목록 앞에 작은 따옴표를 붙여야합니다.

다음 예제는이를 보여줍니다.

main.lisp라는 파일을 만들고 여기에 다음 코드를 입력합니다.

(write-line "single quote used, it inhibits evaluation")
(write '(* 2 3))
(write-line " ")
(write-line "single quote not used, so expression evaluated")
(write (* 2 3))

실행 버튼을 클릭하거나 Ctrl + E를 입력하면 LISP가 즉시 실행하고 반환 된 결과는 다음과 같습니다.

single quote used, it inhibits evaluation
(* 2 3) 
single quote not used, so expression evaluated
6