0

知りたいのですが、これは独自のプラットフォームでC#言語構文を使用することは可能ですか?C#がECMAの標準化された言語であることを私は知っています。では、どのように実装できますか?

C#を実装したMonoやUnity3Dなどの例があることは知っています。

たとえば、1つの一般的なクラスライブラリ(独自、Cで記述)とプログラミング言語としてのC#。

問題は、私が以前にそれをしたことがないということです。それで、私は何を読むべきか、そしてどこから始めるべきか興味があります。構文の実装に関する他の記事はどれも良いでしょう。

4

3 に答える 3

3

C#用のコンパイラを作成する場合は、 C#4仕様のコピーと一緒にDragonBookから始めます。しかし、それは非常に多くの作業であり、気の弱い人のためではありません。通常、C#のような複雑なもののコンパイラを作成するには、長年の経験が必要です。

小さい言語、おそらくbrainfuckのような些細な言語から始めるか、既存のおもちゃのコンパイラを調べることをお勧めします。

于 2010-12-22T12:23:35.190 に答える
0

明らかなオプションの1つは、MonoAOTを再ターゲットすることです。たとえば、これがMonoTouchの仕組みです。

難しいルートは、独自のC#パーサー、コンパイラー、およびその標準ライブラリーの大部分を実装することです。

于 2010-12-22T13:00:40.903 に答える
0

パーサー/コンパイラーなどで書く必要がある場合はほとんどありません

私は別の方法でそれを行います。

最初のオプションは、Cアプリケーションから.Netを実行することです。たとえば、Monoを使用できます。説明は次のとおりです:http ://www.mono-project.com/Embedding_Mono

2番目のオプションは、C#アプリケーションから直接cクラスライブラリを使用することです。それらを宣言する方法については、たとえばhttp://www.pinvoke.net/を確認してください。

于 2010-12-22T13:09:49.210 に答える