Skip to content

Latest commit

 

History

History
118 lines (88 loc) · 3.63 KB

README_kr.md

File metadata and controls

118 lines (88 loc) · 3.63 KB

minijs

go report go doc release ci code coverage

minijs는 Go 언어로 구현된 자바스크립트 바이트코드 가상 머신입니다. 자바스크립트 코드를 바이트코드로 변환하여 실행하며, Go와의 높은 호환성을 바탕으로 다양한 Go 기반 애플리케이션에 유연하게 내장될 수 있습니다.

주요 특징

  • 바이트코드 실행: 자바스크립트 코드를 바이트코드로 변환하여 가상 머신에서 실행함으로써 성능을 최적화합니다.
  • Go 환경과의 높은 호환성: Go 언어로 개발되어 다양한 Go 기반 애플리케이션에 손쉽게 통합할 수 있습니다.

설치

minijs는 Go 환경에서 실행됩니다. 아래 명령어를 사용하여 프로젝트를 클론하고 빌드할 수 있습니다:

git clone https://github.com/siyul-park/minijs.git
cd minijs
make build

사용법

REPL 실행

대화형 셸(REPL)에서 자바스크립트 코드를 실시간으로 실행할 수 있습니다.

minijs
> 'b'+'a'+ +'a'+'a'
"baNaNa"

바이트코드 출력

바이트코드를 함께 출력하려면 -print-bytecode 플래그를 사용합니다.

minijs --print-bytecode
> 'b'+'a'+ +'a'+'a'
section .text:
        str.load 0x00000000 0x00000001
        str.load 0x00000002 0x00000001
        str.add
        str.load 0x00000002 0x00000001
        str.to_f64
        f64.to_str
        str.add
        str.load 0x00000002 0x00000001
        str.add
        pop

.section .data:
        b
        a

"baNaNa"

파일 실행

파일을 실행하면 최적화 과정이 적용되어 바이트 코드가 더욱 효율적으로 변환됩니다. 자바스크립트 파일을 실행하려면 다음 명령어를 사용합니다:

minijs banana.js

바이트코드 출력

바이트코드를 출력하려면 -print-bytecode 플래그를 사용합니다.

minijs -print-bytecode banana.js
section .text:
        str.load 0x00000000 0x00000006
        pop

.section .data:
        baNaNa