4

次のような単純な DSL 言語を解析する必要があります。

import "library.txt"

def <int, bool, byte> main(int param1, bool param2)
{
    var a = f4(param1); // or var d = f1(f2(f3(f4(param1))));
    var b = f3(a);
    var c = f2(b);
    var d = f1(c);

    return <d, param2, b0>;
}

この種の言語を解析するのに最も適したツールは何ですか?

4

3 に答える 3

4

Lex / Yaccは通常、複雑な文法を持つ完全な言語に適しています。短い半単純なタスクがある場合、Parsecはより高速に動作します。あなたの場合、Lex/Yaccの方がはるかに適していると思います。

于 2011-07-21T12:15:29.887 に答える
4

FParsecとパーサージェネレーターツール(fslexやfsyaccなど)および「手書き」の再帰下降パーサーとのこの箇条書きの比較は、利用可能な選択肢から選択するのに役立ちます。

于 2011-07-21T18:47:53.140 に答える
1

この種の言語を解析するのに最も適したツールは何ですか?

アクティブなパターンを使用します。

于 2013-10-05T02:55:03.547 に答える