Metadata-Version: 2.1
Name: hamlang
Version: 0.0.1
Summary: 그냥 히읗이 많이 들어간 언어입니다.
Home-page: https://github.com/HshMaker/hamlang
Author: HshMaker
Author-email: hshmakerss@gmail.com
Keywords: hamlang,hshmaker,Esolang
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# 함랭-Hamlang

(파이썬을 기본 언어로 사용합니다.)

함랭은 개발자의 이름을 따서 만들어진 언어로 첫시작과 마지막을 제외한 모든 문법에 '히읗'이 들어가는 것이 특징입니다.

```
시작과

함 Hello, Hamlang! 하

끝이다
```
> Hello, Hamlang!

이 언어는 다른 의도를 가지고 있지 않고 오로지 개발자 본인의 재미를 위해 만들어진 언어입니다.

[rycont/umjunsik-lang](https://github.com/rycont/umjunsik-lang)
즉, 엄랭의 영향을 많이 받아서 만들었습니다.

# 구현
현재 로컬에서 구현하는 방법 외에 다른 방법은 없으며 추후 추가 예정입니다.

# 문법
## 시작
함랭은 반드시 '시작과'로 시작해서 '끝이다'로 끝나야 합니다.
```
시작과

끝이다
```
## 출력
함랭은 `함 `과 ` 하`사이의 모든 문자를 출력합니다.
```
함 이것은 출력될 문자란다. 하 --> 이것은 출력될 문자란다.
함 알겠지? 하 --> 알겠지?
```
## 변수
함랭은 두 가지의 자료형을 변수로 담을 수 있으며 각각 문자열과 정수형입니다.
### 문자열 변수
문자열 변수를 저장하기 위해선 `흐`와 `흠`을 이용합니다.
```
흠 1번째 문자 ~   (흠이라는 변수에 '1번째 문자'가 저장됩니다.)
흐흠 2번째 문자 ~   (흐흠이라는 변수에 '2번째 문자'가 저장됩니다.)
흐흐흠 3번째문자 ~   (흐흐흠이라는 변수에 '3번째 문자'가 저장됩니다.)
.
.
.
```

그리고 변수를 사용하기 위해선 중괄호`{}`를 사용합니다. 또한 변수에 변수를 넣어서 병합도 가능합니다.

```
함 {흠} 하  --> 1번째 문자
흐흐흐흠 {흠} {흐흠} {흐흐흠} 그리고 4번쨰 ~
함 {흐흐흐흠} 하  --> 1번째 문자 2번째 문자 3번째 문자 그리고 4번째
```
### 정수형 변수
정수형 변수를 저장하기 위해선 `후`와 `훗`을 이용합니다.

사용법은 문자열 변수와 동일하니 재차 말하지 않겠습니다.

## 이동
함랭은 줄간 이동이 가능합니다. `호`를 사용해서 원하는 줄로 이동할 수 있습니다.
```
2
3
4 함 안녕 하  (이 코드가 무한 반복되며 오류가 생깁니다.)
5 호 4
6
```
## IF문
함랭은 IF문을 가지고 있습니다. `헤 (정수형 변수) ? (실행할 명령)`으로 사용할 수 있습니다.
이 문법은 변수가 0인지 확인하고 맞다면 뒤의 명령을 실행, 아니라면 그냥 넘어갑니다.
```
훗 0 ~
헤 {훗} ? 호 4   (훗 변수가 0일 경우 4번째 줄로 이동합니다.)
```
## 연산자
함랭은 특이한 연산체계를 가지고 있습니다.
`+, -, *` 를 이용해서 연산을 하는 것은 일반적이지만
+기호와 -기호의 개수로 연산을 합니다.

+는 +1 이고 -는 -1 입니다.

```
+++----  (-1)
+++*+++++ (15)
---*++ (-6)
```
연산을 하기 위해선 먼저 정수형 변수를 하나 선언해야합니다.

그리고 `(정수형 변수)` 와 `!`를 이용해서 연산을 실행합니다.

```
훗 0 ~
함 {훗} 하  --> 0

훗 +++ !
함 {훗} 하  --> 3
```

위 코드는 훗 변수에 3을 더하여 저장하는 코드입니다.

# 기타
함랭은 `.ham`이라는 확장자를 사용합니다.

# TODO
- [ ] 정수를 입력받는 input 만들기
- [ ] 웹에서 작동하게 만들기
