Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 이하가 아닐 경우에는 수를 소모하지만 출력하지 않습니다.