Index: asp3_gr_sakura/trunk/tecsgen/tecslib/plugin/RPCPlugin.rb
===================================================================
--- asp3_gr_sakura/trunk/tecsgen/tecslib/plugin/RPCPlugin.rb	(revision 317)
+++ asp3_gr_sakura/trunk/tecsgen/tecslib/plugin/RPCPlugin.rb	(revision 318)
@@ -6,49 +6,34 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 #  
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
-#   $Id: RPCPlugin.rb 2061 2014-05-31 22:15:33Z okuma-top $
+#   $Id$
 #++
 
@@ -56,21 +41,15 @@
 require_tecsgen_lib "lib/GenParamCopy.rb"
 
-#= Transparent RPC ãã©ã°ã¤ã³
-# Transparent RPC ãã£ã³ãã«ãçæãã
-# ãã©ã°ã¤ã³å¼æ°ã¯ä»¥ä¸ã® RPCPluginArgProc ãåç
-§
-
-# mikan through plugin: namespace ãèæ
-®ããã¦ããªã
-# ãããå©ç¨ããå ´åãä»¥ä¸ã®ããã« toppers_jsp.cdl sChannel.cdl ãæå®ããå¿
-è¦ããã
+#= Transparent RPC プラグイン
+# Transparent RPC チャンネルを生成する
+# プラグイン引数は以下の RPCPluginArgProc を参照
+
+# mikan through plugin: namespace が考慮されていない
+# これを利用する場合、以下のように toppers_jsp.cdl sChannel.cdl を指定する必要がある
 # tecsgen toppers_jsp.cdl sChannel.cdl your_description.cdl
 
-# ä»¥ä¸ãä»®å®ï¼å¶éäºé 
-ï¼
-#  å¼ã³å
-ãå¼ã³å
-ã®ã¨ã³ãã£ã¢ã³ãchar, short, int_t, long_t, intptr_t ã®ãµã¤ãºãåã
-#  æç¬¦å·ãç¡ç¬¦å·ã§ãµã¤ãºãåã
+# 以下を仮定（制限事項）
+#  呼び元、呼び先のエンディアン、char, short, int_t, long_t, intptr_t のサイズが同じ
+#  有符号、無符号でサイズが同じ
 
 class RPCPlugin < ThroughPlugin
@@ -79,13 +58,11 @@
   include GenParamCopy
 
-  # RPCPlugin å°ç¨ã®ãªãã·ã§ã³
-  TransparentRPCPluginArgProc = RPCPluginArgProc.dup  # è¤è£½ãä½ã£ã¦å
-ãå¤æ´ããªãããã«ãã
+  # RPCPlugin 専用のオプション
+  TransparentRPCPluginArgProc = RPCPluginArgProc.dup  # 複製を作って元を変更しないようにする
   TransparentRPCPluginArgProc[ "noClientSemaphore"  ] = Proc.new { |obj,rhs| obj.set_noClientSemaphore rhs }
   TransparentRPCPluginArgProc[ "semaphoreCelltype"  ] = Proc.new { |obj,rhs| obj.set_semaphoreCelltype rhs }
 
-  #=== RPCPlugin ã® initialize
-  #  èª¬æã¯ ThroughPlugin (plugin.rb) ãåç
-§
+  #=== RPCPlugin の initialize
+  #  説明は ThroughPlugin (plugin.rb) を参照
   def initialize( cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell )
     super
@@ -94,6 +71,5 @@
     initialize_transparent_marshaler cell_name
 
-    # ãªãã·ã§ã³ï¼GenTransparentMarshaler åç
-§
+    # オプション：GenTransparentMarshaler 参照
     @plugin_arg_check_proc_tab = TransparentRPCPluginArgProc
     parse_plugin_arg
@@ -105,5 +81,5 @@
       if @PPAllocatorSize == nil then
         cdl_error( "PPAllocatorSize must be speicified for oneway [in] array" )
-        # @PPAllocatorSize = 0   # ä»®ã« 0 ã¨ãã¦ãã (cdl ã®æ§æã¨ã©ã¼ãé¿ãããã)
+        # @PPAllocatorSize = 0   # 仮に 0 としておく (cdl の構文エラーを避けるため)
       end
     end
@@ -112,8 +88,7 @@
 #      if func_decl.get_type.is_oneway? then
 #        if ( param_decl.get_size || param_decl.get_count ) && param_decl.get_string then
-#          cdl_error( "array of string not supported for oneway function in Transparent RPC" )  # mikan æå­åã®é
-å
+#          cdl_error( "array of string not supported for oneway function in Transparent RPC" )  # mikan 文字列の配列
 #        elsif param_decl.get_string == -1 then
-#          cdl_error( "length unspecified string is not permited for oneway function in Transparent RPC" )  # mikan é·ãæªæå®æå­å
+#          cdl_error( "length unspecified string is not permited for oneway function in Transparent RPC" )  # mikan 長さ未指定文字列
 #        end
 #      end
@@ -121,10 +96,10 @@
   end
 
-  #=== plugin ã®å®£è¨ã³ã¼ã (celltype ã®å®ç¾©) çæ
+  #=== plugin の宣言コード (celltype の定義) 生成
   def gen_plugin_decl_code( file )
 
     ct_name = "#{@ct_name}_#{@channelCelltype}"
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ ct_name ] == nil then
       @@generated_celltype[ ct_name ] = [ self ]
@@ -159,6 +134,5 @@
 
     f = CFile.open( @rpc_channel_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -199,10 +173,10 @@
 };
 EOT
-    # mikan stackSize option & ææ° tecs_package å¯¾å¿
+    # mikan stackSize option & 最新 tecs_package 対応
 
     f.close
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -211,5 +185,5 @@
     gen_plugin_decl_code( file )
 
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_global_name]
     # cell = Namespace.find( path )
@@ -225,13 +199,13 @@
 
     file.print <<EOT
-#{indent_str}// ä¸æ¹åãã£ã³ãã«ã»ã«
+#{indent_str}// 一方向チャンネルセル
 #{indent_str}cell #{@channelCelltype} #{@channelCellName} {
 #{indent_str}};
 
-#{indent_str}// RPC ãã£ã³ãã«ã»ã«
-EOT
-
-    # #473 ãè§£æ±ºãããå ´åãcomposite ãªã¬ã¼ã¢ã­ã±ã¼ã¿ã«å¤æ´ãã¹ã
-    # ã¢ã­ã±ã¼ã¿ã®æå®ããããï¼
+#{indent_str}// RPC チャンネルセル
+EOT
+
+    # #473 が解決された場合、composite リレーアロケータに変更すべき
+    # アロケータの指定があるか？
     if cell.get_allocator_list.length > 0 then
 
@@ -242,8 +216,7 @@
 
         file.print delim
-        delim = ",\n#{indent_str}           "        # æçµè¡ã«ã¯åºããªã
-
-        if subsc then        # é
-åæ·»æ°
+        delim = ",\n#{indent_str}           "        # 最終行には出さない
+
+        if subsc then        # 配列添数
           subsc_str = '[#{subsc}]'
         else
@@ -251,5 +224,5 @@
         end
 
-        eport = "eThroughEntry" #RPCã®åãå£åã«å¤æ´
+        eport = "eThroughEntry" #RPCの受け口名に変更
         file.print  "#{eport}#{subsc_str}.#{func}.#{buf} = #{alloc}"
       end
@@ -270,5 +243,5 @@
 
 
-  #=== ãã©ã°ã¤ã³å¼æ° noClientSemaphore ã®ãã§ãã¯
+  #=== プラグイン引数 noClientSemaphore のチェック
   def set_noClientSemaphore rhs
     rhs = rhs.to_sym
@@ -282,5 +255,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° semaphoreCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 semaphoreCelltype のチェック
   def set_semaphoreCelltype rhs
     @semaphoreCelltype = rhs.to_sym
