스노볼 : 60 년대이 텍스트 처리 언어에 대해 배우십시오

폭로: 귀하의 지원은 사이트 운영에 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


SNOBOL (StriNg Oriented and SymBOlic Language)은 주로 텍스트 처리 및 문자열 분석을 위해 1960 년대 중반에 개발 된 프로그래밍 언어 제품군입니다..

버전 및 구현에 대한 간단한 참고 사항

원래 개발자가 SNOBOL을 마지막으로 안정적으로 출시 한 것은 1967 년 SNOBOL4였습니다. 책과 웹 사이트 모두“SNOBOL”과“SNOBOL4”(때로는“Snobol”)를 사용하는 것을 볼 수 있습니다. 1967 년 이후에는 모두 동일한 (최종) 버전의 언어를 나타냅니다..

또한 소수의 확장 및 구현이있었습니다. Snocone은 언어에 구문 설탕을 제공하여 사용하기 쉽게 만드는 언어 전 처리기입니다. SPITBOL은 SNOBOL 용 컴파일러입니다. 이것은 SNOBOL이 컴파일 할 수 없다고 생각 되었기 때문에 특히 흥미 롭습니다. 스노우 볼 프로그래밍 언어도 있습니다.이 언어는 SNOBOL에서 영감을 얻었으며.

이러한 확장 및 기타 확장으로 인해 일부 사람들은 추가 기능이 아닌 원래 SNOBOL4 사양 만 구현하는 코드를 언급 할 때 “Vanilla SNOBOL”이라는 문구를 사용합니다..

언어에 대하여

SNOBOL은 텍스트 및 문자열 조작을 위해 특별히 만들어졌습니다. 이 때문에 상대적으로 고유 한 기능이 있습니다. 패턴은 일류 데이터 유형으로 간주됩니다. 이를 통해 다른 데이터 구조와 마찬가지로 패턴 자체를 조작 할 수 있습니다. 또한 문자열을 코드로 취급하고 평가할 수 있습니다. 이것은 패턴의 재귀적인 사용과 매우 복잡한 문자열 처리 및 분석을 가능하게합니다. SNOBOL 프로그램은 자체 소스 코드를 변경할 수도 있습니다.

SNOBOL의 패턴은 짧은 텍스트 범위 나 정규식과 유사한 문자 유형 문자열과 같이 단순 할 수 있습니다. 그러나 언어 문법에 대한 공식적인 설명처럼 매우 복잡 할 수도 있습니다. 프로그래밍 언어 해석기는 SNOBOL로 작성 될 수 있으며 자연어 문법 분석, 맞춤법 검사 및 (이론적으로) 번역 엔진도 가능합니다.

SNOBOL은 1960 년대와 70 년대에 컴퓨터 과학 학계에서 매우 인기가 있었고 1980 년대까지 인류에서 광범위하게 사용되었습니다. Awk 및 Perl과 같은 언어를 사용하는 덜 강력한 정규식 프로그래밍을 선호하기 때문에 현재로서는 거의 사용되지 않았습니다. 아직까지 충실한 SNOBOL 개발자가 몇 명 있으며, 그 언어는 그 어느 때보다도 유용 할 수 있습니다..

온라인 튜토리얼

  • Mark Emmer가 1985 년에 작성한 Snobol4 Tutorial;
  • Emmer는 또한 Vanilla Snobol4 : Tutorial and Reference Manual (PDF) 및 Macro SPITBOL : 고성능 SNOBOL4 언어 (PDF)를 작성했습니다.
  • TWENEX.ORG에서 SNOBOL / SITBOL을 사용하는이 튜토리얼은 SDF Public Access TOPS-20 시스템에서 사용하기위한 SNOBOL의 SITBOL 구현을위한 것입니다. 여기에는 이상한 플랫폼 지침이 있지만 SNOBOL 자체에 대한 훌륭한 튜토리얼도 있습니다.
  • SNOBOL4 Powerpoint 프리젠 테이션-SNOBOL 프리젠 테이션 슬라이드를 제공합니다. 훌륭한 독립형 소개는 아니지만 주요 개념에 대한 개요를 살펴볼 가치가 있습니다.
  • 메인 프레임 Michigan 터미널 시스템에서 언어 사용에 대한 가이드 인 MTS에서 SNOBOL 사용 – 레거시 SNOBOL 시스템에서 작업해야하는 경우 Hercules 에뮬레이터와 함께 유용합니다..

도구

  • SNOBOL의 컴파일 된 구현 인 SPITBOL은 Github에서 사용 가능합니다.
  • SNOPY, SNOBOL 기반 텍스트 패턴을 사용할 수있는 Python 라이브러리.
  • F #으로 작성된 미니 SNOBOL 인터프리터;
  • C에서 SNOBOL4의 매크로 구현.

커뮤니티 및 지속적인 학습

  • SNOBOL 개발자 및 유사한 텍스트 처리 기술을 사용하는 사람들을위한 Yahoo Email Group;
  • SNOBOL4.com, 언어에 관한 몇 권의 책과 자습서를 쓴 Mark Emmer가 설립 한 회사의 언어에 대한 웹 사이트.
  • 스노볼리스트 서브.

SNOBOL에 관한 책

  • 언어에 관한 일반 책 :
    • Ralph Griswold의 Snobol4 Primer : 발명가 중 한 사람이 작성한 기본 언어 소개;
    • Ralph Griswold의 Snobol4 프로그래밍 언어 :“그린 북”이라고 불리는이 언어는 고전적인 책입니다.
    • Snobol 4의 문자열 및 목록 처리 : Ralph Griswold의 기술 및 응용 프로그램;
    • Ward Douglas Maurer의 프로그래머의 Snobol 소개.
  • SNOBOL 프로그래밍의 특별 주제 :
    • Susan Hockey의 인류를위한 SNOBOL 프로그래밍;
    • James Gimpel의 Snobol 4의 알고리즘;
    • Snobol 4의 매크로 구현 : Ralph Griswold의 기계 독립적 인 소프트웨어 개발 사례 연구.

SNOBOL을 배워야합니까?

SNOBOL은 대단히 인기있는 언어가 아니며 SNOBOL 개발자를 찾는 고용주가 많지 않습니다. 따라서 경력 발전 관점에서 볼 때 더 많은 주문형 언어에 집중하는 것이 좋습니다.

그러나 텍스트 중심 컴퓨팅 (검색, 번역, 자연어 처리, 문학적 분석)에 관심이 있다면 SNOBOL과 함께 시간을 보내고 싶을 것입니다. 특히 정기적으로 수행 할 수있는 것의 경계를 이미 넓힌 경우 표현.

다른 텍스트 도구

SNOBOL에 관심이 있으시면 텍스트 처리 및 분석을위한 다른 도구를 확인해보십시오..

  • 휴먼 언어 데이터 작업을위한 Python 플랫폼 인 Natural Language Toolkit;
  • 자연 언어 분석을위한 Java 기반 도구 모음 인 Stanford CoreNLP;
  • 텍스트 처리를 위해 특별히 설계된 스크립팅 언어 인 Awk;
  • 최고의 스크립팅 언어를 사용하는 것으로 널리 알려진 또 다른 스크립팅 언어 인 Perl;
  • ANTLER는 언어 인식을위한 또 다른 도구이며 자연 언어와 인공 (컴퓨터) 언어를 구문 분석하는 데 사용할 수 있습니다.
  • 자연 언어 처리를위한 기계 학습 툴킷 인 Apache OpenNLP;
  • Java 및 Python의 검색 소프트웨어 도구 제품군 인 Apache Lucene;
  • “거의 모든 텍스트 처리 문제를 해결하기위한 프레임 워크 인 GATE (텍스트 엔지니어링의 일반 아키텍처)”
  • 자연 언어 처리를 위해 고안된 논리 프로그래밍 언어 인 프롤로그;
  • Ralph Griswold가 SNOBOL 작업을 한 후 만든 또 다른 텍스트 처리 언어 인 Icon.

Ingersoll, Morton 및 Farris의 Taming Text : 텍스트 찾기, 구성 및 조작 방법을 읽을 수도 있습니다. 이 책은 위에 나열된 여러 소프트웨어 도구를 사용한 예제와 함께 텍스트 처리에 대한 훌륭한 개요를 제공합니다..

마지막으로, 텍스트 분석 도구 전용 웹 사이트 및 온라인 커뮤니티 인 TAPoR3을 확인하십시오..

추가 자료 및 자료

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • Perl Guide and Resources :이 강력한 스크립팅 언어를 시작하기위한 훌륭한 안내서입니다..
  • Awk 리소스 : 대부분의 컴퓨터에서 사용할 수있는이 강력한 스크립팅 언어를 배우십시오.
  • 프롤로그 자료 :이 상징적 인 논리 프로그래밍 언어로 시작할 수 있습니다..

자연어 처리!

자연어 처리 과학은 SNOBOL 시절부터 먼 길을 왔습니다. 인포 봇, 챗봇과 사랑에 빠지는 것을 피하는 방법에서 모든 정보를 확인하십시오. 그것은 “생각”컴퓨터의 오랜 역사를 다루며 심지어 상한 마음에서 당신을 구할 수도 있습니다!

어떤 코드를 배워야합니까?
챗봇과 사랑에 빠지지 않는 방법

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me