패럿 가상 머신

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

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

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

예

레지스터 
패럿은 스택 기반인 대부분의 가상 머신과 달리 대부분의 하드웨어 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

같이 보기 
 공통 언어 런타임

각주

외부 링크 
 

펄
크로스 플랫폼 소프트웨어
가상 머신
C로 작성된 자유 소프트웨어
아티스틱 라이선스 소프트웨어
자유 컴파일러와 인터프리터
중단된 소프트웨어