The Pawn language - CompuPhase

The Pawn language - CompuPhase

| 공개

언어 소개

PAWN은 C와 유사한 문법을 가지고 있으며, 구조가 간단하고 코드 작성량이 적은 32-bit "스크립팅" 언어입니다. PAWN은 이미 존재하는 호스트 어플리케이션 안의 오브젝트를 잘 처리할 수 있도록 유연하게 고안되었습니다. PAWN의 도구 모음(컴파일러, 추상 머신)은 서로 다른 다양한 소프트웨어/하드웨어 환경을 쉽게 확장할 수 있도록 작성되었습니다. 개발사는 CompuPhase 입니다.

언어 특징

PAWN은 기존 어플리케이션을 커스터마이징 하는 것에 목적이 있으며, 새로운 어플리케이션을 작성하는 것에는 적합하지 않습니다. PAWN은 데이터 구조화에 약한 특징을 가지고 있는데, 이는 오브젝트(텍스트, 스프라이트, 스트림, 쿼리, ...)를 호스트 어플리케이션에서 담당한다고 가정하고 언어가 작성되었기 때문입니다.

PAWN은 함수 호출에 유연합니다. 함수 매개 변수에 기본값을 설정할 수 있으며, 매개 변수의 위치/순서에 상관 없이 모든 매개 변수에 적용될 수 있습니다. PAWN은 call-by-value와 call-by-reference를 모두 지원합니다. 또한 매개 변수를 전달하는 데 순서를 맞추지 않아도 "이름"을 사용하여 매개 변수를 전달할 수 있습니다.

PAWN은 코드 작성량을 적게 하자는 신념으로 인해 "type checking" 매커니즘을 가지고 있지 않습니다. 따라서 구체적인 변수의 자료형을 지정하지 않습니다. 하지만 "classification(분류) checking" 매커니즘을 통해 자료형을 대체하고 있습니다. 분류 확인 매커니즘은 변수에 "tag"를 할당함으로써 사용할 수 있습니다.

강의 진행

PAWN은 호스트 어플리케이션을 커스터마이징(변조)하기 위해 작성된 언어이므로, 적절한 호스트 어플리케이션을 예시로 들어 어떻게 적용되는 지 설명할 예정입니다. 본 강의는 PAWN이 GTA San Andreas Multiplayer(SA-MP)에 적용되어 사용되는 모습을 다룹니다.

본 강의는 PAWN 언어를 쉽게 이해할 수 있도록 간략한 설명으로 작성됩니다. 코드가 컴퓨터 안에서 실제로 동작하는 원리, 정확한 메모리 구조 등의 복잡한 내용은 생략되거나 쉬운 개념으로 각색됩니다. 따라서 내용이 실제와 다를 수 있습니다만, 학습상의 문제는 없습니다. 정확한 내용을 원하시는 분은 다른 강의를 참조하시기 바랍니다.

버전

현재 pawn 컴파일러의 최신 버전은 4.0.5749 (2017-10-18) 입니다.

링크

제작사 홈페이지:
http://www.compuphase.com/pawn/pawn.htm

공식 매뉴얼(영문):
https://github.com/compuphase/pawn/blob/master/doc/Pawn_Language_Guide.pdf

댓글

댓글 본문
  1. 준영
    1번 읽음.
graphittie 자세히 보기