Releases: zihasoo/Zul-lang
Zul-lang 1.0.4
줄랭 컴파일러 버전 1.0.4 릴리즈
단락 평가를 여러개 사용했을 때 잘못된 분기문을 생성하던 버그를 수정하였습니다.
줄랭에 임베드된 stdio 비트코드가 printf, scanf의 제대로된 정의를 담지 않고 있던 문제를 수정하였습니다.
임베드된 stdio 비트코드에 대한 설명:
- 줄랭을 파일로 컴파일 했을 때 scanf가 링킹이 되지 않는 문제가 있었습니다. msvcrt에서 scanf가 인라인으로 구현된 것이 원인이었습니다. 이를 해결하기 위해 stdio 비트코드를 줄랭 컴파일러에 내장하고 자동으로 링킹하여 헤더 파일을 인클루드 한 것과 동일한 효과를 만들었습니다.
- 하지만 테스트 결과 임베드된 stdio가 윈도우 외의 플랫폼에서 작동하지 않았습니다. 비트코드 임베드 외의 다른 해결 방식을 찾는 중입니다.
- JIT에서는 아무 문제가 없습니다.
Zul-lang 1.0.3
줄랭 컴파일러 버전 1.0.3 릴리즈
출 함수에서 void를 출력하려고 할 때 에러 처리가 되지 않던 문제를 수정했습니다.
void타입을 리턴하는 함수에서 다른 타입을 리턴하려고 할 때 에러 처리를 추가했습니다. 함수 리턴 타입 에러 처리는 원래 존재했지만, "void함수 -> 다른 타입 리턴" 의 경우만 에러 처리가 안되고 있었습니다.
함수를 전방 선언하고, 나중에 정의를 할 때 정의가 아예 생성되지 않는 문제가 있었습니다.
전방 선언된 함수와 정의된 함수의 매개변수, 리턴 타입등이 일치하는지 검증하고, 함수가 제대로 생성되도록 개선했습니다. 또한 중복 정의나 중복 선언과 관련된 처리도 추가하였습니다.
Zul-lang 1.0.2
줄랭 컴파일러 버전 1.0.2 릴리즈
줄랭 컴파일러에서 LLVM 스택 덤프와 디버그용 출력을 제거했습니다. (조건부 컴파일을 실수로 넣지 않았습니다)
수 리터럴과 실수 리터럴 오버플로우 검증을 추가했습니다. 원래는 stoll함수를 사용해서 오버플로우가 나면 exception이 throw되면서 컴파일러 자체가 터지는 문제가 있었습니다.
잘못된 대입 연산에 대한 검증과 에러 메시지를 추가했습니다.
Zul-lang 1.0.1
줄랭 컴파일러 버전 1.0.1 릴리즈
포인터를 subscript 했을 때 잘못된 코드를 생성하던 버그를 수정했습니다.
'출' 함수에 아무 인자도 넣지 않으면 아무것도 출력되지 않던 버그를 수정했습니다. (원래 줄바꿈이 출력되어야 합니다)
Zul-lang 1.0.0
줄랭 컴파일러 버전 1.0.0 릴리즈
clang version 17.0.1
Target: x86_64-pc-windows-msvc
Thread model: posix
mac, linux는 언젠가 배포하겠습니다.