# 함랭-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 만들기
- [ ] 웹에서 작동하게 만들기
Raw data
{
"_id": null,
"home_page": "https://github.com/HshMaker/hamlang",
"name": "hamlang",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "hamlang, hshmaker, Esolang",
"author": "HshMaker",
"author_email": "hshmakerss@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2f/66/69b17663b4997bf11a20624ca1de898e844fb37902eca4efa6e9f98637da/hamlang-0.0.1.tar.gz",
"platform": null,
"description": "# \ud568\ub7ad-Hamlang\r\n\r\n(\ud30c\uc774\uc36c\uc744 \uae30\ubcf8 \uc5b8\uc5b4\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.)\r\n\r\n\ud568\ub7ad\uc740 \uac1c\ubc1c\uc790\uc758 \uc774\ub984\uc744 \ub530\uc11c \ub9cc\ub4e4\uc5b4\uc9c4 \uc5b8\uc5b4\ub85c \uccab\uc2dc\uc791\uacfc \ub9c8\uc9c0\ub9c9\uc744 \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\ubc95\uc5d0 '\ud788\uc757'\uc774 \ub4e4\uc5b4\uac00\ub294 \uac83\uc774 \ud2b9\uc9d5\uc785\ub2c8\ub2e4.\r\n\r\n```\r\n\uc2dc\uc791\uacfc\r\n\r\n\ud568 Hello, Hamlang! \ud558\r\n\r\n\ub05d\uc774\ub2e4\r\n```\r\n> Hello, Hamlang!\r\n\r\n\uc774 \uc5b8\uc5b4\ub294 \ub2e4\ub978 \uc758\ub3c4\ub97c \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\uace0 \uc624\ub85c\uc9c0 \uac1c\ubc1c\uc790 \ubcf8\uc778\uc758 \uc7ac\ubbf8\ub97c \uc704\ud574 \ub9cc\ub4e4\uc5b4\uc9c4 \uc5b8\uc5b4\uc785\ub2c8\ub2e4.\r\n\r\n[rycont/umjunsik-lang](https://github.com/rycont/umjunsik-lang)\r\n\uc989, \uc5c4\ub7ad\uc758 \uc601\ud5a5\uc744 \ub9ce\uc774 \ubc1b\uc544\uc11c \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n# \uad6c\ud604\r\n\ud604\uc7ac \ub85c\uceec\uc5d0\uc11c \uad6c\ud604\ud558\ub294 \ubc29\ubc95 \uc678\uc5d0 \ub2e4\ub978 \ubc29\ubc95\uc740 \uc5c6\uc73c\uba70 \ucd94\ud6c4 \ucd94\uac00 \uc608\uc815\uc785\ub2c8\ub2e4.\r\n\r\n# \ubb38\ubc95\r\n## \uc2dc\uc791\r\n\ud568\ub7ad\uc740 \ubc18\ub4dc\uc2dc '\uc2dc\uc791\uacfc'\ub85c \uc2dc\uc791\ud574\uc11c '\ub05d\uc774\ub2e4'\ub85c \ub05d\ub098\uc57c \ud569\ub2c8\ub2e4.\r\n```\r\n\uc2dc\uc791\uacfc\r\n\r\n\ub05d\uc774\ub2e4\r\n```\r\n## \ucd9c\ub825\r\n\ud568\ub7ad\uc740 `\ud568 `\uacfc ` \ud558`\uc0ac\uc774\uc758 \ubaa8\ub4e0 \ubb38\uc790\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4.\r\n```\r\n\ud568 \uc774\uac83\uc740 \ucd9c\ub825\ub420 \ubb38\uc790\ub780\ub2e4. \ud558 --> \uc774\uac83\uc740 \ucd9c\ub825\ub420 \ubb38\uc790\ub780\ub2e4.\r\n\ud568 \uc54c\uaca0\uc9c0? \ud558 --> \uc54c\uaca0\uc9c0?\r\n```\r\n## \ubcc0\uc218\r\n\ud568\ub7ad\uc740 \ub450 \uac00\uc9c0\uc758 \uc790\ub8cc\ud615\uc744 \ubcc0\uc218\ub85c \ub2f4\uc744 \uc218 \uc788\uc73c\uba70 \uac01\uac01 \ubb38\uc790\uc5f4\uacfc \uc815\uc218\ud615\uc785\ub2c8\ub2e4.\r\n### \ubb38\uc790\uc5f4 \ubcc0\uc218\r\n\ubb38\uc790\uc5f4 \ubcc0\uc218\ub97c \uc800\uc7a5\ud558\uae30 \uc704\ud574\uc120 `\ud750`\uc640 `\ud760`\uc744 \uc774\uc6a9\ud569\ub2c8\ub2e4.\r\n```\r\n\ud760 1\ubc88\uc9f8 \ubb38\uc790 ~ (\ud760\uc774\ub77c\ub294 \ubcc0\uc218\uc5d0 '1\ubc88\uc9f8 \ubb38\uc790'\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4.)\r\n\ud750\ud760 2\ubc88\uc9f8 \ubb38\uc790 ~ (\ud750\ud760\uc774\ub77c\ub294 \ubcc0\uc218\uc5d0 '2\ubc88\uc9f8 \ubb38\uc790'\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4.)\r\n\ud750\ud750\ud760 3\ubc88\uc9f8\ubb38\uc790 ~ (\ud750\ud750\ud760\uc774\ub77c\ub294 \ubcc0\uc218\uc5d0 '3\ubc88\uc9f8 \ubb38\uc790'\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4.)\r\n.\r\n.\r\n.\r\n```\r\n\r\n\uadf8\ub9ac\uace0 \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc120 \uc911\uad04\ud638`{}`\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub610\ud55c \ubcc0\uc218\uc5d0 \ubcc0\uc218\ub97c \ub123\uc5b4\uc11c \ubcd1\ud569\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4.\r\n\r\n```\r\n\ud568 {\ud760} \ud558 --> 1\ubc88\uc9f8 \ubb38\uc790\r\n\ud750\ud750\ud750\ud760 {\ud760} {\ud750\ud760} {\ud750\ud750\ud760} \uadf8\ub9ac\uace0 4\ubc88\uca30 ~\r\n\ud568 {\ud750\ud750\ud750\ud760} \ud558 --> 1\ubc88\uc9f8 \ubb38\uc790 2\ubc88\uc9f8 \ubb38\uc790 3\ubc88\uc9f8 \ubb38\uc790 \uadf8\ub9ac\uace0 4\ubc88\uc9f8\r\n```\r\n### \uc815\uc218\ud615 \ubcc0\uc218\r\n\uc815\uc218\ud615 \ubcc0\uc218\ub97c \uc800\uc7a5\ud558\uae30 \uc704\ud574\uc120 `\ud6c4`\uc640 `\ud6d7`\uc744 \uc774\uc6a9\ud569\ub2c8\ub2e4.\r\n\r\n\uc0ac\uc6a9\ubc95\uc740 \ubb38\uc790\uc5f4 \ubcc0\uc218\uc640 \ub3d9\uc77c\ud558\ub2c8 \uc7ac\ucc28 \ub9d0\ud558\uc9c0 \uc54a\uaca0\uc2b5\ub2c8\ub2e4.\r\n\r\n## \uc774\ub3d9\r\n\ud568\ub7ad\uc740 \uc904\uac04 \uc774\ub3d9\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. `\ud638`\ub97c \uc0ac\uc6a9\ud574\uc11c \uc6d0\ud558\ub294 \uc904\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n```\r\n2\r\n3\r\n4 \ud568 \uc548\ub155 \ud558 (\uc774 \ucf54\ub4dc\uac00 \ubb34\ud55c \ubc18\ubcf5\ub418\uba70 \uc624\ub958\uac00 \uc0dd\uae41\ub2c8\ub2e4.)\r\n5 \ud638 4\r\n6\r\n```\r\n## IF\ubb38\r\n\ud568\ub7ad\uc740 IF\ubb38\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. `\ud5e4 (\uc815\uc218\ud615 \ubcc0\uc218) ? (\uc2e4\ud589\ud560 \uba85\ub839)`\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uc774 \ubb38\ubc95\uc740 \ubcc0\uc218\uac00 0\uc778\uc9c0 \ud655\uc778\ud558\uace0 \ub9de\ub2e4\uba74 \ub4a4\uc758 \uba85\ub839\uc744 \uc2e4\ud589, \uc544\ub2c8\ub77c\uba74 \uadf8\ub0e5 \ub118\uc5b4\uac11\ub2c8\ub2e4.\r\n```\r\n\ud6d7 0 ~\r\n\ud5e4 {\ud6d7} ? \ud638 4 (\ud6d7 \ubcc0\uc218\uac00 0\uc77c \uacbd\uc6b0 4\ubc88\uc9f8 \uc904\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.)\r\n```\r\n## \uc5f0\uc0b0\uc790\r\n\ud568\ub7ad\uc740 \ud2b9\uc774\ud55c \uc5f0\uc0b0\uccb4\uacc4\ub97c \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4.\r\n`+, -, *` \ub97c \uc774\uc6a9\ud574\uc11c \uc5f0\uc0b0\uc744 \ud558\ub294 \uac83\uc740 \uc77c\ubc18\uc801\uc774\uc9c0\ub9cc\r\n+\uae30\ud638\uc640 -\uae30\ud638\uc758 \uac1c\uc218\ub85c \uc5f0\uc0b0\uc744 \ud569\ub2c8\ub2e4.\r\n\r\n+\ub294 +1 \uc774\uace0 -\ub294 -1 \uc785\ub2c8\ub2e4.\r\n\r\n```\r\n+++---- (-1)\r\n+++*+++++ (15)\r\n---*++ (-6)\r\n```\r\n\uc5f0\uc0b0\uc744 \ud558\uae30 \uc704\ud574\uc120 \uba3c\uc800 \uc815\uc218\ud615 \ubcc0\uc218\ub97c \ud558\ub098 \uc120\uc5b8\ud574\uc57c\ud569\ub2c8\ub2e4.\r\n\r\n\uadf8\ub9ac\uace0 `(\uc815\uc218\ud615 \ubcc0\uc218)` \uc640 `!`\ub97c \uc774\uc6a9\ud574\uc11c \uc5f0\uc0b0\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\r\n\r\n```\r\n\ud6d7 0 ~\r\n\ud568 {\ud6d7} \ud558 --> 0\r\n\r\n\ud6d7 +++ !\r\n\ud568 {\ud6d7} \ud558 --> 3\r\n```\r\n\r\n\uc704 \ucf54\ub4dc\ub294 \ud6d7 \ubcc0\uc218\uc5d0 3\uc744 \ub354\ud558\uc5ec \uc800\uc7a5\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.\r\n\r\n# \uae30\ud0c0\r\n\ud568\ub7ad\uc740 `.ham`\uc774\ub77c\ub294 \ud655\uc7a5\uc790\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\r\n\r\n# TODO\r\n- [ ] \uc815\uc218\ub97c \uc785\ub825\ubc1b\ub294 input \ub9cc\ub4e4\uae30\r\n- [ ] \uc6f9\uc5d0\uc11c \uc791\ub3d9\ud558\uac8c \ub9cc\ub4e4\uae30\r\n",
"bugtrack_url": null,
"license": null,
"summary": "\uadf8\ub0e5 \ud788\uc757\uc774 \ub9ce\uc774 \ub4e4\uc5b4\uac04 \uc5b8\uc5b4\uc785\ub2c8\ub2e4.",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/HshMaker/hamlang"
},
"split_keywords": [
"hamlang",
" hshmaker",
" esolang"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3ca707419c63b44ef42c8e098cde3c18e411ed4168e1e4a799f5265f53dc1641",
"md5": "85eb01f160c3e481916de87e54b86ae3",
"sha256": "e5212789c4c9546e58b4faa7546c90e5febe6ee638ea0e677f3b66948ee61c5f"
},
"downloads": -1,
"filename": "hamlang-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "85eb01f160c3e481916de87e54b86ae3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 6220,
"upload_time": "2024-08-11T17:10:56",
"upload_time_iso_8601": "2024-08-11T17:10:56.272542Z",
"url": "https://files.pythonhosted.org/packages/3c/a7/07419c63b44ef42c8e098cde3c18e411ed4168e1e4a799f5265f53dc1641/hamlang-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f6669b17663b4997bf11a20624ca1de898e844fb37902eca4efa6e9f98637da",
"md5": "906ab36ce5698d27d5c60b65c2696553",
"sha256": "d493117eac4990a54774fa5b80cbf7503dc372596f7f2e499baf7127c8fafb6c"
},
"downloads": -1,
"filename": "hamlang-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "906ab36ce5698d27d5c60b65c2696553",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5628,
"upload_time": "2024-08-11T17:10:58",
"upload_time_iso_8601": "2024-08-11T17:10:58.143914Z",
"url": "https://files.pythonhosted.org/packages/2f/66/69b17663b4997bf11a20624ca1de898e844fb37902eca4efa6e9f98637da/hamlang-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-11 17:10:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "HshMaker",
"github_project": "hamlang",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "hamlang"
}