環境
- のWindows 8.1の64ビット
- のMicrosoft Visual Studioの
- C#私はC#でのミニ言語を実装するには
をやろうとしている何ミニ言語の実装方法は?
私の仕事私n私の会社は、企業製品の性能評価を自動化するソフトウェアを作ることです。評価は、バルブを開き、化学薬品を流し、センサーから信号を取り込み、いくつかの値を計算することなどを含む。
問題は、反応時間の長さ、反応管が流出するかどうかにかかわらず、プログラマはソースコードを変更し、ユーザがそれを必要とする度に別のソフトウェアを構築しなければならない。
私はC言語でミニ言語を実装しようとしています。ユーザーは分かりやすい言語で測定手順を編成できます。ユーザーはtxtファイルにコードを書き、私のソフトウェアはそれを読み取り、コードの各行を解析し、コマンドとパラメータを抽出し、ソフトウェアの対応するメソッドを呼び出します。
たとえば、ユーザがopen_valve(3)
のようなコード行を書き込むと、自分のソフトウェアがコードを読み込み、send_commands_to_ADconverter(VALVE, 3)
という内部メソッドを呼び出し、適切なコマンドをコンピュータに接続されたA/Dコンバータ経由でターゲットバルブに送信します。これが私の考えです。
しかし、プログラミングスキルが不足しているため、どこから始めたらいいか分かりません。どのような技術が利用可能ですか?目標を達成するためのキーワードは何ですか?どうすればこの目標を達成できますか?どんな助けもありがとう。ありがとう。
編集1
c# - Adding scripting functionality to .NET applications - Stack Overflowは私の目的のために重要であるので、これは上記のリンクの重複問題では不明であるA/D変換器を介してセンサ、バルブなどの外部デバイスへのアクセスを参照していません。
私はあなたのためにC言語でミニ言語を実装する必要はないと思います。私は、ユーザーの入力を受け取り、それに基づいて一連の操作を実行できるシステムが必要であることを理解しています。ユーザーが「どのように」操作を実行する必要がある場合は、操作を複雑にすることなく実行することもできます。たとえば、メソッドのパラメータとしてデリゲートすることができ、そのデリゲートを外部から渡すことができます。 –
あなたが探しているのは、アプリケーションをスクリプト化できるようにしているようです。 [ここ](http://stackoverflow.com/q/260/162671)と[ここ](http://stackoverflow.com/q/462311/162671)(お気に入りの検索エンジンを使用してさらに見つけることができます) 。 – Nasreddine
あなたの編集に関しては、スクリプトにどのようなインタフェースを公開しても問題ありません。それはあなた次第です。スクリプトは単にあなたのメソッドを呼び出します。 – Luaan