지시시
Jsish패러다임 | 다중 패러다임: JavaScript, 스크립팅(글루어), 필수(절차, 프로토타입 기반, 객체 지향), 기능 |
---|---|
개발자 | 피터 맥도널드 |
첫 등장 | 2015; | 전(
안정적 해제 | |
타이핑 규율 | 다이나믹, 강인, 오리 |
구현 언어 | C99 또는 C++ |
OS | 크로스 플랫폼 |
면허증 | MIT 라이센스, 라이브러리는 다양함 [1] |
웹사이트 | jsish |
영향을 받은 | |
Tcl, SQLite, 화석, WebSocket |
자바스크립트 인터프리터 SHELL(Jsish 또는 Jsi for short)은 임베디드 시스템에서 사용하도록 설계된 스크립팅 언어다.
주로 GNU 툴 체인을 사용하여 C 또는 C++로 작성된 어플리케이션에 의해 사용되는 언어다.MinGW는 윈도우 호환성을 제공한다.
Jsi 코드는 C99 또는 C++로 컴파일되며, C++ 지원은 "외부 C" 대신 네이티브가 된다.
역사
Jsi는 Tcl과 JimTcl의 임베디드 애플리케이션 대체품으로 만들어졌다.[3]Tcl, Lua, Python에서 사용되는 독특한 구문과 반대로, 대부분 표준 구문(JavaScript)을 이용한 임베디드 스크립팅을 제공하는 것이 주요 목표다.두 번째 목표는 JSON을 사용하는 웹 브라우저와의 데이터 호환이다.속도는 주요 목표가 아니다.
jsi의 삶은 사륜 통역의 포크로 시작되었다.[4]결국 tcl의 주요 내부 특징이 대부분 추가됐다.현재 시행되고 있는 것은 원본의 10배에 가까운 규모로, 원본 코드는 거의 남아 있지 않다.
특징들
Jsi는 SQLite, WebSocket [5]및 자체 호스팅 ZIP 파일 시스템에 대한 기본 지원을 제공한다.그jsish
실행 파일은 유틸리티와 응용 프로그램이 내장된 자체 압축 파일 시스템을 통합한다는 점에서 이례적이다.여기에는 Debugger와 Web-Server가 포함된다. 후자는 Debugger와 SQLite를 위한 웹 사용자 인터페이스를 제공하는 데 사용된다.이러한 각 애플리케이션은 다음을 통해 액세스할 수 있음jsish
명령줄 인수
Jsi는 매우 독립적이다:
- Jsi에 대한 구성 스크립트 자체는 Jsi로 쓰여 있다.이를 위해 최소 독립 실행형
jsish
부트스트랩 구성을 위해 처음 구축됨. - 기존 응용프로그램에 대한 사소한 통합을 지원하기 위해 통합 소스 파일이 제공된다.
- 그
jsish
2진법을 구축하고 musl에 대해 정적으로 연결하여 외부 의존성이 없는 독립형 시스템을 만들 수 있다.
스크립트 및 확장은 오리타입 매개변수를 지원하는 기능으로 인해 비정상적으로 강력하다.구현이 성숙하고 통합 로깅, 주장 및 엄격한 모드를 포함하는 풍부하고 탄력적인 개발 환경을 가지고 있다.
2017년 12월 출시된 버전 2.4를 기준으로 jsi는 특징적으로 안정적인 것으로 평가된다.
ECMAScript
Jsi는 ECMAScript 표준 버전 5.1을 구현하며 다음과 같은 편차를 가진다.[6]
- 자동 세미콜론 삽입 금지.
- 빈 배열/객체 요소는 지원되지 않는다.
- 사용하는 것은 오류다.
return
의 안쪽에try
/catch
육체의 - 그
Error
개체가 구현되지 않음: 다음과 같은 인수catch()
그냥 끈일 뿐이야 - 그
Date
개체가 구현되지 않음: 사용strftime
/strptime
. - 의 가치
typeof []
"객체"가 아니라 "어레이"이다. - UTF는 현재 지원되지 않는다.
기능 정의는 유형과 기본값을 사용할 수 있다는 하나의 큰 확장자가 있다.
참고 항목
참조
- ^ "Tags". Retrieved 14 November 2018.
- ^ "1 check-in tagged with v2.6". Retrieved 14 November 2018.
- ^ "Jim Tcl". Retrieved 1 December 2017.
- ^ "Quadwheel". Retrieved 1 December 2017.
- ^ "LibWebsockets". Retrieved 1 December 2017.
- ^ "ECMAScript 5.1". Retrieved 1 December 2017.