fsyacc

    4

    3答えて

    私は次のようなシンプルな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

    2

    1答えて

    Cアプリケーションを.Netに翻訳して、タスクを自動化する方法を考えたいと思います。私は "解析"やCファイルをコンパイルする必要はなく、むしろプロジェクト構造を再作成し、Cファイルに対応する.Netクラスを作成したい.YACC/LEXツールや他のパーサージェネレータ? CコードからASTを作成できたら、おそらくC#コードを取得できますか?考え直しで からC++から変換するにはcode2codeを

    1

    1答えて

    私はF#でコンパイラを作成しようとしており、F#powerpackに付属のFslexとFsyaccツールを見ています。私が理解しようとしている外部ビルドツールを処理するサンプルプロジェクトがあります。それはhereをダウンロードすることができます。この例は私のためにコンパイルされて実行されますが、文法には微妙な誤りがあると思います。文法は、式を解析するためのドラゴンブックで見たものと似ていて、私は

    3

    1答えて

    FSYaccを使用してパーサーを生成すると、スレッドセーフになりますか? 機能 Parsing.rhs_start_posとParsing.symbol_end_pos がは、彼らが現在を取得していることを前提とするために私につながるそれらに渡される任意の状態を、持っているを表示されませんので、私は尋ねる唯一の理由があります共有ロケーションからの非ターミナル/シンボル、これは正しいですか?私は、彼

    5

    3答えて

    私はvs 2013で動作するように私が2008年に働いていた古いf#パーサープロジェクトを復活させようとしています。それはFsLexYaccを使用します。 私はそれがためとして事前に作成ステップを使用して、[OK]を構築しました: fslex --unicode "$(ProjectDir)XpathLexer.fsl" fsyacc --module XpathParser "$(Projec

    4

    1答えて

    私はF#Power Packのfsyacc/fslexを使ってソースコードを解析しています。 use inputChannel = new StreamReader(File.OpenRead tempFileName) let lexbuf = Lexing.LexBuffer<_>.FromTextReader inputChannel let ast = try Par