본문으로 이동

패럿 가상 머신

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

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

패럿은 펄 프로그래밍 커뮤니티에서 비롯하였으며 오픈 소스 및 자유 소프트웨어 운동으로부터 도움을 받아 개발되어 있다. 그 결과 펄의 라이선스(아티스틱 라이선스 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일에 확인함.

외부 링크

[편집]