expression

표현식

나루 위키
둘러보기로 가기 검색하러 가기

표현식은 나루 문법의 큰 부분으로, 선형적인 문장이나 아무 제약이 없는 지시선언과는 달리, 다른 표현식을 재귀적으로 포함하는 트리 구조를 이룬다는 차이가 있다.

-- 아래 코드에는 세 개의 표현식이 있다.
-- 첫번째 표현식은 `fn`부터 `}`까지에 해당한다([[선언]]).
main := fn {
    x := 42
--       ^^ 두번째 표현식
    x println()
--  ^^^^^^^^^^^ 세번째 표현식
}

표현식은 우선순위가 높은 것부터 낮은 순으로 다음 셋으로 나눌 수 있다.

  1. 원자적 표현식
  2. 연산자 표현식
  3. 선언

의미론

표현식은 어디서 나타났는지에 따라서 연관되어 있지만 서로 다른 의미론을 가진다.

표현식 
보통의 표현식. 값을 반환한다.
인자 표현식 
호출 표현식인덱스 표현식구획 안쪽. 인자 목록과 기타 정보를 반환한다.
패턴 표현식 
바인딩의 좌항 등 새 슬롯을 만들 수 있는 위치. 슬롯의 목록을 반환하거나 실패할 수 있다.
좌항 표현식 
대입 문장의 좌항 등 기존 슬롯에 대입할 수 있는 위치. 슬롯의 목록을 반환한다.