1

私は自分でスクリプト言語を作成しようとしています (完璧である必要はありませんが、完璧であれば素晴らしいことです)。

ここの答えによると、私が調べているはずのスクリプト言語の作成はこれです: http://msdn.microsoft.com/en-us/library/xawadt95%28VS.85%29.aspx。しかし、その MSDN ページが何について書かれているのか、まったくわかりません。

誰か助けてくれませんか?

PS Windows Script Host を対象とするフリー/オープン ソースのスクリプト言語はありますか? また、私が試してみることができる完全なソース コードも用意されていますか?

ありがとうございました

4

2 に答える 2

4

楽しみのために、また言語の作成方法を学ぶためにこれを行っている場合は、Windows Script Host から遠く離れることをお勧めします。 代わりに、より良い例から学んでください。最初のステップとしては、http://www.lua.org/にアクセスし、言語を学習し、実装方法を読んで、独自のものを作成することをお勧めします。言語の観点からは恐ろしい言語ですが、実装が非常に簡単なのはTclです。Ousterhout の元の Usenix ペーパーから始めます。

独自のプログラミング言語の設計と実装に関する優れた本をお勧めできれば幸いです。私は一度も見たことがありません。(私はこれらの線に沿っていくつかの悪い本を見てきましたが、著者を軽視したくないので、特定しません。)しかし、良い大学図書館で質の高い時間を過ごすことができれば、興味深いものを見つけることができます.論文。また、Friedman と Wand の著書Essentials of Programming Languagesを確認することも価値があると思われるかもしれません。これは非常に技術的な内容ですが、インタープリターの作成に関する優れた内容が含まれています。PJ Brown によるWriting Interactive Compilers and Interpretersという優れた (しかし非常に古い) 本もあります。

于 2010-03-17T01:55:36.143 に答える
0

単純なスクリプト インタラプタを作成する最も簡単な方法は、ソース コードを改行文字で配列に分割し、各メンバーを循環させることです。以下は文字列の例です。 source = @" print Hello World! stop "); foreach(string a in source.split('\n')) { if(a.StartsWith("print ")) { Console.WriteLine(a.Substring(6)); } if(a == "stop") { Console.ReadLine(); }

于 2011-07-24T21:25:26.460 に答える