2012-04-24 11 views
4

基本的には独自の構文を持っていて、コンパイルが別の言語に変更された後に、コーヒースクリプトのようなプログラミング言語を開発するために知っておく必要がある最初の要件は何ですか?私はそれについてGoogleをしましたが、正解を見つけることができませんでした。Coffee Scriptのようなプログラミング言語を開発する方法は?

+4

私は誘惑の嫌いな人のように聞こえないようにしようとしていますが、実際にあなたが求めていることは、おそらくあなたが今このような冒険を始めることを避けていないことを意味します。この警告が出されて、私以外の人が紹介資料へのリンクを提供できるようになることを願っています。 –

+0

おそらく、あなたはcoffeescriptコンパイラがどのように動作するのかを理解することから始めることができますか? –

答えて

6
  • EBNFのようなもので、基本的な​​であなたの言語を指定します。

    statement  = if-statement 
           | return-statement 
           | expression 
           | ... 
    
    if-statement  = "if" "(" expression ")" "{" statements "}" 
    
    return-statement = "return" expression ";" 
    
    ... 
    
  • recursive descentoperator precedenceことにより、簡単なparsingについて学びます。

  • ソースファイルからabstract syntax treeを作成するパーサーを作成します。

  • このASTをターゲット言語に変換するcode generatorと記述してください。または

  • ASTを評価するだけのinterpreterを書きます。

+0

+1 Prattパーサーのために、彼らは一番素晴らしいパッシングアルゴリズムIMHOです。 – delnan

+0

@delnan:彼らはかなり素晴らしいです。 –

0

初期の要件は次のとおりです。

  • は、あなたの新しい言語の構文
  • がターゲット言語に新しい言語の構文の地図の開発ターゲットコンピュータ言語
  • を決定します。

あなたはまだ多くの作業を進めていますが、基本的には新しい言語をターゲット言語に翻訳しています。

関連する問題