基本的には独自の構文を持っていて、コンパイルが別の言語に変更された後に、コーヒースクリプトのようなプログラミング言語を開発するために知っておく必要がある最初の要件は何ですか?私はそれについてGoogleをしましたが、正解を見つけることができませんでした。Coffee Scriptのようなプログラミング言語を開発する方法は?
答えて
EBNFのようなもので、基本的なであなたの言語を指定します。
statement = if-statement | return-statement | expression | ... if-statement = "if" "(" expression ")" "{" statements "}" return-statement = "return" expression ";" ...
recursive descentとoperator precedenceことにより、簡単なparsingについて学びます。
ソースファイルからabstract syntax treeを作成するパーサーを作成します。
このASTをターゲット言語に変換するcode generatorと記述してください。または
ASTを評価するだけのinterpreterを書きます。
+1 Prattパーサーのために、彼らは一番素晴らしいパッシングアルゴリズムIMHOです。 – delnan
@delnan:彼らはかなり素晴らしいです。 –
初期の要件は次のとおりです。
- は、あなたの新しい言語の構文
- がターゲット言語に新しい言語の構文の地図の開発ターゲットコンピュータ言語
- を決定します。
あなたはまだ多くの作業を進めていますが、基本的には新しい言語をターゲット言語に翻訳しています。
良い最初のステップはProgramming Languages: Application and Interpretationです。通訳を使って言語を設計し実装する方法を教えてくれます。
- 1. Coffee ScriptでType Scriptクラスを使う方法は?
- 2. Javaプログラミング言語とアンドロイドの開発
- 3. これはどのようなプログラミング言語なのですか?
- 4. プログラミング言語をあおる方法
- 5. Coffee-Script NodejsとMongoose
- 6. ウェブ開発のためのプログラミング言語の提案
- 7. Windows Phoneアプリケーションの開発にはどのようなプログラミング言語が必要ですか?
- 8. プログラミング言語の開発環境としてのEclipseプラグイン
- 9. これはどのようなプログラミング言語ですか?
- 10. GoogleTalkアプリケーションはどのようなプログラミング言語で開発されていますか?
- 11. n/wプログラミング+ウェブ開発に最適なスクリプト言語は何ですか
- 12. プログラミング言語の文法
- 13. vimgolfのようなプログラミング言語に関するウェブサイト?
- 14. 複数の開発言語を使用する方法
- 15. クロスプラットフォームモバイル開発言語
- 16. C#のようなイベントがDプログラミング言語にあります
- 17. プログラミング言語でバイナリフィールドを表現する方法は?
- 18. プログラミング言語
- 19. NesCプログラミング言語
- 20. なぜプログラミング言語が
- 21. 不思議なプログラミング言語
- 22. Android開発用の言語
- 23. スキームのプログラミング言語
- 24. プログラミング言語アナライザの完全なリストは?
- 25. Jプログラミング言語での配列言語
- 26. プログラミング言語で整数のアクセプタを設計する方法C
- 27. 行列をCプログラミング言語の力にする方法
- 28. プログラミング言語のオートコンプリートを実装する方法
- 29. オブジェクト指向プログラミング言語とオブジェクト指向プログラミング言語の違い
- 30. これはどのようなプログラミング言語ですか(imacros_scripts)。 .iimで終わる?
私は誘惑の嫌いな人のように聞こえないようにしようとしていますが、実際にあなたが求めていることは、おそらくあなたが今このような冒険を始めることを避けていないことを意味します。この警告が出されて、私以外の人が紹介資料へのリンクを提供できるようになることを願っています。 –
おそらく、あなたはcoffeescriptコンパイラがどのように動作するのかを理解することから始めることができますか? –