ACCEPT — 문자열 수신

ACCEPT — 문자열 수신

ACCEPT는 최대 +n1 문자 길이의 문자열을 받아 c-addr에 저장하고, 저장된 문자열의 길이 +n2를 반환하는 코어 단어예요.

출처: ACCEPT — Forth 2012 Standard

본문

스택 효과

( c-addr +n1 -- +n2 )

설명

최대 +n1 문자의 문자열을 수신해요. +n1이 0이거나 32,767보다 크면 애매한 조건(ambiguous condition)이 존재해요. 수신되는 대로 그래픽 문자(graphic character)를 표시해요. 문자열에 비그래픽 문자의 존재 여부에 의존하는 프로그램은 환경 의존성(environmental dependency)을 가져요. 문자열을 구성하기 위해 시스템이 수행하는 편집 기능(있는 경우)은 구현 정의예요. 구현 정의된 줄 종료자(line terminator)가 수신되면 입력이 종료돼요. 입력이 종료될 때 문자열에는 아무것도 추가되지 않고, 표시는 구현 정의된 방식으로 유지돼요. +n2c-addr에 저장된 문자열의 길이예요.

참조 (See)

  • A.6.1.0695 ACCEPT

합리성 (Rationale)

ACCEPT에 대해 0이 아닌 양의 정수 개수(+n1)를 명시한 것은 일부 구현자들이 특별한 동작을 유발하는 플래그로 0 또는 음수 값을 계속 사용하도록 허용하기 위한 것이에요. 그러한 동작은 표준 밖이므로 표준 프로그램은 그것에 의존할 수 없지만, 위원회는 그것을 불필요하게 배제하고 싶지 않았어요. 실제 값은 대개 작은 정수이므로 이 제약으로 인해 기능이 손상되지는 않아요. 모든 비그래픽 문자는 편집이나 제어 기능을 위해 예약되고 입력 문자열에 저장되지 않는 것이 권장돼요. 외부 시스템 하드웨어와 소프트웨어가 ACCEPT 기능을 수행할 수 있으므로, 줄 종료자가 수신되면 커서(따라서 표시)의 동작은 구현 정의예요. 줄 종료자가 수신된 후 커서가 입력된 텍스트 바로 뒤에 유지되는 것이 권장돼요.

테스트 (Testing)

T{ ACCEPT-TEST ->  }T

더 알아보기 (Learn more)

출처: ACCEPT — Forth 2012 Standard