おなまえ
Eメール
タイトル
コメント
参照先
アイコン [アイコン参照]
暗証キー (英数字で8文字以内)
文字色
Re: [文字列置換を使って日本語プログラミング 投稿者:宮平 投稿日:2012/03/03(Sat) 22:32 No.32

inu1.gif こんばんは 宮平と申します。

文字列置換を使ってSugarSyntax、日本語プログラミングをやろうと勉強しています。
プロデルの機能として文字列置換を使ったSugarSyntaxができるようにしてもらえないでしょうか?
予約語としてではないです。

あと、どうしてこういった文字列置換でSugarSyntaxをするという考えをする人が出てこないのでしょう?開発環境に実装されていても可笑しくない機能だと思います。


Re: [文字列置換を使って日本語プログラミング 投稿者:ゆうと 投稿日:2012/03/03(Sat) 23:04 No.33

nezu.gif こんばんは ゆうとです。
ご意見ありがとうございます。

> 文字列置換を使ったSugarSyntax
というのは、糖衣構文のことでしょうか?
具体的にはどういった時に、どういった書き方ができることでしょうか?

ご教授いただければ幸いです。


Re: [文字列置換を使って日本語プログラミング 投稿者:宮平 投稿日:2012/03/04(Sun) 07:59 No.34

inu1.gif すみませんSyntaxsugarでした・・・

「こんにちは、プロデルへようこそ」を表示する、を
print("こんにちは、プロデルへようこそ")、に文字列置換してluaでプロデルの書き方を行うことができます。
完全にプロデルの書き方を他の言語に代用するのは難しいと思いますが。
自然言語のように新しい言い回しを作ることが簡単に出来るようになれば面白いです。

翻訳ソフト並の文字列置換機能を持った開発環境が必要になります。
ユーザー辞書も単純に文字列置換するだけのものではなく、条件によって複雑に変わる文字列置換の設定が出来る物が必要です。


Re: [文字列置換を使って日本語プログラミング 投稿者:ゆうと 投稿日:2012/03/05(Mon) 23:52 No.35

nezu.gif こんにちは ゆうとです。

> 文字列置換してluaでプロデルの書き方を行うことができます

おそらく、それは糖衣構文(シンタックスシュガー)というよりもコードジェネレータに近いのだと思います。
糖衣構文は、主に同じ言語の中で、長い表記になる構文を省略して短く書くことができる構文を指すことが多いような気がします。
宮平さんの話は、単に「簡単に書く」ということよりも、プロデルなどで書いた日本語プログラムを他の言語へ変換するということなのだと思います。

> 文字列置換でSugarSyntaxをするという考えをする人が出てこないのでしょう?

そういう意味でプロデルから他の言語のコードを生成するプログラムがあっても面白いとは思います。
ただ逆になぜ、プロデルで動かすことができるプログラムをわざわざ他の言語に置き換えてから、コンパイルする必要があるのでしょうか、と思うこともできませんか?

例で頂いたような、簡単なプログラムであれば、単純な置き換えで対処できますが、
プロデルは単に言語の違いだけでなく、クラスライブラリも日本語的に書けるような工夫をしてプロデル用に開発しています。
その違いが単純な置き換えでできる、というわけではないと思います(やってみるとわかると思います)

何がしたくて、当初のSyntaxsugarのようなことがやってみたいかによってくると思います。


Re: [文字列置換を使って日本語プログラミング 投稿者:宮平 投稿日:2012/03/06(Tue) 07:41 No.36

inu1.gif 宮平です

>ただ逆になぜ、プロデルで動かすことができるプログラムをわざわざ他の言語に置き換えてから、コンパイルする必要があるのでしょうか、と思うこともできませんか?

Javaなど普及している英語的な言語を日本語的にできれば素晴らしいですし、それも馴染みのある日本語プログラミングに近ければなお良いです。
書き方より何が出来る言語でそれを如何に見つけ出すかが大変で、コードジェネレータによる日本語化は資料集めの手助けになると思います。
書き方も見やすさで大切だと思います。

実際に試すことの出来るソフトがあれば良いのですけれど、単純な置換しかできないソフトばかりです。自作するしか無いみたいです。

なでしこの酒徳さんも前に機械翻訳で日本語プログラミングなどと考えたことがあるそうです。
「トークン分割→意味解析→コード変換」までの処理を作る必要があります、と言われて手間が言語一つを作るより掛かるらしいようですが、一つの言語を作るのにトークン分割→意味解析の部分は考えなくても良かったりするのですか?
翻訳エンジンも自前で作る必要がある、と言われましたがプロデルを作るのに複雑な文字列置換のプログラムを組む必要はなかったのですか?


Re: [文字列置換を使って日本語プログラミング 投稿者:ゆうと 投稿日:2012/03/06(Tue) 21:00 No.37

nezu.gif こんにちは ゆうとです。

> プロデルを作るのに複雑な文字列置換のプログラムを組む必要はなかったのですか?

プロデルは、プログラムを文字列置換する(C#などのプログラムへ文字列レベルで置き換える)
という発想で実現しているわけでありません。
Javaと同じように、字句解析し、構文解析し、構文木を構築し
中間表現に置き換えてプログラムを実行しています。

> 一つの言語を作るのにトークン分割→意味解析の部分は考えなくても良かったりするのですか?

なでしこの実装方法がどのようになっているかは知りませんが...
JavaやC言語では、字句解析、構文解析、意味解析を順番に行えば良いのですが
日本語プログラミングの場合、区切り文字がない(スペースや記号で単語が区切れるわけではない)ので
字句解析と構文解析、意味解析を同時に行う必要があります。
その部分は、確かに難しい部分です。

近いうちに、条件式については、プロデルで書かれたプログラムの解析結果を利用できるような
仕組みに対応する予定ですが、プログラム全体を、他の言語に置換することがプロデルの目標ではないので
その点は、優先度は低いと思います。

では。


- YY-BOARD -