Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kiwiyou/palheui
Aheui to C transpiler
https://github.com/kiwiyou/palheui
Last synced: 2 months ago
JSON representation
Aheui to C transpiler
- Host: GitHub
- URL: https://github.com/kiwiyou/palheui
- Owner: kiwiyou
- License: mit
- Created: 2022-11-09T08:56:03.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-29T01:42:41.000Z (about 1 year ago)
- Last Synced: 2023-12-29T04:26:12.389Z (about 1 year ago)
- Language: Rust
- Size: 40 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# palheui
palheui(빨희)는 빠른 아희 코드 실행을 목표로 하는 아희-to-C 트랜스파일러입니다.
## 정확성
palheui는 aheui-snippet의 전체 57개 테스트 케이스 중 64bit.aheui를 제외한 56개를 통과합니다.
## 설치
```bash
$ git clone https://github.com/kiwiyou/palheui.git
$ cd palheui
$ cargo install .
$ palheui
```## 사용법
`palheui [INPUT]` - 아희 코드를 파일 `[INPUT]`에서 불러와 C로 트랜스파일한 결과를 표준 출력 스트림에 출력합니다.
## 구현체 특이 동작
- 정수 입력 시 앞쪽 공백을 무시합니다. 뒤쪽 공백은 미리 소모하지 않습니다.
- 정수 입력 시 정수가 아닌 문자가 있으면 소모하지 않고 0을 반환합니다. `-`가 있는 경우 하나 소모됩니다.
- 정수 및 문자 입력 시 EOF를 만나면 -1을 반환합니다.
- 정수는 64비트 2의 보수 부호 있는 정수형을 사용합니다.
- 정수가 표현 범위를 넘어갈 시에는 동작이 정의되지 않습니다.
- ㅎ 저장공간은 스택처럼 동작합니다.
- 속도 2 이상으로 코드 범위를 벗어났을 경우에는 항상 반대쪽 끝\*으로 이동합니다.
- 반대쪽 끝은 코드 영역의 왼쪽 위를 한 꼭짓점으로 하고 코드 영역을 포함하는 가장 작은 직사각형을 기준으로 합니다.
- 해당 위치에 문자가 존재하지 않아도 이동할 수 있습니다.
- 0으로 나누면 프로그램이 비정상 종료할 수 있습니다.
- 문자 출력 시 수가 0 이상 0x10ffff 이하가 아닐 경우에는 수를 소모하지만 출력하지 않습니다.