식(컴퓨터 과학)

Expression (computer science)

컴퓨터 과학에서 표현식[1]가치를 결정하기 위해 평가될 수 있는 프로그래밍 언어의 구문적 실체입니다.이것은 프로그래밍 언어가 해석하고(특정 우선순위 규칙과 연관성에 따라) 다른 값을 생성하기 위해 계산하는(스테이트풀 환경에서 "되돌리기") 하나 이상의 상수, 변수, 함수 및 연산자의 조합입니다.수학 표현식의 경우 이 과정을 평가라고 합니다.

단순 설정에서 결과 값은 일반적으로 숫자, 문자열, 부울, 복합 데이터 유형 또는 기타 유형과 같은 다양한 원시 유형 중 하나입니다.

표현식은 종종 값(명령)이 없는 구문적 엔티티인 문과 대조됩니다.

예를들면,2 + 3는 산술식과 프로그래밍식입니다.이 식에서는5변수는 메모리 내의 값을 나타내기 때문에 표현식입니다.y + 6표현이기도 합니다.관계식의 예는 다음과 같습니다.4 ≠ 4이 값은 다음과 같습니다.false를 클릭합니다.[2][3]

결과 유형으로 무효화

C 및 대부분의 C 유래 언어에서 void 리턴 타입을 가진 함수에 대한 호출은 [4]void 타입의 유효한 표현입니다.void 형식의 값은 사용할 수 없으므로 이러한 식의 값은 항상 버려집니다.

부작용 및 제거

많은 프로그래밍 언어에서 함수, 즉 함수를 포함하는 표현은 부작용을 일으킬 수 있습니다.부작용이 있는 표현은 일반적으로 참조 투명성의 특성을 가지고 있지 않다.많은 언어(예: C++)에서 식은 세미콜론으로 끝날 수 있습니다.;) 표현식을 표현문으로 변환합니다.이를 통해 구현자는 표현식의 부작용만을 평가하고 표현식의 결과(예: 표현식)를 무시).x+1;(예를 들어 부작용을 유발하는 표현문의 일부가 아닌 한).y=x+1;또는func1(func2());).

주의사항

부작용의 공식 개념은 실행 중인 프로그램의 추상적인 상태에 대한 변화입니다.

또 다른 부작용의 클래스는 캐시 메모리에 데이터를 로드하는 것과 같은 계산 시스템의 구체적인 상태에 대한 변화입니다.흔히 "부작용이 없는" 것으로 묘사되는 언어는 일반적으로 여전히 구체적인 부작용을 가지고 있으며, 이는 예를 들어, 측면 채널 공격에서 악용될 수 있다.

또한, 표현(다른 명백한 부작용이 없는 표현이라도)을 평가하는 데 걸리는 시간은 때때로 시스템의 정확한 작동에 필수적입니다. 왜냐하면 시간의 행동은 시스템이 상호작용하는 시스템의 다른 부분에 의해 평가 환경 외부에서 쉽게 볼 수 있고, 심지어 다음과 같은 주요 효과로 간주될 수 있기 때문입니다.벤치마크 테스트를 수행할 때와 같습니다.

추상적인 부작용이 없는 표현이 해당 표현이 평가되는 처리 환경에 의해 실행 경로에서 합법적으로 제거될 수 있는지 여부는 특정 프로그래밍 언어 사양에 따라 달라집니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 미첼, J. (2002)프로그래밍 언어의 개념.케임브리지:케임브리지 대학 출판부, 3.4.1 성명표현, 페이지 26
  2. ^ Javascript 표현, Mozilla 액세스 2009년 7월 6일
  3. ^ 2009년 7월 6일 액세스한 웨이백 머신에서 2015-01-09년 아카이브된 C의 프로그래밍
  4. ^ ISO/IEC 9899:1999 섹션 6.3.2.2, 2009년 8월 31일 액세스

외부 링크

  • 이 문서는 2008년 11월 1일 이전에 무료 온라인 컴퓨팅 사전Expression에서 발췌한 자료로 GFDL 버전 1.3 이후 '재라이센스' 조건에 포함되어 있습니다.