2009-11-04 3 views
3

순전히 궁금합니다. 왜냐하면 그들은 여전히 ​​C#에서 여전히 사용되고 있기 때문입니다 ...문자열 이스케이프 코드 ( n, t ...)는 어디에서 발생 했습니까?

문자열 이스케이프 코드 사용 패턴은 어디에서 유래 되었습니까? 어떤 언어가 처음 등장 했습니까? 어떤 언어가 문제가 다른 방식으로 해결 되었습니까?

+7

감사합니다. Google : http://www.bobbemer.com/ESCAPE.HTM –

+1

ASCII ESC 문자 및 시퀀스를 기반으로합니다. 리터럴 문자열에서 소개 자 문자 ('\')를 사용하여 인쇄 할 수없는 다른 ASCII 문자를 삽입 할 수 있다는 생각은 아닙니다. –

+0

그 이유는 설명이 아니며 응답이 아닙니다. –

답변

3

이러한 이스케이프 코드는 Honeywell 6000 GCOS 운영 체제 용 고급 어셈블리 프로그래밍 언어 인 B에서 비롯된 것 같습니다. 이 언어는 BCPL이라는 영국 언어를 기반으로 Bell Labs에서 개발되었습니다. BCPL은 다소 어리 석으므로 B 개발자는 구문을 단순화하고 BEGIN 및 END를 바꾸기 위해 중괄호와 같은 항목을 추가했습니다. 이름이 BCPL의 축약 된 형식 이었기 때문에 그것이 나온 이름입니다.

나중에 벨 랩스의 일부 사람들은 타이핑과 표준 I/O 라이브러리를 추가하여 B의 후속 언어를 만들었습니다. 그것이 B의 후임 이었기 때문에 그들은 BCPL이라는 이름으로 다음 편지를 선택했습니다.

B에서 백 슬래시 표기법을 본적이 없으며 C와 UNIX가 B에서 상속 한 것이므로 B가이 표기법의 기원이거나 더 구체적으로 Bell Labs가 원점이었습니다. 이 표기법이 B 이전의 다른 벨 연구소 소프트웨어에서 사용되었다는 것은 전적으로 가능합니다. 소프트웨어 제작자가 많았 기 때문에 그 중 많은 부분이 1970 년대 중반에 내가 참석 한 대학과 같은 대학에 자유롭게 배포되었습니다.

그런데, 변형 길이 모스 부호를 대체하기위한 고정 길이 5 비트 바이너리 코드 인 19 세기 보드 코드로 거슬러 올라가기 훨씬 전부터 이스케이프 문자열이라는 아이디어가있었습니다. Baudot는 타이프라이터의 Shift 키와 같이 문자를 이스케이프 처리 한 SI (Shift In) 및 SO (Shift Out) 코드를 자본 변동에 사용했습니다.

+0

백 슬래시 표기는 C 개발이고 B는 별표 ('* n')를 사용했습니다. http://cm.bell-labs.com/cm/cs/who/dmr/btut.html – jbcreix

+0

오류, BCPL에 '시작'또는 '종료'가 없습니다. 메모리에서'$ ('와'$ ')이었다. 나는 또한 그 말을 특히 기억하지 못한다. (당신이 말한 CPL에 대해 말하지 않는다면 말이다.) – paxdiablo

관련 문제