Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/tecsgen/tecslib/plugin/HRP2SVCPlugin.rb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby; charset=UTF-8
    r317 r318  
    66#   Copyright (C) 2008-2014 by TOPPERS Project
    77#--
    8 #   ä¸Šè¨˜è‘—作権è€
    9 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10 #   ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
    11 #   å¤‰ãƒ»å†é
    12 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    13 #   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    14 #       æ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定が,そのままの形でソー
    15 #       ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã«å«ã¾ã‚Œã¦ã„ること.
    16 #   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    17 #       ç”¨ã§ãã‚‹å½¢ã§å†é
    18 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    19 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    20 #       è€
    21 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    22 #       ã®ç„¡ä¿è¨¼è¦å®šã‚’掲載すること.
    23 #   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    24 #       ç”¨ã§ããªã„形で再é
    25 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    26 #       ã¨ï¼Ž
    27 #     (a) 再é
    28 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    29 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    30 #         ä½œæ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定を掲載すること.
    31 #     (b) 再é
    32 å¸ƒã®å½¢æ
    33 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    34 #         å ±å‘Šã™ã‚‹ã“と.
    35 #   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    36 #       å®³ã‹ã‚‰ã‚‚,上記著作権è€
    37 ãŠã‚ˆã³TOPPERSプロジェクトをå
    38 è²¬ã™ã‚‹ã“と.
    39 #       ã¾ãŸï¼Œæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒ¦ãƒ¼ã‚¶ã¾ãŸã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã„かなる理
    40 #       ç”±ã«åŸºã¥ãè«‹æ±‚からも,上記著作権è€
    41 ãŠã‚ˆã³TOPPERSプロジェクトを
    42 #       å
    43 è²¬ã™ã‚‹ã“と.
     8#   上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     9#   ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10#   変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11#   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12#       権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13#       スコード中に含まれていること.
     14#   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15#       用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16#       者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17#       の無保証規定を掲載すること.
     18#   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19#       用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20#       と.
     21#     (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22#         作権表示,この利用条件および下記の無保証規定を掲載すること.
     23#     (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24#         報告すること.
     25#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26#       害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27#       また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28#       由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29#       免責すること.
    4430
    45 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    46 ãŠ
    47 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    49 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    50 #   ã®è²¬ä»»ã‚’負わない.
     31#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35#   の責任を負わない.
    5136
    5237#++
    5338
    54 # mikan through plugin: namespace が考æ
    55 ®ã•ã‚Œã¦ã„ない
    56 # これを利用する場合、以下のように toppers_jsp.cdl sChannel.cdl を指定するå¿
    57 è¦ãŒã‚ã‚‹
     39# mikan through plugin: namespace が考慮されていない
     40# これを利用する場合、以下のように toppers_jsp.cdl sChannel.cdl を指定する必要がある
    5841# tecsgen toppers_jsp.cdl sChannel.cdl your_description.cdl
    5942
    60 # 以下を仮定(制限事é 
    61 ï¼‰
    62 #  呼びå
    63 ƒã€å‘¼ã³å
    64 ˆã®ã‚¨ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³ã€char, short, int_t, long_t, intptr_t のサイズが同じ
    65 #  有符号、無符号でサイズが同じ
     43# 以下を仮定(制限事項)
     44#  呼び元、呼び先のエンディアン、char, short, int_t, long_t, intptr_t のサイズが同じ
     45#  有符号、無符号でサイズが同じ
    6646
    6747class SVCManage
    68     # TODO: デフォルトの拡張サービスコール分を予約しておく
    69     # デフォルトの拡張サービスコール(syslogなど)もコンポーネント化するまで
     48    # TODO: デフォルトの拡張サービスコール分を予約しておく
     49    # デフォルトの拡張サービスコール(syslogなど)もコンポーネント化するまで
    7050    @@id = 20
    7151    @@func_ids = {}
     
    9373
    9474#
    95 # 拡張サービスコールを用いたドメイン間通信の
    96 # throughプラグイン
    97 # HRP2ドメインプラグインによって挿å
    98 ¥ã•ã‚Œã‚‹
     75# 拡張サービスコールを用いたドメイン間通信の
     76# throughプラグイン
     77# HRP2ドメインプラグインによって挿入される
    9978#
    10079class HRP2SVCPlugin < ThroughPlugin
    10180
    102   #=== RPCPlugin の initialize
    103   #  説明は ThroughPlugin (plugin.rb) を参ç
    104 §
     81  #=== RPCPlugin の initialize
     82  #  説明は ThroughPlugin (plugin.rb) を参照
    10583  @@generated_celltype_header = {}
    10684
     
    11694  end
    11795
    118   #=== NamespacePath を得る
    119   # 生成するセルの namespace path を生成する
     96  #=== NamespacePath を得る
     97  # 生成するセルの namespace path を生成する
    12098  def get_cell_namespace_path
    12199#    nsp = @region.get_namespace.get_namespace_path
     
    126104  def gen_plugin_decl_code( file )
    127105
    128     # このセルタイプ(同じシグニチャ)は既に生成されているか?
     106    # このセルタイプ(同じシグニチャ)は既に生成されているか?
    129107    if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
    130108    if @@generated_celltype[ @ct_name_body ] == nil then
     
    144122    end
    145123
    146     # このセルタイプ(同じシグニチャ)は既に生成されているか?
     124    # このセルタイプ(同じシグニチャ)は既に生成されているか?
    147125    if @@generated_celltype[ @ct_name ] == nil then
    148126        @@generated_celltype[ @ct_name ] = [ self ]
     
    155133EOT
    156134        else
    157             # TODO inlineにした方が効率がよいが,tecsgenの生成したヘッダファイルの
    158             # 読込順のためにエラーとなる
     135            # TODO inlineにした方が効率がよいが,tecsgenの生成したヘッダファイルの
     136            # 読込順のためにエラーとなる
    159137        file2.print <<EOT
    160138celltype #{@ct_name} {
     
    173151
    174152=begin
    175     # TODO: send. receive 対応
     153    # TODO: send. receive 対応
    176154    send_receive = []
    177155    if @signature != nil then
     
    205183  end
    206184
    207   #===  through cell コードを生成
     185  #===  through cell コードを生成
    208186  #
    209187  #
     
    214192
    215193    if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
    216     # セルを探す
     194    # セルを探す
    217195    # path =["::",@next_cell.get_name]  # mikan namespace
    218196    # cell = Namespace.find( path )
    219197    # cell = Namespace.find( @next_cell.get_namespace_path )
    220198
    221     ##### クライアント側のセルの生成 #####
     199    ##### クライアント側のセルの生成 #####
    222200    # file.print "[domain(HRP2, \"trusted\")]"
    223201    nest = @start_region.gen_region_str_pre file
    224202    nest_str = "  " * nest
    225203
    226     # クライアント側チャンネルの生成
    227     # 拡張サービスコール呼出し
     204    # クライアント側チャンネルの生成
     205    # 拡張サービスコール呼出し
    228206    file.print <<EOT
    229207#{nest_str}  //  Client Side Channel
     
    236214    file.print "\n\n"
    237215
    238     ##### サーバー側のセルの生成 #####
     216    ##### サーバー側のセルの生成 #####
    239217    nest = @end_region.gen_region_str_pre file
    240218    nest_str = "  " * nest
    241219
    242     # サーバー側チャンネルの生成
    243     # 拡張サービスコール本体
     220    # サーバー側チャンネルの生成
     221    # 拡張サービスコール本体
    244222    file.print <<EOT
    245223
     
    260238    else
    261239
    262     ##### クライアント側のセルの生成 #####
     240    ##### クライアント側のセルの生成 #####
    263241    nest = @start_region.gen_region_str_pre file
    264242    nest_str = "  " * nest
    265243
    266     # クライアント側チャンネルの生成
    267     # 拡張サービスコール呼出し
     244    # クライアント側チャンネルの生成
     245    # 拡張サービスコール呼出し
    268246    file.print <<EOT
    269247#{nest_str}  //  Client Side Channel
     
    280258   end
    281259
    282   #===  受け口関数の本体(C言語)を生成する
    283   #     é€šå¸¸ã§ã‚れば、ジェネレータは受け口関数のテンプレートを生成する
    284   #     ãƒ—ラグインの場合、変更するå¿
    285 è¦ã®ãªã„セルタイプコードを生成する
    286   #file::           FILE        出力å
    287 ˆãƒ•ã‚¡ã‚¤ãƒ«
     260  #===  受け口関数の本体(C言語)を生成する
     261  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
     262  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
     263  #file::           FILE        出力先ファイル
    288264  #b_singleton::    bool        true if singleton
    289265  #ct_name::        Symbol
     
    298274
    299275    if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
    300         # 拡張サービスコール呼出し
     276        # 拡張サービスコール呼出し
    301277        if ! func_type.get_type.kind_of?( VoidType ) then
    302278            file.print( "  #{func_type.get_type_str}  retval;\n" )
     
    310286    p_cellcb = #{global_ct_name}_GET_CELLCB(idx);
    311287  }else{
    312      /* エラー処理コードをここに記述 */
     288     /* エラー処理コードをここに記述 */
    313289  }
    314290
     
    361337        end
    362338
    363         # 拡張サービスコール本体
     339        # 拡張サービスコール本体
    364340        if new_func
    365341            file2 = AppFile.open( "#{$gen}/#{@ct_name_body}.c" )
     
    370346#                 file2.print <<EOT
    371347# /*
    372 #  * このファイルは tecsgen により自動生成されました
    373 #  * このファイルを編集して使用することは、意図されていません
     348#  * このファイルは tecsgen により自動生成されました
     349#  * このファイルを編集して使用することは、意図されていません
    374350#  */
    375351# /* #[<PREAMBLE>]#
    376 #  * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
    377 #  * tecsmerge によるマージに使用されます
     352#  * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
     353#  * tecsmerge によるマージに使用されます
    378354#  *
    379355#  * #[</PREAMBLE>]# */
    380356#
    381 # /* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
     357# /* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
    382358# #include "#{@ct_name_body}_tecsgen.h"
    383359#
     
    407383      p_cellcb = #{@ct_name_body}_GET_CELLCB(idx);
    408384    }else{
    409        /* エラー処理コードをここに記述 */
     385       /* エラー処理コードをここに記述 */
    410386    }
    411387#else
     
    463439            file2 = AppFile.open( "#{$gen}/tecsgen.cfg" )
    464440            file2.print "\n/* Generated by HRP2SVCPlugin */\n\n"
    465             # TODO: スタックサイズは適当
     441            # TODO: スタックサイズは適当
    466442            file2.print <<EOT
    467443KERNEL_DOMAIN{
     
    479455        end
    480456    else
    481         # カーネルドメインのセルは特別なことは何もせず,普通に呼び出す
     457        # カーネルドメインのセルは特別なことは何もせず,普通に呼び出す
    482458        super
    483459    end
Note: See TracChangeset for help on using the changeset viewer.