Computer Science/프로그래밍 언어론

해석 기법이란? 고급 언어로 작성된 프로그램을 바로 실행하는 장점이 있다 인터프리터는 프로그램을 한 줄씩 실행하며, 소스 코드를 즉시 실행 코드로 변환하고 실행하는 방식을 사용합니다. 인터프리터는 컴파일 과정을 거치지 않기 때문에, 코드 생성과 최적화 단계를 합친 것처럼 보일 수 있습니다. 하지만 인터프리터는 소스 코드를 한 번에 분석하고 최적화하지 않고, 실행 시간에 소스 코드를 직접 해석하여 실행합니다. 즉 번역 된 결과를 중간 코드나 기계어로 저장하지 않고 바로 실행하는 것입니다 인터프리터의 장점은 다음과 같습니다: 개발 과정이 빠르고 쉽습니다 컴파일 과정이 없기 때문에 수정 후 바로 실행해 볼 수 있어 개발이 더 빠르게 진행됩니다. 플랫폼 독립적입니다 인터프리터는 소스 코드를 실행 시간에 해석하므..
컴파일 기법이란 고급 언어로 작성된 프로그램을 바로 실행 할 수 있는 프로그램으로 변환하는 방식이다 소스 코드로 작성해 놓은 것을 컴퓨터가 알아들을 수 있는 언어로 바꾸는 과정 컴퓨터는 바이너리 즉 기계어만 이해한다 소스 코드를 목적 프로그램으로 변경 시켜야 한다 번역이 완료되면 빠르게 실행 시킬 수 있는 장점이 있다 컴파일 단계 어휘 분석(lexical analysis) 원시 프로그램을 토큰 단위로 자르고, 토큰과 관련된 정보를 구문 분석 단계로 전달 한다. 구문 분석(syntax analysis) 어휘 분석 단계에서 전달 받은 토큰들이 문법적으로 옳은지 검사 오류가 없다면 파스 트리라 불리는 구조를 생성한다 중간 코드 생성 단계 중간 코드 소스 코드를 기계어로 번역하기 전, 번역기가 이해가 쉬운 추상..
참조 투명(referential transparency) 함수형 프로그래밍에서의 참조 투명(referential transparency)이란, 동일한 입력 값에 대해 항상 동일한 결과를 반환하는 함수를 의미합니다. 즉, 어떤 함수의 결과가 그 함수의 인자에만 의존하고, 그 외의 외부적인 상태나 환경에 의존하지 않는 함수를 참조 투명 함수라고 합니다. 예를 들어, 다음과 같은 함수를 생각해봅시다 def add(x, y): return x + y 이 함수는 참조 투명합니다. 왜냐하면, 인자 x와 y에 따라 결과가 달라지지만, 같은 인자에 대해서는 항상 동일한 결과를 반환하기 때문입니다. 이것은 이 함수가 다른 상태나 환경에 영향을 받지 않고, 순수하게 입력 값에만 의존하기 때문입니다. 반면에, 다음과 같은 ..
꼬리 재귀(tail recursion) Intro. 꼬리 재귀가 있기에 함수형 언어에서 매개변수에 상태를 저장하며, 재귀를 할 때 최적화 된다! 꼬리 재귀 설명을 처음 들었을 때는 그냥 프로그래밍 기법이지 않을까 했는데 함수형 언어에서는 최적화를 지원 한다고 한다 설명 재귀 함수의 한 종류로, 함수가 반환하는 값이 마지막에 재귀 호출하는 함수에서 계산되는 경우를 말합니다. 일반적인 재귀 함수에서는 함수 호출이 스택에 계속 쌓이게 되는데, 이러한 스택의 쌓임이 많아질 경우 메모리를 많이 사용하고 성능에 영향을 미칠 수 있습니다. 하지만 꼬리 재귀는 함수 호출 후 더 이상 수행할 작업이 없는 경우, 이전 호출 스택 프레임을 재사용하고 추가적인 스택 프레임을 쌓지 않는 방식으로 최적화합니다. 이를 통해 메모리..
berom
'Computer Science/프로그래밍 언어론' 카테고리의 글 목록 (6 Page)