next up previous contents
: 現在検討中の機能 : サーバスタックマシン :   目次

グループ SMobject/Basic に属するオペレータ

  1. SM_pops
    
    operand stack より, n 個の元 (obj1, obj2, $\ldots$, objn を pop して捨てる.

    Stack before the request:
    obj1 obj2 $\cdots$ objn Integer32 n

    Request:
    int32 OX_COMMAND int32 SM_pops

    Output: none.

  2. int SM_setName
    
    OperandStack より name を pop し, つぎにOperandStack より obj を pop し, それを現在の名前空間で変数 name に bind する. 正常終了なら 0 を, 異常終了なら -1 をもどす. TCP/IP によ る通信では, 異常終了の時のみ, CMO_ERROR2 をstack へ push する.

    Stack before the request:
    obj String name

    Request:
    int32 OX_COMMAND int32 SM_setName

    Output: none.

  3. SM_evalName
    

    現在の名前空間で変数 name を評価する. 評価の結果 OutputObj をスタックへ戻す. 関数自体は正常終了なら 0 を, 異常終了な ら -1 をもどす. TCP/IP の場合, 異常終了の場合のみ CMO_ERROR2 を stack へ push する.

    Stack before the request:
    String name

    Request:
    int32 OX_COMMAND int32 SM_evalName

    Stack after the request:
    OutputObj

    Output: none.

  4. SM_executeFunction
    
    スタックより n 個のデータを pop して, サーバのローカル関数s を実行する. エラーのときのみ CMO_ERROR2 を stack へ push す る.

    Stack before the request:
    objn $\cdots$ obj1 INT32 n String s

    Request:
    int32 OX_COMMAND int32 SM_executeFunction

    Stack after the request: 関数実行の結果.

    Output: none.

  5. SM_popSerializedLocalObject
    

    スタックより pop した object を local 形式で serialization して OX message として stream へ出力する. OX message tag としては, local 形式に対応したものが定義されていることが必要である. この関数はおもに, homogeneous な分散システムで用いる.

  6. SM_popCMO
    

    OperandStack より object を pop し CMO 形式の serialized object を stream へ header OX_DATA をつけてながす.

    Request:
    int32 OX_COMMAND int32 OX_popCMO

    Output:
    int32 OX_DATA Serialized CMO

  7. SM_executeFunctionWithOptionalArgument
    
    スタックより n 個のデータおよび一つの optional 引数 opt を pop して, サーバのローカル関数s を実行する. エラーのときのみ CMO_ERROR2 を stack へ push す る. opt はキーワードと値のリストのリストである. キーワードは文字列型である.

    Stack before the request:
    objn $\cdots$ obj1 INT32 n Obj opt String s

    Request:
    int32 OX_COMMAND int32 SM_executeFunctionWithOptionalArgument

    Stack after the request: 関数実行の結果.

    Output: none.

    Example of opt : (("p", 13),("vars",("x","y")))

    [Added in 2004-3-8]


next up previous contents
: 現在検討中の機能 : サーバスタックマシン :   目次
Nobuki Takayama 平成28年8月27日