2011-11-05 14 views
8

まず、コードとアプリケーション環境とのやり取りを行うためのプログラミング言語がほしいと思っています。 ifvoidfunctionというスコープの変数はもちろん、すべてが完璧に動作する組み込み関数を呼び出すようなインタプリタのようなものを書いています。しかし、私は今、いくつかの部分に立ち往生しており、単純なテキスト解析では続行できず、私ができないことがたくさんあることを認識しています。C#でプログラミング言語を作成

だから、私はこの話題について調べて、Creating programming language using C#を得ました。それは問題ありませんでしたが、私はそれに2つの問題があります。

  1. 私はそれを理解できません。
  2. コンソールコードを生成しますが、winappsで使用します。略して

おかげで...誰もが私はレクサー、反射のようなコースを通過せずに自分の言語を作ることができる方法を知っているあります。

+8

「ショート_for、ですどのように私はレクサー、反射のようなコースを通過することなく私自身の言語を作ることができます知っている誰か... _ "...うーん、いいえ。独自の独自の言語を作成する方法を理解するためには、基本を学ぶ必要があります。これは何のために必要なのですか?スクリプト言語をアプリに組み込むことができるDLRがあれば十分でしょうか? – driis

+5

これは学習の仕事ですか?または、実際に**何かをしようとしていますか?後者の場合は、 "鉄"(鉄のpython、鉄のルビーなど)、boo、f#、JavaScriptエンジンなど、C#の内部で使用できるスクリプト言語がたくさんあります。おそらくルア、etc ... –

+0

それはタスクを学習していないと私は私のエンジンのためにこれが必要!私は素晴らしい2Dレベルのエディタを作りました。私はそれをコードとやり取りしたいと思います。 DLR?うーん、私はそれを見たが、その名前を知らないと思う。ああ! DLR私はそれが忘れていた、ええ、私は埋め込むことはなかった。私はそれを試してみるべきです。 – MahanGM

答えて

2

あなたの言語を作成することは可能ですが、非常に困難です。あなたはレクサーのようなものがなければうまくやることはできません。

独自の言語を作成すると、クライアントにはさらに別の言語を習得させる必要があり、この推定言語用のサードパーティのコードやライブラリは存在しません。

これに代わる方法として、既存の言語を埋め込み、アプリケーションの機能を公開する方法もあります。 Pythonは埋め込みのための非常に一般的な選択の1つですが、他にも多くのオプションがあります。この作業では、自分で作成するよりも、既存の言語を埋め込むことを検討することを強くお勧めします。

+0

なぜこれがダウン表示されますか? –

+0

うん、そうだよ。返信ありがとう。 – MahanGM

4

あなたの質問が本当に分かりますか分かりません。

これはプログラムの拡張版ですか? C#で書かれたライブラリ関数のコレクション?

または、C#で通訳を書いている完全に別の言語ですか? (これは私が推測しているものです)

後者の場合、古き良き時代にLex/Yacc(GIYF)を指摘したでしょう。

今はANTLRとしか言えません。 Five minute introduction to ANTLR 3ANTLR v3 C# Code generator and Runtime library

ちょうどこのページの上にIDEのスクリーンショットをチェックアウト

enter image description here

enter image description here

+0

ありがとうございます。とても素敵ですね!私は今それを試してみましょう。 – MahanGM

関連する問題