본문으로 이동

패럿 가상 머신

한울위키, 우리 모두의 백과사전.
패럿 가상 머신
Parrot virtual machine
개발자패럿 재단
안정화 버전
8.1.0 / 2016년 2월 16일(9년 전)(2016-02-16)[1]
저장소
  • {{URL|example.com|optional display text}}모듈:EditAtWikidata 29번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
프로그래밍 언어C
엔진
    모듈:EditAtWikidata 29번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
    운영 체제크로스 플랫폼
    종류가상 머신
    라이선스아티스틱 라이선스 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일에 확인함. 

    외부 링크

    • 모듈:Official_website 90번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).