심심해서 만드는 "한셈틀" 언어...

cppig1995의 이미지

지금은 "한셈틀" 프로그래밍 언어를 만들고 있습니다.
인터프리터를 먼저 만들고 그 다음 컴파일러를... (퍽!)
다음과 같은 자연스러운 표현이 가능하도록 노력하는 중입니다.
상당히 어렵군요. 하지만 무려 객체 지향을 지원할 예정입니다.

설명 : ~~~~~~

주 함수를 정의합니다.
"~~~~~~~"라고 출력합니다.
주 함수 정의를 마칩니다.

문자열 출력 뒤 (을, 를) 고민하다가 "라고" 를 붙였습니다. :mrgreen:

File attachments: 
첨부파일 크기
Plain text icon Tutorial.txt6.84 KB
puzzlet의 이미지

그리도 (을/를) 문제는 생길텐데요.

사과를 배에 대입합니다.
자몽을 감에 대입합니다.

아래와 같이 하면 되기는 하지만 어색합니다.
이제 배의 값은 사과입니다.
이제 감의 값은 자몽입니다.

발발다빠따반반나다발딸발발다빠따따맣발발다뿌
멓터벅더떠벋떠벌더벌벌떠벌떠더법벍떠더벌벌떠

cppig1995의 이미지

조합형 한글 코드를 쓰면 좋을텐데.

종성이 필코드면 를만 처리해! 아니면 문법에러~~ 에러~~
종성이 있으면 을만 처리해! 아니면 문법에러~~ 에러~~

역시 unsigned char Johap_Wansung[2350*2]가 해탈의 참된 길인가벼... orz

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

puzzlet의 이미지

cppig1995 wrote:
조합형 한글 코드를 쓰면 좋을텐데.

유니코드를 쓰면 종성 판별이 쉽습니다.

발발다빠따반반나다발딸발발다빠따따맣발발다뿌
멓터벅더떠벋떠벌더벌벌떠벌떠더법벍떠더벌벌떠

1day1의 이미지

cppig1995 wrote:
조합형 한글 코드를 쓰면 좋을텐데.

종성이 필코드면 를만 처리해! 아니면 문법에러~~ 에러~~
종성이 있으면 을만 처리해! 아니면 문법에러~~ 에러~~

역시 unsigned char Johap_Wansung[2350*2]가 해탈의 참된 길인가벼... orz

모르고 하는 소리입니다.
그렇다면, 인터프리터가 먼저 조합형 코드로 변환한후 해석하게 하면 안되려나?

F/OSS 가 함께하길..

cppig1995의 이미지

그러고 보니 변수 선언은 (을, 를) 을 피해갈 방법이 있군요.

틀 날짜 형식의 변수 생일을 정의합니다. (X)
틀 날짜 형식의 생일 변수를 정의합니다. (O) (한셈틀, 날짜 틀이 있을 때)

Date Birthday; (C++, Date 클래스가 있을 때)

정수 형식의 XX 변수, 실수 형식의 YY 변수를 정의합니다. (O)

쉼표 다음에 오는 자료형 예약글 처리...

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

kane의 이미지

'은/는, 이/가, 을/를'도 비슷한 문제죠. 그래도 구별은 할 수 있을 것 같습니다.
하지만 '~면'과 같은 표현은 쥐약이죠.

Quote:
바둑이면 -> "바둑"이면(?), "바둑이"면(?)

따라서 if 구문 형태는 없애고 switch 구문 형태만 사용해야 할 것 같습니다.
Quote:
성별이 // switch(성별)
남자인 경우, 쉣. // case 남자:
여자인 경우, 컴온~. // case 여자:
cppig1995의 이미지

이런 코드를 인터프리팅할 수 있는 날!
한셈틀 프로젝트가 성공합니다.

파일명은 Tutorial.txt 이지만
한셈틀 바탕글의 확장명은 .hcp 가 정상입니다.

댓글 첨부 파일: 
첨부파일 크기
Plain text icon 0바이트

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

1day1의 이미지

cppig1995 wrote:
이런 코드를 인터프리팅할 수 있는 날!
한셈틀 프로젝트가 성공합니다.

파일명은 Tutorial.txt 이지만
한셈틀 바탕글의 확장명은 .hcp 가 정상입니다.

왠지 가독성이 떨어진다는 느낌입니다.
자연어 방식도 좋긴하겠지만, 함축적인 방법으로 가독성을 높이는 것도 좋지 않을까 합니다.

F/OSS 가 함께하길..

khris의 이미지

어디선가 들은, 영어쪽이 프로그래밍 언어에 더 적합하다는 말이 생각나네요.
우리나라말은 조사가 꽤나 많아서 뭐가 뭔지 헷갈릴것 같은데...

───────────────────────
yaourt -S gothick elegant
khris'log

tinywolf의 이미지

'을'도 괜찮고 '를'도 괜찮고 하면 되지 않을까요..
음.. 한글 교육에는 문제가 되겠지만.. ㅎㅎ

ㅡ_ㅡ;

죠커의 이미지

tinywolf님의 의견이 옳습니다. 구별할 필요가 없습니다. 네이티브 한국인에게 가끔 어색한 코드가 보이는 점 빼고는 문제될 부분이 없어 보입니다.

그런데 이 프로젝트는 어떻게 되고 있는 것입니까?

- CN의 낙서장 / HanIRC:#CN

ed.netdiver의 이미지

음, 굳이 자연어 파싱같은것 고민할 필요 없이, 초고수준 언어로 만들어버리세요.
그래서 자연어 파싱도 지가 알아서 하게끔.
예를 들면 이런식.
>>> 초고수준 언어의 컴파일러를 만들어줘.
...3초후,
다 됐습니다, 주인님.
>>> 니가 만든걸로 너를 리팩토링해라.
...3초후,
누구냐, 너!
:)

\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

나는오리의 이미지

'을를는이가'를 제외하는게 좋을듯 합니다.
사실 컴퓨터 언어로 표현하기에 '을를는이가'는 불필요한 부분입니다.
굳이 없더라도 다 알아볼 수 있고
오히려 없는게 가독성이 있어보이고 이해하기도 쉬울듯 합니다.(저만 그런건가요?)

Quote:
주 함수 정의 함

"~~~~~~~" 출력 (함)

주 함수 정의 마침