{"id":13780345,"url":"https://github.com/ikasty/hyeongc","last_synced_at":"2025-05-11T13:32:03.198Z","repository":{"id":72569213,"uuid":"79300768","full_name":"ikasty/hyeongc","owner":"ikasty","description":"혀엉씨","archived":false,"fork":false,"pushed_at":"2017-02-01T17:28:56.000Z","size":209,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-03T18:15:01.834Z","etag":null,"topics":["c","esolang","hyeong","interpreter","unicode-characters"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikasty.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-18T03:46:13.000Z","updated_at":"2023-02-12T15:58:14.000Z","dependencies_parsed_at":"2023-03-02T02:15:48.311Z","dependency_job_id":null,"html_url":"https://github.com/ikasty/hyeongc","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikasty%2Fhyeongc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikasty%2Fhyeongc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikasty%2Fhyeongc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikasty%2Fhyeongc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikasty","download_url":"https://codeload.github.com/ikasty/hyeongc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225056803,"owners_count":17414212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","esolang","hyeong","interpreter","unicode-characters"],"created_at":"2024-08-03T18:01:14.747Z","updated_at":"2024-11-17T15:31:07.952Z","avatar_url":"https://github.com/ikasty.png","language":"C","funding_links":[],"categories":["C","구현체"],"sub_categories":[],"readme":"혀엉씨\n===========\n\n[난해한 혀엉...언어 v0.4.5](https://gist.github.com/xnuk/d9f883ede568d97caa158255e4b4d069/dcb12c9f727a8d3cbcbd362078e165e124caadc6)의 C 구현체 혀엉씨 v0.4.5.3\n\n모든 [해석 케이스](https://github.com/xnuk/hyeong-testcases) 구현 (example/parse-test 참조)\n\n## 사용법\n* hyeongc [option] [--] 파일명\n\n#### 옵션\n* -v, --version, -h, --help\n\n    도움말 및 버전 출력\n* -d, --debug\n\n    실행 시 디버그 메시지를 함께 출력\n* -D, --strict-debug\n\n    출력 값이 있을 경우에만 디버그 메시지를 출력\n* -p `code_no`\n\n    명령어 번호가 `code_no`인 명령어를 실행하기 전에 중단하고, 디버그 모드로 전환\n* --parse-only\n\n    실행하지 않고, 파싱 결과만을 출력\n\n#### 컴파일\ngcc 와 make가 있는 Unix-like 시스템에서 컴파일 가능함\n\n## 구현체 스펙\n* 토큰 처리 O(n)\n* 명령어 분석 최대 O(n^2) (대부분의 경우 O(n))\n* 스택 찾기 O(1) (mod 10을 이용한 기초적인 해싱)\n* 스택 개수 제한 없음 (허용 메모리 내)\n* 하트 저장소 찾기 최대 O(n) (하트 모양 별 linked list)\n* 하트 저장소 개수 제한 없음 (허용 메모리 내)\n* 유리수 분모/분자 각각 부호 있는 최소한 64비트 이상의 정수 범위\n* 디버그 모드\n* 파서 결과만 출력 가능\n\n## 변경된, 또는 구체화된 언어 명세\n* 하트 구역의 \u003ccode\u003e?\u003c/code\u003e와 \u003ccode\u003e/\u003c/code\u003e는 해당 토큰 전후에 하트 토큰이 없어도 정상 작동함\n\u003e 예시: \u003ccode\u003e형...!\u003c/code\u003e는 \u003ccode\u003e3\u003c/code\u003e를 현재 스택에 넣은 뒤, \u003ccode\u003e!\u003c/code\u003e 토큰으로 인해 이 값을 뽑는다. 선택할 하트 토큰이 없으므로 뽑은 값은 버려진다.\n\n* 하트 구역에 하트 토큰이 여러 개 나타나는 경우 맨 처음 하트를 제외한 나머지 하트는 버려짐\n\u003e 예시: \u003ccode\u003e혀엉...💗!💕\u003c/code\u003e 와 \u003ccode\u003e혀엉...💗💙💝!💕♡💜\u003c/code\u003e는 동치이다.\n\n* 공백 문자(스페이스, 탭, 캐리지, 뉴라인)는 명령어를 구분짓지 않는다.\n\u003e 예시: \u003ccode\u003e혀엉... .\u003c/code\u003e와 \u003ccode\u003e혀엉....\u003c/code\u003e은 완전히 동일한 명령어이다.\n\n* \u003ccode\u003e?\u003c/code\u003e와 \u003ccode\u003e!\u003c/code\u003e에서 값을 비교할 때, 현재 스택에서 가져온 값이 유리수인 경우 자신보다 작은 정수 중 가장 큰 정수를 택하여 비교한다.\n\u003e 예시: 현재 스택 상태가 \u003ccode\u003e-\u003e (1/3) 5 7\u003c/code\u003e인 경우, (1/3)을 뽑아 0으로 비교한다.  \n\u003e 예시: 현재 스택 상태가 \u003ccode\u003e-\u003e\u003c/code\u003e인 경우, (NaN)을 뽑아 비교하며, 항상 뒷부분 구역을 선택한다.\n\n* 0번 스택이 비어있는 경우에는 표준 입력에서 유니코드 문자를 가져와, 0번 스택에 역순으로 채워넣는다. (즉, 맨 첫 글자가 스택의 맨 위에 위치하도록 넣는다.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikasty%2Fhyeongc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikasty%2Fhyeongc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikasty%2Fhyeongc/lists"}