패럿 가상 머신

패럿(Parrot)은 동적 언어를 효율적으로 실행할 수 있도록 설계된 레지스터 기반 프로세스 가상 머신이다. 패럿 어셈블리어와 PIR (중간 언어)를 패럿 바이트코드로 컴파일하여 실행할 수 있다. 패럿은 자유오픈 소스 소프트웨어이다.[2]

패럿 가상 머신
Parrot virtual machine
개발자패럿 재단
안정화 버전
8.1.0 / 2016년 2월 16일(8년 전)(2016-02-16)[1]
저장소
프로그래밍 언어C
운영 체제크로스 플랫폼
종류가상 머신
라이선스아티스틱 라이선스 2.0
웹사이트www.parrot.org

패럿은 펄 프로그래밍 커뮤니티에서 비롯하였으며 오픈 소스 및 자유 소프트웨어 운동으로부터 도움을 받아 개발되어 있다. 그 결과 펄의 라이선스(아티스틱 라이선스 2.0)와 호환된다는데 중점을 두고 있다.

개발을 위한 안정적인 API를 갖춘 버전 1.0은 2009년 3월 17일에 공개되었다.[3]

편집

레지스터 편집

패럿은 스택 기반인 대부분의 가상 머신과 달리 대부분의 하드웨어 CPU와 같이 레지스터 기반이다. 패럿은 다음의 네 종류의 레지스터를 제공한다.

  • I (정수)
  • N (부동소수점)
  • S (문자열)
  • P (PMC: Polymorphic Container) - 패럿 오브젝트 타입

산술 연산자 편집

PASM
   set I1, 4
   inc I1        # I1 is now 5
   add I1, 2     # I1 is now 7
   set N1, 42.0
   dec N1        # N1 is now 41.0
   sub N1, 2.0   # N1 is now 39.0
   print I1
   print ', '
   print N1
   print "\n"
   end
PIR
 .sub 'main' :main
    $I1 = 4
    inc $I1     # $I1 is now 5
    $I1 += 2    # $I1 is now 7
    $N1 = 42.0
    dec $N1     # $N1 is now 41.0
    $N1 -= 2.0  # $N1 now 39.0
    print $I1
    print ', '
    print $N1
    print "\n"
 .end

같이 보기 편집

각주 편집

  1. “New supported release 8.1.0 "Andean Parakeet". Parrot Foundation. 2016년 2월 16일. 2016년 9월 26일에 확인함. 
  2. “Parrot Contributor License Agreement 1.0” (PDF). Parrot Foundation. 2010년 8월 16일에 원본 문서 (PDF)에서 보존된 문서. 2009년 3월 18일에 확인함. 
  3. “Parrot Roadmap”. Parrot Foundation. 2008년 11월 20일. 2010년 4월 15일에 원본 문서에서 보존된 문서. 2008년 11월 20일에 확인함. 

외부 링크 편집