수업시간에 문득 한글 변수를 사용할 수 있다는 사실을 깨달았다. 그리곤 변수 이름 말고 함수들도 다 한글로 쓰면 재밌겠다는 생각이 들었다. 물론 이러한 생각은 한국에 거주하는 수 많은 개발자가 떠올렸을 법한 생각이다. 당시 SlefRef나 주소값에 대해 조금씩 개념을 익혀가던 찰라였기에 단지 #define만 사용하는 것이 아니라 C#과 비슷한 구조를 가진 한글 코딩을 구현하고 싶었다. 뿐만아니라 최종적으로 많은 알고리즘과 자료구조를 직접 구현하고 한글로 사용할 수 있도록 하고싶다.

아래는 예제이며 최근 업데이트를 통하여 자연스러운 어구를 구사할 수 있도록 많은 단어를 추가하였다.


Example 1: “안녕 세상!”

1
2
3
4
5
6
7
#include "korcoding.h"

정수형을반환하는 진입점(공백)
{
	입출력.출력("ㅎㅇ 월드!").새행();
	반환 0;
}


Example 2: “만약? 아니면!”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "korcoding.h"

정수를반환하는 진입점()
{
	정수형인 김철수의_점수;
	입출력.출력("철수의 점수를 입력하세요 : ").입력(김철수의_점수);

	만약에(김철수의_점수 > 90)
	{
		입출력.출력("역시나 철수는 똑똑합니다.").새행();
	}
	혹은(김철수의_점수 <= 90 그리고 김철수의_점수 > 80)
	{
		입출력.출력("그래도 철수는 똑똑합니다.").새행();
	}
	또는(김철수의_점수 <= 80 그리고 김철수의_점수 > 70)
	{
		입출력.출력("아직도 철수는 똑똑합니다.").새행();
	}
	또는(김철수의_점수 <= 70 그리고 김철수의_점수 > 60)
	{
		입출력.출력("아직까진... 철수는 똑똑합니다.").새행();
	}
	아니면
	{
		입출력.출력("철수는 똑똑합니까?").새행();
	}
	반환 0;
}


Example 3: “함수”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "korcoding.h"

진실혹은거짓 맞춰봐__몸무게(정수인 인자)
{
	만약(인자 == 70)
	{
		반환 진실;
	}
	아니면
	{
		반환 거짓;
	}
}

정수형을반환하는 진입점(공백)
{
	정수형인 몸무게 = 0;
	입출력.출력("나 몸무게 몇이게? ").입력(몸무게);

	진실혹은거짓  = 맞춰봐__몸무게(몸무게);
	만약( == 진실)
	{
		입출력.출력("오....").새행();
	}
	아니면
	{
		입출력.출력("틀렸데요!").새행();
	}
	반환 0;
}


Example 4: “포인터와 참조”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "korcoding.h"

정수를반환하는 진입점()
{
	정수 내정수 = 7;
	정수 포인터 내정수_참조;

	내정수_참조 = 참조 내정수;
	입출력.출력("내 정수 참조의 값은 : ").출력(포인터 내정수_참조).새행();

	증가 포인터 내정수_참조;
	입출력.출력("내 정수의 값은 : ").출력(내정수).새행();

	반환 0;
}


Example 5: “클래스”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "korcoding.h"

객체인 사람{
숨김:
	정수형인 나이;
	정수형인 ;
공개:
	사람(정수형인 나이, 정수형인 ) : 나이(나이), () {}

	정수를반환하는 나이_보기()
	{
		반환 나의->나이;
	}
	정수를반환하는 _보기()
	{
		반환 나의->;
	}
	반환하지않는 나이_설정(정수형인 나이)
	{
		나의->나이 = 나이;
	}
	반환하지않는 _설정(정수형인 )
	{
		나의-> = ;
	}
};

정수를반환하는 진입점()
{
	사람 배진오(25, 177);
	입출력.출력("배진오 님의 나이는 : ").출력(배진오.나이_보기()).새행();
	입출력.출력("배진오 님의 키는 : ").출력(배진오._보기()).새행();
	반환 0;
}


Example 6: “문자열 자르기”

1
2
3
4
5
6
7
8
9
10
11
12
13
#include "korcoding.h"

정수형을반환하는 진입점(공백)
{
	문자형인 _정보[] = "배진오,25,블로거";
	문자형인 이중포인터 잘라진__정보 = 문자열.자르기(_정보, ',');

	입출력.출력(잘라진__정보[0]).새행();
	입출력.출력(잘라진__정보[1]).새행();
	입출력.출력(잘라진__정보[2]).새행();

	반환 0;
}
WRITTEN BY

배진오

하고싶은 건 다 하면서 사는게 목표
im@baejino.com

comments powered by Disqus