한글 프로그래밍 언어에 관해 궁금한점이 있습니다.

ozon1000의 이미지

제목은 이렇게 거창하지만 현재 구상하고 있는 것은 완벽한(?) 한글 프로그래밍 언어 설계 및 구현이 아닙니다.

제가 지금 생각하고 있는 것은 다음과 같습니다.
만약에 C언어라고 생각하고 예를 들면

int a = 10;
printf("%d", a);

라는 코드가 있다고 가정하면

정수 가 = 10;
출력("%정", 가);

라고 사용하고 싶습니다.

그냥 번역기(?)정도로 생각해도 될 듯 합니다.
처음 이런 작업을 구상하고 실행하려고 하는거라 어떻게 시작하고 구글링에 어떤 키워드로 검색해야 할지 느낌이 안와서 이렇게 문의글을 남기게 되었습니다. 분명 쉬운 방법이 있는거라 생각하는데 딱히 떠오르지 않는 제가 답답하네요...

가르침 부탁드립니다.
읽어주셔서 감사합니다.

ozon1000의 이미지

이렇게 사용하고자 하는 언어는 python입니다.
구체적으로 micropython 입니다!
임베디드 개발에 사용되는 언어인데, 무척 간단하다 보니(문법) 한글로 사용할 수 있으면 초보자들 교육에도 많은 도움이 될 것이라는 생각을 했습니다!

세벌의 이미지

Python GTK+ 3 Tutorial 참고하셔요.
http://python-gtk-3-tutorial.readthedocs.io/en/latest/

위 문서에 대한 한국어 번역(진행중)도 있습니다.
https://github.com/sebuls/PyGObject-Tutorial

도움 되시길.

ozon1000의 이미지

GTK+3을 사용하면 한글 프로그래밍 언어를 만들 수 있나요??
이해가 잘 안되네요.

...!의 이미지

python3 에서는 90% 이미 됩니다. REPL에서 시도해보세요.

>>> 곰돌이=10
>>> 출력=print
>>> 출력(곰돌이)
10

문제는 keyword가 영어로 되어 있다는 것이지요. 또 한글로 바꾸다 보면 우리말 어순에 맞춰서 문법을 조금 바꾸고 싶은 유혹이 생길 수도 있을 것 같습니다. 혹시 파이썬에 대한 간단한 매크로 시스템이 있다면 쉽게 해결될 문제인데 활발히 진행중인 프로젝트는 못 찾겠네요. 그렇다면 직접 lexer/parser를 만드셔야 할텐데 많이 쓰이는 parser generator들이 이미 python에 대한 문법 정의를 가지고 있을 겁니다. https://github.com/webmaven/python-parsing-tools 를 참고해보세요. 이런 녀석들을 적당히 응용하면 크게 어렵지 않게 실현할 수도 있을 겁니다.

ozon1000의 이미지

마이크로파이썬은 python3의 일부 모듈을 가져와서 만들어졌습니다.
따라서 python3의 자식(?) 이라고 봐도 무방하지요.
신기하네요 테스트 해보니 python3에서 한글 키워드 사용이 가능했네요?
처음 알게되었습니다.
감사합니다.

아 그리고!
제가 생각해도 한글 어순에 맞게 사용하려면 따로 파싱을 하는 무언가가 필요할 것이라고 생각은 하고 있었습니다. 알려주신 url 감사드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.