diff --git a/README.md b/README.md index 572c1c4..7612a8b 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ _KALANG: Korean Programming Language_. - < 0.03 MB. -- Written in JavaScript. Natively runs on web browsers. +- Tested with >250 cases +- Written in JavaScript, natively runs on web browsers. - Minimal syntax with Korean keywords. Try _KALANG_ at [Playground][playground]. @@ -34,10 +35,15 @@ Load the interpreter script in HTML as follows: After that, you can execute _KALANG_ code with `kal.execute(code-to-execute)` as follows: -```HTML - +```javascript +kal.execute("5+5"); // === 10 +``` + +You can attach an event handler for standard output writing as follows: +```javascript +const stdouts = []; + +kal.execute("쓰기('사과')", stdout => stdouts.push(stdout)); // stdout === ["사과"] ``` @@ -91,6 +97,27 @@ which yields `43`. +### Builtin functions + +`쓰기()`: +``` +쓰기('사과') +쓰기('포도', '바나나') +``` +which yields +``` +사과 +포도 바나나 +``` + +`길이()`: +``` +길이('사과') +``` +which yields `2`. + + + ### Types _Number type_: any floating-point numbers @@ -116,9 +143,9 @@ _Boolean type_: `참`, `거짓` Note that building process is based on [Node.js][node]. -With [`pnpm`][pnpm], you can build a _KALANG_ interpreter by running `pnpm install && pnpm build && pnpm bundle`. +With [`pnpm`][pnpm], you can build a _KALANG_ interpreter by running `pnpm install && pnpm build`. -The output will be in the directory `/bundle/index.js`. +The output will be in the directory `/dist/index.min.js`. -[pnpm]: https://pnpm.io/ [node]: https://nodejs.org/ +[pnpm]: https://pnpm.io/ diff --git a/docs/README.ko.md b/docs/README.ko.md index 572c621..76a83d8 100644 --- a/docs/README.ko.md +++ b/docs/README.ko.md @@ -15,8 +15,9 @@ _KALANG: Korean Programming Language_. 한국어 프로그래밍 언어. - < 0.03 MB. -- 자바스크립트로 작성되어 브라우저에서 바로 동작합니다. -- 한국어 키워드로 구성된 간단한 문법을 갖습니다. +- 250 개 이상의 테스트 케이스. +- 브라우저에서 바로 동작하는 자바스크립트 구현체. +- 한국어 키워드로 구성된 간단한 문법. _KALANG_ 을 [플레이그라운드][playground]에서 체험해보세요. @@ -36,10 +37,15 @@ _KALANG_ 인터프리터를 브라우저에 로드하거나 직접 빌드하는 이후, _KALANG_ 코드는 다음과 같이 `kal.execute(code-to-execute)`로 실행합니다. -```HTML - +```javascript +kal.execute("5+5"); // === 10 +``` + +표준 출력을 위해 이벤트 핸들러를 등록할 수 있습니다. +```javascript +const stdouts = []; + +kal.execute("쓰기('사과')", stdout => stdouts.push(stdout)); // stdout === ["사과"] ``` @@ -93,6 +99,27 @@ _KALANG_ 인터프리터를 브라우저에 로드하거나 직접 빌드하는 +### 내장 함수 + +`쓰기()`: +``` +쓰기('사과') +쓰기('포도', '바나나') +``` +결과는 다음과 같습니다. +``` +사과 +포도 바나나 +``` + +`길이()`: +``` +길이('사과') +``` +결과는 `2`입니다. + + + ### 타입들 _숫자 타입_: 아무 부동소수점 숫자 @@ -120,15 +147,9 @@ _불리언 타입_: `참`, `거짓` 빌드 과정은 [Node.js][node]를 기반으로 합니다. -_KALANG_ 인터프리터를 다음 커맨드로 [`pnpm`]을 이용해 빌드합니다. +[`pnpm`][pnpm]을 이용해, _KALANG_ 인터프리터를 `pnpm install && pnpm build`로 빌드할 수 있습니다. -``` -pnpm install && pnpm build && pnpm bundle` -``` +빌드 결과는 `/dist/index.min.js` 디렉토리에 위치합니다. - - -결과는 `/bundle/index.js` 디렉토리에 위치합니다. - -[pnpm]: https://pnpm.io/ [node]: https://nodejs.org/ +[pnpm]: https://pnpm.io/