誰かが正しい方向に向かうことができますか?私はlexのパーサを持っています。これはC#で使いたい人、 ?CをC#(特にlex)に組み込む方法
EDIT:具体的には、数式とXMLを解析したいと思います。
誰かが正しい方向に向かうことができますか?私はlexのパーサを持っています。これはC#で使いたい人、 ?CをC#(特にlex)に組み込む方法
EDIT:具体的には、数式とXMLを解析したいと思います。
CコードでDLLを作成し、C#でPlatformInvokeメカニズムを使用することができます。
2つのプロジェクトを含むソリューションを作成することもできます.1つはc/C++ソースを含むライブラリプロジェクトで、もう1つはc#です。
そこにはいくつかのC#Lexプロセッサがあります。例えば:
あなたが(例えばおよびないのSilverlightまたはCompact Frameworkの上)のみのデスクトップ/サーバーアプリケーションでは、このモジュールを使用する場合は、CLRをサポートしてあなたのC/C++コードをビルドし、それを使用することができますC#から。
私は大成功を収めたC++バージョンのflexを使用しています。
http://www.kohsuke.org/flex++bison++/
から
あなたは窓が事前に構築され得ることができたバイナリは具体的に、私は(ブースト::精神のためにあまりにも多くの)ダース以上のルールのEBNF文法を解析するために、これを使用しています
IF a > 10 AND b < -22 THEN OUTPUT X
などの文を入力ユーザースクリプトとして使用しているので、あなたが言及している数式には問題ありません。
XMLの解析は、別の話です。なぜXMLを解析するためのライブラリがたくさんあるのでしょうか。 TinyXML()とCMarkup(http://www.firstobject.com/dn_markup.htm)があり、両方ともいくつかのプロジェクトでうまく使用しています。
[C#からC++コードを呼び出すことができますか?](http://stackoverflow.com/questions/935664/possible-to-call-c-code-from-c) –
http:// stackoverflowを参照してください。 .com/questions/540593/lex-yacc-for-cまた、解析する内容に応じてC#Expression Treesが好きかもしれません。 –
@DavidLively私は質問を編集しました。私はリンクのおかげで見てみましょうありがとう。 – mihajlv