2

簡単なプログラミング コード テキストを DB に保存する必要があります。アプリケーションはこれらのテキストを読み取り、実際のプログラミング コードに変換します。

良い例は sqlfiddle.com です。このWebサイトでは、SQLコードをWebサイトに配置できます。次にボタンをクリックすると、そのSQLコードのテーブル結果が表示されます。もちろん、sqlfiddle は、入力した Txt ベースのコードをデータベースに格納する必要があります。

もう 1 つの例は、w3schools.com です。これにより、ユーザーは HTML コードを送信することができ、ユーザーはその場で結果を見ることができます。例: http://www.w3schools.com/js/tryit.asp?filename=tryjs_events

私の場合、(if、for、while、+、*、-、/...) などの限定されたキーワードを使用する必要があります。

たとえば、次の 3 つの列を持つ OrderItem というテーブルがあります。

ItemID - 数量 - コスト
商品1 - 10 - 5 米ドル
アイテム 2 - 12 - 2 米ドル
商品3 - 4 - 1 米ドル

テーブル ProgrammingCode もあります

アイテム ID - コード
Item1 - "数量 > 2 の場合、totalcost=10*5 USD、それ以外の totalCost=10*4USD; totalCost を返す"
Item2 - "時間 = 午前 9 時の場合、総費用 = 12*2 米ドル、それ以外の場合、総費用 = 12*1 米ドル。総費用を返す"

注: 現実世界にはさまざまな計算規則があるため、コードは現実世界を表現できる必要があるため、If またはループ & すべての算術演算子を使用する必要があります。

これは私の疑似コード関数ですが、うまくいかないと思います。

    public String covertCode(String textBasedCode){
        String[] eachWord=textBasedCode.split(" ");
        if(eachWord[0].equals("if")){
             //do a lot of checking. how to let the program to know this?
             if(eachWord[2]>2{
                 return 10*5;
             }
             else{
                 return 10*4;
              }
         }
      }

この例では Java を使用しましたが、C++、C# php、または任意のプログラミング言語を使用できます。ロジックを知りたいだけです。

では、テキストベースのプログラミング コード (DB に格納されている) を実際のプログラミング コードに変換するにはどうすればよいでしょうか。

4

5 に答える 5

2

コードを解釈する独自のミニ インタープリターを作成できます。制限したいので、それほど時間はかかりません。

しかし、値を計算するだけなので、数値を保存させて、ルールに従ってコード内で計算を行うことができると思います。ほとんどのデータベースには多くの機能が組み込まれているため、これはデータベース内から行うこともできます。

「テキストベースのプログラミングコード」が「実際のプログラミングコード」とどのように違うのかわかりません。

したがって、これにはインタープリター設計パターンを使用できます。他の方法もあるかもしれませんが、これが私の最善の推測です。それがあなたが探しているものであれば、コードを取得することはできません。

于 2013-08-15T08:25:45.443 に答える
0

難しい方法は、データベース内のコードを解釈することです。より簡単な方法は、C# コードを保存し、それを CodeDOM http://msdn.microsoft.com/en-us/library/y2k85ax6.aspxでランタイム コンパイルすることです。

または、Iron Python をご覧ください。http://ironpython.net/

于 2013-08-15T08:09:33.507 に答える