LangDev

프로그래밍 언어 개발에 관심 있는 사람들의 모임입니다.

C언어를 저만(한글화)의 프로그래밍 언어로 개발하고 싶습니다

2009-01-17 08:40:47

예를들어

printf(“Hello World\n”); 이 있다면

출력하다 :

“안녕 세상”

이런식으로 바꿔 저만(한글화)의 프로그래밍언어로 개발하고 싶은데… C언어로 개발해야 하니까 C언어로 API나 MFC로 만들어야 하나요??

비베언어도 C언어로 개발된 언어잖아요…(맞나? ㅎㄷㄷ)

아, 그리고 게시글 보니까

개발 언어는 어디까지 진행하시나요..? G: 문법규격까지만 제정 P: Parser까지도 구현 아마 메뉴얼도 만드실텐데 문서화 도구로서 어떤 것을 진행 혹은 염두하고 계신지요..?

문법규격, parser, 메뉴얼 이란건 또 뭔가요;;;

제가 만들어 제가 사용할 것이기 때문에 할거면 parser까지 구현과 메뉴얼도 만들꺼거든요„,(뭔진 모르겠지만…)

질문이 좀 많았는데 다 알려주시면 감사효 ㅠㅠ

트랙백 주소: http://langdev.net/post/trackback/243

  1. 디토 2009-01-17 09:18:43

    일반적으로, 프로그래밍 언어의 구현은 다음과 같은 흐름으로 작동됩니다. (정확하지는 않을 수도 있는데, 대략 맞습니다.) 이 중에 어떤걸 먼저 구현할지는 구현하는 사람이 정해도 됩니다. 자세한 내용은 인터넷 찾아보세요. (네이버 같은데 말고, 구글에서 찾으시길 추천합니다)

    1. 구문 분석: 코드를 읽어들여 토큰으로 분리한다.
    2. 파서(parser): 분리된 토큰을 해석(parse)하여 구문 트리(AST; Abstract Syntax Tree)로 만든다.
    3. 최적화: 구문 트리를 분석하여 좀더 빨리 실행될 수 있게 한다.
    4. 실행기(evaluator) 또는 번역기(translator/compiler)
    • 인터프리팅 언어라면 구문 트리를 타면서 바로 실행한다.
    • 컴파일 언어라면 구문 트리를 기계어나 가상 기계의 바이트코드로 바꾼다.

    그런데 1, 2를 하기 위해서는 ‘문법 규격’이 먼저 필요합니다. 여기서 문법이란, 우리가 일상적으로 쓰는 자연어의 문법이나 맞춤법과 마찬가지로 컴퓨터와의 올바른 의사 소통이 가능하게 해줍니다. 즉, 우리가 생각해낸 프로그래밍 언어를 컴퓨터가 정확히 알아듣게 하기 위해 문법을 규정해 놓은 것이 문법 규격입니다. 보통 BNF라는 형식으로 정의합니다.

    언어를 구현할 때는 뭘 쓰든 상관 없습니다. 대부분 이미 있는 프로그래밍 언어를 씁니다.

    매뉴얼은 설명서죠. (컴퓨터 분야 아니라도 많이 쓰는 말인데;;)

  2. 민군 2009-01-17 16:15:38

    BNF,EBNF 외에 다른 표기법이 있을까요? 개개인이 조금씩 변경해 쓰는 변형 BNF나 EBNF같은거 말구요.

  3. t00722 2009-01-17 10:22:08

    워호… 디토님 감사드려요^^ 아, 메뉴얼이 설명서란걸 디토님 덕분에 생각났음 ㅋ

  4. 권민혁 2010-01-15 11:56:48

    민군, Z-expression 이 있습니다. 보통은 컴퓨터 과학을 공부하는 사람들이 아이디어를 formalize 할때 사용하는데요. 익숙하실 겁니다.

  5. 민군 2010-01-22 22:21:59

    오랫만에 댓글이 달렸네요.

    거의 1년만에 새 댓글이네요;

    말해주신거에 대해서는 한번 구글링 해보겠습니다.

    그나저나.. dcinside에서 비슷한 이름을 본것같은데, 그쪽에서도 활동하시나요?

목록보기

← 땅콩 프로그래밍 언어 | Factor 다루는 대학 →