Releases: rycont/dalbit-yaksok
Releases · rycont/dalbit-yaksok
v1.0.0-nightly+20250316c
청소년_나이_경계 = [15, 24]
약속, (나이)살은 청소년인지
(청소년_나이_경계[0] <= 나이) 이고 (나이 <= 청소년_나이_경계[1]) 반환하기
약속, (이름)에게 반갑게 인사하기
만약 이름 == "폴" 이면
"저 폴이랑 안 친해요" 보여주기
약속 그만 # 또는 반환하기
"안녕, " + 이름 + "!" 보여주기
20살은 청소년인지 보여주기
"폴"에게 반갑게 인사하기
"재이"에게 반갑게 인사하기
10 != 20 보여주기
!(10 == 20) 보여주기
What's Changed
- 리스트의 시작은 0입니다.
==
로 동등비교 연산자를 사용합니다=
로 변수에 값을 할당합니다!=
연산자(NotEqual)가 추가되었습니다!
표현식(Not)이 추가되었습니다반환하기
키워드로 약속을 종료하고 값을 반환합니다
Miscs
Full Changelog: v0.2.1...v1.0.0-nightly+20250316b
v0.2.1
What's Changed
현재 실행중인 코드의 위치를 알 수 있는 기능이 추가되었습니다. 이를 활용하여 코드 실행 흐름 시각화 기능을 구현할 수 있습니다.
- 문서: https://dalbit-yaksok.postica.app/library/5.%20%ED%98%84%EC%9E%AC%20%EC%8B%A4%ED%96%89%EC%A4%91%EC%9D%B8%20%EC%BD%94%EB%93%9C%EC%9D%98%20%EC%9C%84%EC%B9%98%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0.html
- PR: feat: Slow running & Running Codes by @rycont in #78
Full Changelog: v0.2.0...v0.2.1
v0.2.0
기능 개선 / 변경
- 다른 파일에 있는 약속을 읽어오는 중에 발생한 오류도 예쁘게 보여줍니다 / fix: make errors(raised during loading exportedRule) wrapped in ErrorsInModule by @rycont in #49
- FFI(번역)에서 Async 함수를 지원합니다 / Support async ffi 0.2.x by @rycont in #56
- 오류 메시지에서 토큰 이름을 사용자에게 친근한 단어로 변환하여 보여줍니다 / Feat: Make token type readable in error message by @rycont in #57
- Monaco Editor를 위한 언어 확장 패키지가 추가되었습니다 / feat: implement monaco language provider by @rycont in #63
- 오류를 발생한 달빛약속 코드에 밑줄을 그어서 오류메시지를 보여줍니다 / feat: implement regional error token accent by @rycont in #68
- 문자열 내에 줄바꿈이 있는 경우 오류를 발생합니다 / Fix: raise error when newline in string by @rycont in #77
해결된 오류
- 함수의 인자로 Identifier(변수)만 전달되어도 정상적으로 파싱됩니다 / Fix identifier as parameter parse error by @rycont in #44
- 소수를 파싱할 수 있습니다 / fix: update number tokenizer rule starter regex and validation logic by @rycont in #64
- 함수 이름에 예약어가 포함되면 오류를 냅니다 / feat: block declaring function header containing reserved words by @rycont in #66
- 범위 연산자(~)에 정수가 아닌 수가 입력되었을 때 올바르게 처리합니다 / Fix: range operator to handle non-integer numbers by @rycont in #70
- 유사한 함수 이름을 잘 구분하여 파싱합니다 / Fix similar function header parsing error by @rycont in #75
- 한 글자짜리 함수도 잘 파싱합니다 / Call corresponding function if
NotDefinedIdentifier
error raised by @rycont in #76
구조 개선
- Refactor: separate tokenizer and nodes by @rycont in #48
- feat: implement FunctionObject and separated from DeclareFunction node by @rycont in #50
- Separate value and literal by @rycont in #51
- Get quickjs binary from unpkg 0.2.x by @rycont in #53
- Chore: add quickjs dry deploy in test by @rycont in #58
- docs: apply changed name to docs by @rycont in #59
- feat: optimistic tokenizer by @rycont in #60
- Refactor docs(Vitepress) & test to use Deno Workspace by @rycont in #61
- Unified version applier by @rycont in #62
- Update test coverage by @rycont in #67
- refactor: remove all callFrame usage by @rycont in #71
- chore: bump package versions to 0.2.0-RC.5 by @rycont in #72
- chore: remove monaco editor import in language provider by @rycont in #73
- feat: RULE_FLAGS.IS_STATEMENT by @rycont in #74
Full Changelog: v0.1.19...v0.2.0
v0.2.0-RC.9
What's Changed
- Call corresponding function if
NotDefinedIdentifier
error raised by @rycont in #76- 한 단어로 된 함수도 올바르게 실행될 수 있습니다.
Full Changelog: v0.2.0-RC.8...v0.2.0-RC.9
v0.2.0-RC.8
What's Changed
- feat: RULE_FLAGS.IS_STATEMENT by @rycont in #74
- 변수 선언, 보여주기 등 Statement를 올바르게 파싱합니다
- Fix similar function header parsing error by @rycont in #75
- 선언이 일부 겹치는 함수를 올바르게 파싱합니다.
Full Changelog: v0.2.0-RC.6...v0.2.0-RC.8
v0.2.0-RC.6
What's Changed
- refactor: remove all callFrame usage by @rycont in #71
- chore: remove monaco editor import in language provider by @rycont in #73
- Language Provider에서 불필요한 Monaco Editor 임포트를 제거하였습니다.
Full Changelog: v0.2.0-RC.4...v0.2.0-RC.6
v0.2.0-RC.4
What's Changed
- fix: update number tokenizer rule starter regex and validation logic by @rycont in #64
- 토크나이저가 음수도 잘 처리합니다.
- feat: block declaring function header containing reserved words by @rycont in #66
- 함수(약속 & 번역) 이름에 예약어가 포함되는 경우 오류가 발생합니다
- Update test coverage by @rycont in #67
- 새로 추가된 함수를 반영하여 테스트 커버리지를 업데이트 하였습니다
- feat: implement regional error token accent by @rycont in #68
- 가능한 경우 오류 메시지에서 오류가 발생한 코드에 밑줄을 칠해줍니다. 밑줄 표시가 불가능한 경우엔 이전과 동일하게 오류 발생 위치에 캐럿(화살표)을 보여줍니다.
- Fix: range operator to handle non-integer numbers by @rycont in #70
- 범위 연산자(
~
)에 정수가 아닌 실수가 입력될 경우 오류를 발생합니다
- 범위 연산자(
Full Changelog: v0.2.0-alpha.13+20250104.nightly...v0.2.0-RC.4
v0.2.0-alpha.13+20250104.nightly
Full Changelog: v0.2.0-alpha.13+20250104.nightly...v0.2.0-alpha.13+20250104.nightly
What's Changed
- Feat: Make token type readable in error message by @rycont in #57
- 오류 메시지에 TokenType이 한글로 표시됩니다
- Chore: add quickjs dry deploy in test by @rycont in #58
- 빌드 테스트 과정에 QuickJS 배포 테스트를 추가하였습니다
- docs: apply changed name to docs by @rycont in #59
- feat: optimistic tokenizer by @rycont in #60
- 코드에 문제가 있어도 최대한 복구하여 토크나이징을 끝냅니다.
- Refactor docs(Vitepress) & test to use Deno Workspace by @rycont in #61
- 공식 문서 또한 Deno Workspace를 이용하도록 하여, 코드베이스의 일관성을 높혔습니다. 이제 Core 모듈은 Zero Dependency입니다.
- Unified version applier by @rycont in #62
- Root Module에서만 패키지 버전을 관리하고, Workspace Module은 Root Module의 버전을 따라갑니다.
- feat: implement monaco language provider by @rycont in #63
- Monaco 에디터에서 사용할 수 있는 달빛약속 언어 확장을 출시하였습니다. 문법 강조, 자동완성이 포함됩니다.
Full Changelog: v0.2.0-alpha.5+20241206.nightly...v0.2.0-alpha.13+20250104.nightly
v0.2.0-alpha.5+20241206.nightly
What's Changed
- 모듈을 로드하는중에 발생한 오류도
ErrorsInModule
로 표기합니다. 오류 동작에 일관성이 늘어났습니다. - Value 객체와 ValueLiteral 노드가 분리되었습니다.
- 이하 사항은 v0.1.19의 릴리즈 노트와 동일합니다.
Full Changelog: v0.2.0-alpha.1+20241117...v0.2.0-alpha.5+20241206.nightly
v0.1.19
What's Changed
- Fix: get quickjs wasm binary from unpkg at runtime by @rycont in #52
- QuickJS의 wasm 바이너리를 런타임에 unpkg에서 다운로드 합니다. 더 다양한 프론트엔드 번들링 환경에서 사용할 수 있도록 호환성이 늘어났습니다.
- Support async ffi calls by @rycont in #55
- FFI에서 비동기 작업을 수행할 수 있습니다. 이제 runFFI 함수는
Promise<ValueTypes>
를 반환해도 됩니다. yaksok
함수가 비동기 함수로 전환되었습니다.
- FFI에서 비동기 작업을 수행할 수 있습니다. 이제 runFFI 함수는
Full Changelog: v0.1.17...v0.1.19