Skip to content

Releases: rycont/dalbit-yaksok

v1.0.0-nightly+20250316c

16 Mar 05:30
b48926c
Compare
Choose a tag to compare
Pre-release
청소년_나이_경계 = [15, 24]

약속, (나이)살은 청소년인지
    (청소년_나이_경계[0] <= 나이) 이고 (나이 <= 청소년_나이_경계[1]) 반환하기

약속, (이름)에게 반갑게 인사하기
    만약 이름 == "" 이면
        "저 폴이랑 안 친해요" 보여주기
        약속 그만 # 또는 반환하기
    "안녕, " + 이름 + "!" 보여주기

20살은 청소년인지 보여주기
""에게 반갑게 인사하기
"재이"에게 반갑게 인사하기

10 != 20 보여주기
!(10 == 20) 보여주기

What's Changed

  • 리스트의 시작은 0입니다.
  • ==로 동등비교 연산자를 사용합니다
  • =로 변수에 값을 할당합니다
    • Zerobase Indexing, Equality Operator with Double Equal SIgn, Variable Assigning with Single Equal Sign by @rycont in #80
  • != 연산자(NotEqual)가 추가되었습니다
  • ! 표현식(Not)이 추가되었습니다
    • NotEqual Operator(!=) & Not Expression(!) by @rycont in #83
  • 반환하기 키워드로 약속을 종료하고 값을 반환합니다
    • 이제 결과: 변수의 값은 약속의 실행 결과값으로 사용되지 않습니다
    • 약속 그만 키워드는 기존과 동일하게 사용됩니다
    • New return syntax by @rycont in #82

Miscs

  • fix(monaco-language-provider): change TOKEN_TYPE.COLON to TOKEN_TYPE.ASSIGNMENT by @rycont in #81

Full Changelog: v0.2.1...v1.0.0-nightly+20250316b

v0.2.1

14 Mar 11:58
74e4619
Compare
Choose a tag to compare

What's Changed

현재 실행중인 코드의 위치를 알 수 있는 기능이 추가되었습니다. 이를 활용하여 코드 실행 흐름 시각화 기능을 구현할 수 있습니다.

Full Changelog: v0.2.0...v0.2.1

v0.2.0

08 Mar 00:10
2127578
Compare
Choose a tag to compare

기능 개선 / 변경

  • 다른 파일에 있는 약속을 읽어오는 중에 발생한 오류도 예쁘게 보여줍니다 / 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

26 Jan 07:43
be4641b
Compare
Choose a tag to compare
v0.2.0-RC.9 Pre-release
Pre-release

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

26 Jan 06:51
222c446
Compare
Choose a tag to compare
v0.2.0-RC.8 Pre-release
Pre-release

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

15 Jan 11:32
6f3bf90
Compare
Choose a tag to compare
v0.2.0-RC.6 Pre-release
Pre-release

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

12 Jan 08:39
072350e
Compare
Choose a tag to compare
v0.2.0-RC.4 Pre-release
Pre-release

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

11 Jan 01:56
495c7f8
Compare
Choose a tag to compare
Pre-release

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

08 Dec 06:27
cb7b1dd
Compare
Choose a tag to compare
Pre-release

What's Changed

  • 모듈을 로드하는중에 발생한 오류도 ErrorsInModule로 표기합니다. 오류 동작에 일관성이 늘어났습니다.
    • fix: make errors(raised during loading exportedRule) wrapped in ErrorsInModule by @rycont in #49
  • Value 객체와 ValueLiteral 노드가 분리되었습니다.
    • feat: implement FunctionObject and separated from DeclareFunction node by @rycont in #50
    • Separate value and literal by @rycont in #51
  • 이하 사항은 v0.1.19의 릴리즈 노트와 동일합니다.

Full Changelog: v0.2.0-alpha.1+20241117...v0.2.0-alpha.5+20241206.nightly

v0.1.19

08 Dec 06:25
23c6a6c
Compare
Choose a tag to compare

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 함수가 비동기 함수로 전환되었습니다.

Full Changelog: v0.1.17...v0.1.19