Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1AlarmPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1AlarmPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1AlarmPlugin.rb	(revision 321)
@@ -6,68 +6,52 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1AlarmPlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
-
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+#@option:: String     :オプション文字列
+
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -76,10 +60,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -190,5 +172,5 @@
   file2.close
 
-  # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+  # 追記するために AppFile を使う（文字コード変換されない）
   file = AppFile.open( "#{$gen}/tAlarm_tecsgen.#{$c_suffix}" )
   file.print "\n/* Generated by ATK1AlarmPlugin */\n"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1DelayTaskPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1DelayTaskPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1DelayTaskPlugin.rb	(revision 321)
@@ -6,68 +6,52 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1DelayTaskPlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
+#@option:: String     :オプション文字列
 
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -83,10 +67,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -102,5 +84,5 @@
   def gen_factory file
 
-    # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+    # 追記するために AppFile を使う（文字コード変換されない）
     file2 = AppFile.open( "#{$gen}/tDelayTaskBody_factory.#{$h_suffix}" )
     file2.print "\n/* Generated by ATK1DelayTaskPlugin */\n\n"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1EventPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1EventPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1EventPlugin.rb	(revision 321)
@@ -6,63 +6,45 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== ATK1 Event celltype ãã©ã°ã¤ã³ã¯ã©ã¹
+#== ATK1 Event celltype プラグインクラス
 class ATK1EventPlugin < CelltypePlugin
-#@@instancies:: []     :ã»ã«å®ä½ç¾¤
+#@@instancies:: []     :セル実体群
 @@instancies = []
 
-  #===  åæå
-  #      å
-¨ã¦ã®ã»ã«ã®å®ä½ãæå³è§£æå¾ã«åç
-§ããå¿
-è¦ãããããã«
-  #      åæåæã« singleton ã® instancies ã«æ ¼ç´ãã
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #===  初期化
+  #      全てのセルの実体を意味解析後に参照する必要があるために
+  #      初期化時に singleton の instancies に格納する
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
@@ -70,9 +52,9 @@
   end
 
-  #===  cellã®çæ
+  #===  cellの生成
   def new_cell cell
   end
 
-  #===  æå³è§£æå®è¡å¾ã®ã³ã¼ãçæ
+  #===  意味解析実行後のコード生成
   def self.gen_post_code file
 
@@ -83,5 +65,5 @@
   end
 
-  #===  OILãã¡ã¤ã«åºå
+  #===  OILファイル出力
   def gen_oil_code file
 
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ISRPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ISRPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ISRPlugin.rb	(revision 321)
@@ -6,68 +6,52 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1ISRPlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
+#@option:: String     :オプション文字列
 
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -76,10 +60,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -116,5 +98,5 @@
       end
 
-      # ENTRY (entryã¯tecsgenã®äºç´èªã®ããNumberãä»å )
+      # ENTRY (entryはtecsgenの予約語のためNumberを付加)
       join = cell.get_join_list.get_item( :entryNumber )
       if join then
@@ -152,5 +134,5 @@
   file2.close
 
-  # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+  # 追記するために AppFile を使う（文字コード変換されない）
   file = AppFile.open( "#{$gen}/tISR_tecsgen.#{$c_suffix}" )
   file.print "\n/* Generated by ATK1ISRPlugin */\n"
@@ -165,6 +147,5 @@
 #if defined( OMIT_ISR1_ENTRY )
 EOT
-          file.print "/* ISR1å
-¥ãå£æªçææã¯æ¬é¢æ°ãå²è¾¼ã¿é¢æ°æå®ãã  */\n"
+          file.print "/* ISR1入り口未生成時は本関数を割込み関数指定する  */\n"
           file.print <<EOT
 #pragma INTERRUPT  #{cell.get_name}
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1KernelPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1KernelPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1KernelPlugin.rb	(revision 321)
@@ -6,69 +6,53 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1KernelPlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
+#@option:: String     :オプション文字列
   @@cell_list = []
 
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -85,10 +69,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -184,5 +166,5 @@
     file2.close
 
-    # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+    # 追記するために AppFile を使う（文字コード変換されない）
     file2 = AppFile.open( "#{$gen}/tKernel_tecsgen.#{$c_suffix}" )
     file2.print "\n/* Generated by ATK1KernelPlugin */\n\n"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ResourcePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ResourcePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1ResourcePlugin.rb	(revision 321)
@@ -6,68 +6,52 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1ResourcePlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
+#@option:: String     :オプション文字列
 
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -76,10 +60,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1TaskPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1TaskPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ATK1TaskPlugin.rb	(revision 321)
@@ -6,68 +6,52 @@
 #   Copyright (C) 2008-2014 by TOPPERS Project TECS-WG
 #--
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(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
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class ATK1TaskPlugin < CelltypePlugin
 #@celltype:: Celltype
-#@option:: String     :ãªãã·ã§ã³æå­å
-
-  #signature::     Celltype        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+#@option:: String     :オプション文字列
+
+  #signature::     Celltype        シグニチャ（インスタンス）
   def initialize( celltype, option )
     super
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã®ã³ã¼ããçæ
-  #      éè¤ãã¦çæãã¦ã¯ãªããªã
-  #      ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ã
-  #      ãããã¯ååã® import ã«ãããéè¤ãé¿ãããã¨ã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell のコードを生成
+  #      重複して生成してはならない
+  #      すでに生成されている場合は出力しないこと。
+  #      もしくは同名の import により、重複を避けること。
+  #file::        FILE       生成するファイル
 #  def gen_cdl_file file
 #  end
@@ -83,10 +67,8 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     ãã®ã¡ã½ãããæªå®ç¾©ã®å ´åãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã®ã¡ã½ãããå®ç¾©æ¸ã¿ã®å ´åãï¼ãã³ãã¬ã¼ãã§ã¯ãªããå¤æ´ããå¿
-è¦ã®ãªãï¼ã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     このメソッドが未定義の場合、ジェネレータは受け口関数のテンプレートを生成する
+  #     このメソッドが定義済みの場合、（テンプレートではなく、変更する必要のない）セルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -218,5 +200,5 @@
   file2.close
 
-  # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+  # 追記するために AppFile を使う（文字コード変換されない）
   file = AppFile.open( "#{$gen}/tTask_tecsgen.#{$c_suffix}" )
   file.print "\n/* Generated by ATK1TaskPlugin */\n"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/C2TECSBridgePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/C2TECSBridgePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/C2TECSBridgePlugin.rb	(revision 321)
@@ -6,57 +6,42 @@
 #   Copyright (C) 2008-2015 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: C2TECSBridgePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== C => TECS åãå£å¼ã³åºãã®ãã©ã°ã¤ã³
+#== C => TECS 受け口呼び出しのプラグイン
 class C2TECSBridgePlugin < SignaturePlugin
-#@signature:: Signature   ãã©ã°ã¤ã³ã®å¯¾è±¡ã¨ãªãã·ã°ããã£
-#@option:: String   '"', '"' ã§å²ã¾ããæå­å
-
-  # ãã©ã°ã¤ã³å¼æ°åã¨ Proc
+#@signature:: Signature   プラグインの対象となるシグニチャ
+#@option:: String   '"', '"' で囲まれた文字列
+
+  # プラグイン引数名と Proc
   C2TECSBridgePluginArgProc = {
     "prefix" => Proc.new { |obj,rhs| obj.set_prefix rhs },
@@ -68,5 +53,5 @@
   @@signature_list = { }
 
-  #signature::     Signature        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Signature        シグニチャ（インスタンス）
   def initialize( signature, option )
     super
@@ -100,18 +85,16 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã®ã³ã¼ããçæ
+  #=== 後ろのコードを生成
+  #プラグインの後ろのコードを生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     éå¸¸ã§ããã°ãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã©ã°ã¤ã³ã®å ´åãå¤æ´ããå¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
+  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -212,13 +195,13 @@
   end
 
-  #===  set_prefix - prefix ãã©ã°ã¤ã³ãªãã·ã§ã³
+  #===  set_prefix - prefix プラグインオプション
   def set_prefix rhs
     @prefix = rhs.to_s
   end
-  #===  set_suffix - suffix ãã©ã°ã¤ã³ãªãã·ã§ã³
+  #===  set_suffix - suffix プラグインオプション
   def set_suffix rhs
     @suffix = rhs.to_s
   end
-  #===  set_header_name - header_name ãã©ã°ã¤ã³ãªãã·ã§ã³
+  #===  set_header_name - header_name プラグインオプション
   def set_header_name rhs
     @header_name = "#{$gen}/" + rhs.to_s
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CellPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CellPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CellPlugin.rb	(revision 321)
@@ -6,73 +6,57 @@
 #   Copyright (C) 2008-2011 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: CellPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class CellPlugin < Plugin
 
   #=== CellPlugin# initialize
-  #cell::     Cell        ã»ã«ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
-  # ãã®ã¡ã½ããã¯ãã»ã«ã®æ§æè§£æãçµãã£ãã¨ããã§å¼ã³åºããã
-  # ãã®æ®µéã§ã¯æå³è§£æãçµãã£ã¦ããªã
+  #cell::     Cell        セル（インスタンス）
+  # このメソッドは、セルの構文解析が終わったところで呼び出される
+  # この段階では意味解析が終わっていない
   def initialize( cell, option )
     super()
     @cell = cell
     @plugin_arg_str = CDLString.remove_dquote option
-    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # åå¾ã® "" ãåãé¤ã
+    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # 前後の "" を取り除く
     # @plugin_arg_str.sub!( /(.*)"\z/, '\1' )
     @plugin_arg_list = {}
   end
 
-  #=== å¾ãã® CDL ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã® CDL ã³ã¼ããçæ
+  #=== 後ろの CDL コードを生成
+  #プラグインの後ろの CDL コードを生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CelltypePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CelltypePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/CelltypePlugin.rb	(revision 321)
@@ -6,60 +6,44 @@
 #   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: CelltypePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class CelltypePlugin < Plugin
 
-  #celltype::     Celltype        ã»ã«ã¿ã¤ãï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #celltype::     Celltype        セルタイプ（インスタンス）
   def initialize( celltype, option )
     super()
     @celltype = celltype
-    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # åå¾ã® "" ãåãé¤ã
+    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # 前後の "" を取り除く
     # @plugin_arg_str.sub!( /(.*)"\z/, '\1' )
     @plugin_arg_str = CDLString.remove_dquote option
@@ -67,25 +51,24 @@
   end
 
-  #=== æ°ããã»ã«
-  #cell::        Cell            ã»ã«
+  #=== 新しいセル
+  #cell::        Cell            セル
   #
-  # celltype ãã©ã°ã¤ã³ãæå®ãããã»ã«ã¿ã¤ãã®ã»ã«ãçæããã
-  # ã»ã«ã¿ã¤ããã©ã°ã¤ã³ã«å¯¾ããæ°ããã»ã«ã®å ±å
+  # celltype プラグインを指定されたセルタイプのセルが生成された
+  # セルタイププラグインに対する新しいセルの報告
   def new_cell( cell )
   end
 
 
-  #=== tCelltype_factory.h ã«æ¿å
-¥ããã³ã¼ããçæãã
-  # file ä»¥å¤ã®ä»ã®ãã¡ã¤ã«ã«ãã¡ã¯ããªã³ã¼ããçæãã¦ããã
-  # ã»ã«ã¿ã¤ããã©ã°ã¤ã³ãæå®ãããã»ã«ã¿ã¤ãã®ã¿å¼ã³åºããã
+  #=== tCelltype_factory.h に挿入するコードを生成する
+  # file 以外の他のファイルにファクトリコードを生成してもよい
+  # セルタイププラグインが指定されたセルタイプのみ呼び出される
   def gen_factory file
   end
 
-  #=== å¾ãã® CDL ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã® CDL ã³ã¼ããçæ
+  #=== 後ろの CDL コードを生成
+  #プラグインの後ろの CDL コードを生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/DomainPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/DomainPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/DomainPlugin.rb	(revision 321)
@@ -6,97 +6,72 @@
 #   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: DomainPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== ãã¡ã¤ã³ãã©ã°ã¤ã³ã®è¦ªã¯ã©ã¹
+#== ドメインプラグインの親クラス
 class DomainPlugin < Plugin
 
-  #== domain æå®ããããªã¼ã¸ã§ã³ãå®ç¾©ããã
-  # region ã§ domain æå®ããã£ã
-  #domain_type_name::Symbol : domain æå®å­ã®ç¬¬ä¸å¼æ°
-  #option::String : domain æå®å­ã®ç¬¬äºå¼æ°
+  #== domain 指定されたリージョンが定義された
+  # region で domain 指定があった
+  #domain_type_name::Symbol : domain 指定子の第一引数
+  #option::String : domain 指定子の第二引数
   def initialize( region, domain_type_name, option )
   end
 
-  #== çµå join ã«ãã©ã°ã¤ã³ãæ¿å
-¥ãã
-  #join::Join : çµåã«é¢ããæ
-å ±
-  #return::[ plugin_name::String, option::String ]: æ¿å
-¥ãããã©ã°ã¤ã³ã æ¿å
-¥ãããã®ããªããã° nil ãè¿ã
+  #== 結合 join にプラグインを挿入する
+  #join::Join : 結合に関する情報
+  #return::[ plugin_name::String, option::String ]: 挿入するプラグイン。 挿入するものがなければ nil を返す
   #return::(1) [ plugin_name, option ] or (2) [[ plugin_name, option ], ...], or [] or nil:  (2): not supported now
-  #   nil: region éã®çµåç¦æ­¢, []: region éã®çµåå¯(ãã©ã°ã¤ã³æ¿å
-¥ç¡ã)
-  #   [ plugin_name, option ]: *_through( plugin_name, option ) æå®ããã®ã¨åç­
+  #   nil: region 間の結合禁止, []: region 間の結合可(プラグイン挿入無し)
+  #   [ plugin_name, option ]: *_through( plugin_name, option ) 指定したのと同等
   #
-  # region éã® through ãæå®ããã¦ããå ´åãout_through, to_through
-  # ã§ã¯ããããã«ãã£ã¦æå®ããããã©ã°ã¤ã³ã®å¾ãã«ãin_through ã®å ´å
-  # in_through ãã©ã°ã¤ã³ã®åã«æ¿å
-¥ããã
+  # region 間の through が指定されている場合、out_through, to_through
+  # では、それらによって指定されたプラグインの後ろに、in_through の場合
+  # in_through プラグインの前に挿入される
   #
-  # ãã®ã¡ã½ãããå¼åºãããæç¹ã§ã¯ Join#get_rhs_cell ãªã©æå³è§£æå¾
-  # ã«ããå¼ã³åºããªãã¡ã½ãããå¼åºãã¦ããæå¹ãªå¤ã¯å¾ãããªã
+  # このメソッドが呼出された時点では Join#get_rhs_cell など意味解析後
+  # にしか呼び出せないメソッドを呼出しても、有効な値は得られない
   #
   def add_through_plugin( join, current_region, next_region, through_type )
-    # join.get_owner:Cell  å·¦è¾ºã®ã»ã«
-    # join.get_definition:Port å¼ã³å£
-    # join.get_subscript:Integer or nil å¼ã³å£é
-åã®æ·»æ° (Join::@subscript ã®èª¬æåç
-§)
-    # join.get_cell:Cell å³è¾ºã®ã»ã«
-    # join.get_port_name:Symbol åãå£
-    # get_rhs_subscript:Integer or nil åãå£é
-åã®æ·»æ° (Join::@rhs_subscript ã®èª¬æåç
-§)
+    # join.get_owner:Cell  左辺のセル
+    # join.get_definition:Port 呼び口
+    # join.get_subscript:Integer or nil 呼び口配列の添数 (Join::@subscript の説明参照)
+    # join.get_cell:Cell 右辺のセル
+    # join.get_port_name:Symbol 受け口
+    # get_rhs_subscript:Integer or nil 受け口配列の添数 (Join::@rhs_subscript の説明参照)
     # return []
     return nil
   end
 
-  #== require ãçµåå¯è½ãï¼
+  #== require が結合可能か？
   def joinable?(current_region, next_region, through_type )
     return false
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2AlarmHandlerPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2AlarmHandlerPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2AlarmHandlerPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -54,6 +39,5 @@
 #require "HRP2KernelObjectPlugin"
 require_tecsgen_lib "HRP2KernelObjectPlugin.rb"
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class HRP2AlarmHandlerPlugin < HRP2KernelObjectPlugin
     @@ep = [:eStartAlarm, :eStopAlarm, :eManageAlarm, :eReferAlarm ]
@@ -66,10 +50,10 @@
     def print_cfg_cre(file, cell, val, tab)
         val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_name.to_s}" )
-        # $cbp$ã®ä»£ãã
+        # $cbp$の代わり
         index = cell.get_id - @celltype.get_id_base
         cell_CB_name = "#{@celltype.get_global_name}_CB_tab[#{index}]"
-        # CRE_XXXã®çæ
+        # CRE_XXXの生成
         if (cell.get_region.get_region_type != :DOMAIN) || (cell.get_region.get_param != :KERNEL_DOMAIN)
-            # ç¡æå± or ã¦ã¼ã¶ãã¡ã¤ã³ã«å±ããå ´å
+            # 無所属 or ユーザドメインに属する場合
                 raise "alarm handler #{val[:id]} must belong to kernel domain."
         else
@@ -84,5 +68,5 @@
     end
 
-    #tAlarmã®åãå£ãªã¹ã 
+    #tAlarmの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2CyclicHandlerPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2CyclicHandlerPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2CyclicHandlerPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -55,6 +40,5 @@
 require_tecsgen_lib "HRP2KernelObjectPlugin.rb"
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class HRP2CyclicHandlerPlugin < HRP2KernelObjectPlugin
     @@ep = [:eStartCyclic, :eStopCyclic, :eManageCyclic, :eReferCyclic ]
@@ -67,10 +51,10 @@
     def print_cfg_cre(file, cell, val, tab)
         val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_name.to_s}" )
-        # $cbp$ã®ä»£ãã
+        # $cbp$の代わり
         index = cell.get_id - @celltype.get_id_base
         cell_CB_name = "#{@celltype.get_global_name}_CB_tab[#{index}]"
-        # CRE_XXXã®çæ
+        # CRE_XXXの生成
         if (cell.get_region.get_region_type != :DOMAIN) || (cell.get_region.get_param != :KERNEL_DOMAIN)
-            # ç¡æå± or ã¦ã¼ã¶ãã¡ã¤ã³ã«å±ããå ´å
+            # 無所属 or ユーザドメインに属する場合
                 raise "cyclic handler #{val[:id]} must belong to kernel domain."
         else
@@ -85,5 +69,5 @@
     end
 
-    #tCyclicHandlerã®åãå£ãªã¹ã 
+    #tCyclicHandlerの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2DataqueuePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2DataqueuePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2DataqueuePlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -59,9 +44,8 @@
     @@ep = [:eSendDataqueue, :eReceiveDataqueue, :eManageDataqueue, :eReferDataqueue ]
     #=== HRP2DataqueuePlugin#print_cfg_cre
-    # CRE_DTQã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_DTQの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         file.print tab
@@ -69,13 +53,12 @@
     end
     #=== HRP2DataqueuePlugin#print_cfg_sac
-    # SAC_DTQã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_DTQの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         file.puts "SAC_DTQ(#{val[:id]}, {#{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]}});"
     end
-    #tDataqueueã®åãå£ãªã¹ã 
+    #tDataqueueの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2EventflagPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2EventflagPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2EventflagPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -59,9 +44,8 @@
     @@ep = [:eSetEventflag, :eWaitEventflag, :eManageEventflag, :eReferEventflag ]
     #=== HRP2EventflagPlugin#print_cfg_cre
-    # CRE_FLGã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_FLGの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         file.print tab
@@ -69,13 +53,12 @@
     end
     #=== HRP2EventflagPlugin#print_cfg_sac
-    # SAC_FLGã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_FLGの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         file.puts "SAC_FLG(#{val[:id]}, {#{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]}});"
     end
-    #tEventflagã®åãå£ãªã¹ã 
+    #tEventflagの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2FixedSizeMemoryPoolPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2FixedSizeMemoryPoolPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2FixedSizeMemoryPoolPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -59,9 +44,8 @@
     @@ep = [:eSendFixedSizeMemoryPool, :eReceiveFixedSizeMemoryPool, :eManageFixedSizeMemoryPool, :eReferFixedSizeMemoryPool ]
     #=== HRP2FixedSizeMemoryPoolPlugin#print_cfg_cre
-    # CRE_MPFã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_MPFの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         file.print tab
@@ -69,13 +53,12 @@
     end
     #=== HRP2FixedSizeMemoryPoolPlugin#print_cfg_sac
-    # SAC_MPFã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_MPFの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         file.puts "SAC_MPF(#{val[:id]}, {#{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]}});"
     end
-    #tFixedSizeMemoryPoolã®åãå£ãªã¹ã 
+    #tFixedSizeMemoryPoolの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2HandlerPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2HandlerPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2HandlerPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -56,6 +41,5 @@
 
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class HRP2HandlerPlugin < HRP2KernelObjectPlugin
     @@ep = [:eStartAlarm, :eStopAlarm, :eManageAlarm, :eReferAlarm ]
@@ -68,12 +52,12 @@
     def print_cfg_cre(file, cell, val, tab)
         val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_name.to_s}" )
-        # $cbp$ã®ä»£ãã
+        # $cbp$の代わり
         index = cell.get_id - @celltype.get_id_base
         cell_CB_name = "#{@celltype.get_global_name}_CB_tab[#{index}]"
-        # CRE_XXXã®çæ
+        # CRE_XXXの生成
         domainOption = cell.get_region.get_domain_root.get_domain_type.get_option
         # if (cell.get_region.get_region_type != :DOMAIN) || (cell.get_region.get_param != :KERNEL_DOMAIN)
         if (domainOption == "OutOfDomain") || (domainOption != "trusted")
-            # ç¡æå± or ã¦ã¼ã¶ãã¡ã¤ã³ã«å±ããå ´å
+            # 無所属 or ユーザドメインに属する場合
                 raise "#{@plugin_arg_str.to_s.downcase} handler #{val[:id]} must belong to kernel domain."
         elsif @plugin_arg_str == "ALARM"
@@ -101,5 +85,5 @@
 
 =begin
-    #tAlarmã®åãå£ãªã¹ã 
+    #tAlarmの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2KernelObjectPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2KernelObjectPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2KernelObjectPlugin.rb	(revision 321)
@@ -6,51 +6,36 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
 
-# Regionã¯ã©ã¹ã«ã¡ã½ãããè¿½å 
+# Regionクラスにメソッドを追加
 =begin
 class Region
@@ -69,5 +54,5 @@
 =end
 
-# Cellã¯ã©ã¹ã«ã¤ã³ã¹ã¿ã³ã¹å¤æ°ã¨ã¡ã½ãããè¿½å 
+# Cellクラスにインスタンス変数とメソッドを追加
 =begin
 class Cell
@@ -85,5 +70,5 @@
     end
 
-    # set_referenced_cellã«ããã»ãããã
+    # set_referenced_cellにしたほうがよい
     # def set_referenced_region( region, port_name )
     def set_referenced_cell( cell, port_name )
@@ -139,23 +124,21 @@
 =end
 
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class HRP2KernelObjectPlugin < CelltypePlugin
     # @@obj_hash = {}
 
     #@celltype:: Celltype
-    #@option:: String     :ãªãã·ã§ã³æå­å
+    #@option:: String     :オプション文字列
     def initialize( celltype, option )
         super
-        # ããããã®ã«ã¼ãã«ãªãã¸ã§ã¯ããè§£æå¯¾è±¡ã»ã«ã¿ã¤ãã«è¿½å 
+        # それぞれのカーネルオブジェクトを解析対象セルタイプに追加
         HRP2KernelObjectPlugin.set_celltype(celltype)
     end
   
     #=== HRP2KernelObjectPlugin#print_cfg_cre
-    # åç¨®ã«ã¼ãã«ãªãã¸ã§ã¯ãã®CRE_*ã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # 各種カーネルオブジェクトのCRE_*の出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         raise "called virtual method print_cfg_cre in #{@celltype.get_name} plugin"
@@ -163,9 +146,8 @@
   
     #=== HRP2KernelObjectPlugin#print_cfg_sac
-    # åç¨®ã«ã¼ãã«ãªãã¸ã§ã¯ãã®SAC_*ã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿
+    # 各種カーネルオブジェクトのSAC_*の出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ
     def print_cfg_sac(file, val, acv)
         raise "called virtual method print_cfg_sac in #{@celltype.get_name} plugin"
@@ -173,5 +155,5 @@
   
     #=== HRP2KernelObjectPlugin#get_entry_ports_name_list
-    # ã«ã¼ãã«ãªãã¸ã§ã¯ãã®åç¨®ã¢ã¯ã»ã¹ã®ç¨®å¥ã®åãå£åãåå¾
+    # カーネルオブジェクトの各種アクセスの種別の受け口名を取得
     def get_entry_ports_name_list()
         raise "called virtual method get_entry_ports_name_list in #{@celltype.get_name} plugin"
@@ -185,6 +167,6 @@
         puts "===== begin #{@celltype.get_name.to_s} plugin ====="
 
-        # å¯¾è±¡ã¨ãªããã¹ã¦ã®ã»ã«ã«ã¤ãã¦ãåãå£ã«çµåããã¦ãã
-        # ã»ã«ã®æå±ãã¡ã¤ã³ãè§£æ
+        # 対象となるすべてのセルについて、受け口に結合されている
+        # セルの所属ドメインを解析
         if !HRP2KernelObjectPlugin.isChecked()
             HRP2KernelObjectPlugin.check_referenced_cells()
@@ -193,5 +175,5 @@
         end
 
-        # è¿½è¨ããããã« AppFile ãä½¿ãï¼æå­ã³ã¼ãå¤æãããªãï¼
+        # 追記するために AppFile を使う（文字コード変換されない）
         file2 = AppFile.open( "#{$gen}/tecsgen.cfg" )
         file2.print "\n/* Generated by #{self.class.name} */\n\n"
@@ -200,6 +182,5 @@
             if cell.is_generate?
                 puts "===== begin check my domain #{cell.get_name} ====="
-                # attrã®å¤ãããã·ã¥ã«å
-¥ãã
+                # attrの値をハッシュに入れる
                 val = {}
                 @celltype.get_attribute_list.each{ |a|
@@ -208,10 +189,10 @@
                         val[a.get_name] = []
                         if j = cell.get_join_list.get_item(a.get_name)
-                            # ã»ã«çææã«åæåããå ´å
+                            # セル生成時に初期化する場合
                             j.get_rhs.each { |elem|
                                 val[a.get_name] << elem.to_s
                             }
                         elsif i = a.get_initializer
-                            # ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+                            # セルタイプの初期化値を使う場合
                             i.each { |elem|
                                 val[a.get_name] << elem.to_s
@@ -222,8 +203,8 @@
                     else
                         if j = cell.get_join_list.get_item(a.get_name)
-                            # ã»ã«çææã«åæåããå ´å
+                            # セル生成時に初期化する場合
                             val[a.get_name] = j.get_rhs.to_s
                         elsif i = a.get_initializer
-                            # ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+                            # セルタイプの初期化値を使う場合
                             val[a.get_name] = i.to_s
                         else
@@ -232,11 +213,11 @@
                     end
                 }
-                # generate.rbãåèã«
-                # $id$ãç½®æ
+                # generate.rbを参考に
+                # $id$を置換
                 if val[:id].nil? != true
                     puts val[:id]
                     val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_name.to_s}" )
                 end
-                # $cbp$ã®ä»£ãã
+                # $cbp$の代わり
                 index = cell.get_id - @celltype.get_id_base
                 cell_CB_name = "#{@celltype.get_global_name}_CB_tab[#{index}]"
@@ -244,9 +225,9 @@
                 cell_domain_type = cell.get_region.get_domain_root.get_domain_type
 
-                # CRE_XXX/DEF_XXXã®çæ
+                # CRE_XXX/DEF_XXXの生成
                 if cell_domain_type.get_option.to_s != "OutOfDomain"
-                    # ä¿è­·ãã¡ã¤ã³ã«å±ããå ´å
+                    # 保護ドメインに属する場合
                     if !HRP2KernelObjectPlugin.include_region(cell_domain_root.get_name.to_s)
-                        # ãã®ä¿è­·ãã¡ã¤ã³ã®.cfgãçæããã¦ããªãå ´å
+                        # その保護ドメインの.cfgが生成されていない場合
                         HRP2KernelObjectPlugin.set_region_list(cell_domain_root.get_name.to_s)
                         puts "~~~~~ #{cell_domain_root.get_name.to_s} is registered!"
@@ -269,5 +250,5 @@
                     file3.close
                 else
-                    # ç¡æå±ã®å ´å
+                    # 無所属の場合
                     puts "~~~~~ #{cell_domain_root.get_name.to_s} is OutOfDomain"
                     print_cfg_cre(file2, cell, val, "")
@@ -275,5 +256,5 @@
 
                 puts "===== end check my domain #{cell.get_name} ====="
-                # SAC_XXXã®çæ
+                # SAC_XXXの生成
                 puts "===== begin check regions #{cell.get_name} ====="
                 p val[:accessPattern]
@@ -281,11 +262,11 @@
 
                 #ep = [ :eTaskActivate, :eTaskControl, :eTaskManage, :eTaskRefer ]
-                #åã«ã¼ãã«ãªãã¸ã§ã¯ãã®åãå£åãåå¾
+                #各カーネルオブジェクトの受け口名を取得
                 # ep = get_entry_ports_name_list()
                 i = 0
                 acv = []
-                # ã¢ã¯ã»ã¹è¨±å¯ãã¯ã¿ã®çæ
+                # アクセス許可ベクタの生成
                 val[:accessPattern].each { |acptnx|
-                    # ã¢ã¯ã»ã¹è¨±å¯ãã¿ã¼ã³ã®çæ
+                    # アクセス許可パターンの生成
                     if acptnx != "OMIT"
                         acv << acptnx
@@ -306,14 +287,14 @@
                 p acv
 
-                #åç¨®SACã®çæ
+                #各種SACの生成
                 domainOption = cell_domain_type.get_option
                 # if cell.get_region.get_region_type == :DOMAIN
                 if domainOption != "OutOfDomain"
-                    # ä¿è­·ãã¡ã¤ã³ã«å±ããå ´å
+                    # 保護ドメインに属する場合
                     file3 = AppFile.open( "#{$gen}/tecsgen_#{cell.get_region.get_name.to_s}.cfg" )
                     print_cfg_sac(file3, val, acv)
                     file3.close
                 else
-                    # ç¡æå±ã®å ´å
+                    # 無所属の場合
                     print_cfg_sac(file2, val, acv)
                 end
@@ -327,6 +308,6 @@
     end
 
-    # ã«ã¼ãã«ãªãã¸ã§ã¯ãã»ã«ã¿ã¤ãã®ç®¡ç
-    # HRP2KernelObjectPluginã¯ã©ã¹ã«å¯¾ãã¦ã¡ã½ããå¼åºããè¡ããã¨ãæ³å®
+    # カーネルオブジェクトセルタイプの管理
+    # HRP2KernelObjectPluginクラスに対してメソッド呼出しを行うことを想定
     @@checked = false
     @@celltype_list = []
@@ -351,5 +332,5 @@
                 printf "===== check call port : "
                 p p.get_name.to_s
-                next if j.nil? # æªçµåã®å ´å
+                next if j.nil? # 未結合の場合
                 if @@celltype_list.include?(j.get_celltype)
                     # j.get_cell.set_referenced_region(cell.get_region)
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2ObjectPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2ObjectPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2ObjectPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -69,9 +54,8 @@
 
     #=== HRP2SemaphorePlugin#print_cfg_cre
-    # CRE_SEMã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_SEMの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         if @@api.has_key?(@plugin_arg_str) == false
@@ -87,9 +71,8 @@
     end
     #=== HRP2SemaphorePlugin#print_cfg_sac
-    # SAC_SEMã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_SEMの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         if @@api.has_key?(@plugin_arg_str) == false
@@ -103,5 +86,5 @@
 
 =begin
-    #tSemaphoreã®åãå£ãªã¹ã 
+    #tSemaphoreの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2Plugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2Plugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2Plugin.rb	(revision 321)
@@ -6,54 +6,38 @@
 #   Copyright (C) 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
 
 #
-# åã¡ã½ããã®å½¹å²ãã¯ãDomainPlugin.rb ãåç
-§ã®ãã¨
-# HRP2ã«ã¼ãã«ç¨ãã¡ã¤ã³ãã©ã°ã¤ã³
+# 各メソッドの役割りは、DomainPlugin.rb を参照のこと
+# HRP2カーネル用ドメインプラグイン
 class HRP2Plugin < DomainPlugin
 
@@ -63,14 +47,10 @@
 
   def add_through_plugin( join, current_region, next_region, through_type )
-    # join.get_owner:Cell  å·¦è¾ºã®ã»ã«
-    # join.get_definition:Port å¼ã³å£
-    # join.get_subscript:Integer or nil å¼ã³å£é
-åã®æ·»æ° (Join::@subscript ã®èª¬æåç
-§)
-    # join.get_cell:Cell å³è¾ºã®ã»ã«
-    # join.get_port_name:Symbol åãå£
-    # get_rhs_subscript:Integer or nil åãå£é
-åã®æ·»æ° (Join::@rhs_subscript ã®èª¬æåç
-§)
+    # join.get_owner:Cell  左辺のセル
+    # join.get_definition:Port 呼び口
+    # join.get_subscript:Integer or nil 呼び口配列の添数 (Join::@subscript の説明参照)
+    # join.get_cell:Cell 右辺のセル
+    # join.get_port_name:Symbol 受け口
+    # get_rhs_subscript:Integer or nil 受け口配列の添数 (Join::@rhs_subscript の説明参照)
     # return []
     print "MyDomainPlugin: add_through_plugin: #{current_region.get_name}=>#{next_region.get_name}, #{join.get_owner.get_name}.#{join.get_definition.get_name}=>#{join.get_cell.get_name}.#{join.get_port_name}, #{through_type}\n"
@@ -89,8 +69,7 @@
 
     if HRP2KernelObjectPlugin.include_celltype?(join.get_cell.get_celltype)
-        # çµåå
-ãã«ã¼ãã«ãªãã¸ã§ã¯ãã»ã«
+        # 結合先がカーネルオブジェクトセル
         # @plugin_body = HRP2SVCPlugin.new(cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell)
-        # ä½ãããªãthrough
+        # 何もしないthrough
         puts "***** #{join.get_cell.get_celltype.get_name} is kernel object"
         return []
@@ -100,7 +79,6 @@
     # elsif next_domain.nil?
     elsif next_domain.get_option.to_s == "OutOfDomain"
-    #     # çµåå
-ãç¡æå±
-    #     # ä½ãããªãthrough
+    #     # 結合先が無所属
+    #     # 何もしないthrough
     #     # @plugin_body = HRP2SVCPlugin.new(cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell)
         puts "***** nil"
@@ -109,16 +87,16 @@
     #elsif @start_region.get_param != :KERNEL_DOMAIN && @end_region.get_param == :KERNEL_DOMAIN
     elsif current_domain.get_option.to_s != "trusted" && next_domain.get_option.to_s == "trusted"
-        # ã¦ã¼ã¶ãã¡ã¤ã³ããã«ã¼ãã«ãã¡ã¤ã³ã¸ã®çµå
+        # ユーザドメインからカーネルドメインへの結合
         # @plugin_body = HRP2SVCPlugin.new(cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell)
         puts "***** svc"
         return [ :HRP2SVCPlugin, "" ]
     elsif current_domain != next_domain
-        # ã¦ã¼ã¶ãã¡ã¤ã³ããå¥ã®ã¦ã¼ã¶ãã¡ã¤ã³ã¸ã®çµå
+        # ユーザドメインから別のユーザドメインへの結合
         # @plugin_body = HRP2RPCPlugin.new(cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell)
         puts "***** rpc"
         return [ :HRP2RPCPlugin, "channelCelltype=tMessagebufferChannel,noClientSemaphore=true" ]
     else
-        # ãã®ä»
-        # ä½ãããªãthrough
+        # その他
+        # 何もしないthrough
         # @plugin_body = HRP2SVCPlugin.new(cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell)
         print "warning: at HRP2 Join Check"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PostHook.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PostHook.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PostHook.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -63,7 +48,7 @@
 
     def generate
-        # ã«ã¼ãã«ãªãã¸ã§ã¯ãã®ã»ã«ã¿ã¤ãã¯ã¡ã¢ãªä¿è­·ããªã
+        # カーネルオブジェクトのセルタイプはメモリ保護しない
 #=begin
-        # TODO: ãã¹ãã®ããã«ç¡å¹å
+        # TODO: テストのために無効化
         if HRP2KernelObjectPlugin.include_celltype?( @celltype )
             puts "nothing is generated for kernel object component"
@@ -74,5 +59,5 @@
         rlist = @celltype.get_region_list
         if @celltype.is_singleton?
-            # singletonã®å ´å
+            # singletonの場合
             puts "<singleton>"
 
@@ -82,8 +67,8 @@
                 file = AppFile.open( "#{$gen}/tecsgen_#{rlist[0].get_param.to_s}.cfg" )
             end
-            # ã»ã«ç®¡çãã­ãã¯ã¨ã¹ã±ã«ãã³ã®ã¡ã¢ãªä¿è­·
+            # セル管理ブロックとスケルトンのメモリ保護
             file.print "ATT_MOD(\"#{@celltype.get_global_name}_tecsgen.o\");\n"
             if !@celltype.is_all_entry_inline?
-                # ã»ã«ã¿ã¤ãã³ã¼ãã®ã¡ã¢ãªä¿è­·
+                # セルタイプコードのメモリ保護
                 file.print "ATT_MOD(\"#{@celltype.get_global_name}.o\");\n"
             end
@@ -92,28 +77,28 @@
 
         else
-            # singletonã§ãªãå ´å
+            # singletonでない場合
             puts "<non-singleton>"
 
-            # ã¹ã±ã«ãã³ã¨ã»ã«ã¿ã¤ãã³ã¼ãã®ä¿è­·
+            # スケルトンとセルタイプコードの保護
             if (rlist.length == 1) && 
                 (@celltype.get_n_cell_gen == @celltype.get_n_cell_gen_r( rlist[0] ))
-                # æå±ããä¿è­·ãã¡ã¤ã³ã1ã¤ã®å ´å
+                # 所属する保護ドメインが1つの場合
                 puts "<private celltype>"
                 file = AppFile.open( "#{$gen}/tecsgen_#{rlist[0].get_param.to_s}.cfg" )
             else
-                # ç¡æå± or æå±ããä¿è­·ãã¡ã¤ã³ãè¤æ°ã®å ´å
+                # 無所属 or 所属する保護ドメインが複数の場合
                 puts "<shared celltype>"
                 file = AppFile.open( "#{$gen}/tecsgen.cfg" )
             end
 
-            # ã¹ã±ã«ãã³ã®ã¡ã¢ãªä¿è­·
+            # スケルトンのメモリ保護
             file.print "ATT_MOD(\"#{@celltype.get_global_name}_tecsgen.o\");\n"
             if !@celltype.is_all_entry_inline?
-                # ã»ã«ã¿ã¤ãã³ã¼ãã®ã¡ã¢ãªä¿è­·
+                # セルタイプコードのメモリ保護
                 file.print "ATT_MOD(\"#{@celltype.get_global_name}.o\");\n"
             end
             file.close
 
-            # ã»ã«ç®¡çãã­ãã¯ã®ä¿è­·
+            # セル管理ブロックの保護
             rlist.each { |reg|
                 file = AppFile.open( "#{$gen}/tecsgen_#{reg.get_param.to_s}.cfg" )
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PriorityDataqueuePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PriorityDataqueuePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2PriorityDataqueuePlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2012 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -57,9 +42,8 @@
     @@ep = [:eSendPriorityDataqueue, :eReceivePriorityDataqueue, :eManagePriorityDataqueue, :eReferPriorityDataqueue ]
     #=== HRP2PriorityDataqueuePlugin#print_cfg_cre
-    # CRE_PDQã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_PDQの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         file.print tab
@@ -67,13 +51,12 @@
     end
     #=== HRP2PriorityDataqueuePlugin#print_cfg_sac
-    # SAC_PDQã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_PDQの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         file.puts "SAC_PDQ(#{val[:id]}, {#{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]}});"
     end
-    #tPriorityDataqueueã®åãå£ãªã¹ã 
+    #tPriorityDataqueueの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2RPCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2RPCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2RPCPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -56,27 +41,20 @@
 # require_tecsgen_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 のサイズが同じ
+#  有符号、無符号でサイズが同じ
 
 #
-# RPCãç¨ãããã¡ã¤ã³ééä¿¡ã®
-# throughãã©ã°ã¤ã³
-# HRP2ãã¡ã¤ã³ãã©ã°ã¤ã³ã«ãã£ã¦æ¿å
-¥ããã
+# RPCを用いたドメイン間通信の
+# throughプラグイン
+# HRP2ドメインプラグインによって挿入される
 #
 class HRP2RPCPlugin < ThroughPlugin
@@ -85,13 +63,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
@@ -100,6 +76,5 @@
     initialize_transparent_marshaler cell_name
 
-    # ãªãã·ã§ã³ï¼GenTransparentMarshaler åç
-§
+    # オプション：GenTransparentMarshaler 参照
     @plugin_arg_check_proc_tab = TransparentRPCPluginArgProc
     parse_plugin_arg
@@ -111,5 +86,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
@@ -118,8 +93,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
@@ -127,10 +101,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 ]
@@ -165,6 +139,5 @@
 
     f = CFile.open( @rpc_channel_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -222,10 +195,10 @@
 };
 EOT
-    # mikan stackSize option & ææ° tecs_package å¯¾å¿
+    # mikan stackSize option & 最新 tecs_package 対応
 
     f.close
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -234,5 +207,5 @@
     gen_plugin_decl_code( file )
 
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_name]
     # cell = Namespace.find( path )
@@ -257,6 +230,6 @@
     indent_str = "  " * nest
 
-    # #473 ãè§£æ±ºãããå ´åãcomposite ãªã¬ã¼ã¢ã­ã±ã¼ã¿ã«å¤æ´ãã¹ã
-    # ã¢ã­ã±ã¼ã¿ã®æå®ããããï¼
+    # #473 が解決された場合、composite リレーアロケータに変更すべき
+    # アロケータの指定があるか？
     if cell.get_allocator_list.length > 0 then
 
@@ -268,8 +241,7 @@
 
         file.print delim
-        delim = ",\n#{indent_str}           "        # æçµè¡ã«ã¯åºããªã
-
-        if subsc then        # é
-åæ·»æ°
+        delim = ",\n#{indent_str}           "        # 最終行には出さない
+
+        if subsc then        # 配列添数
           subsc_str = '[#{subsc}]'
         else
@@ -277,5 +249,5 @@
         end
 
-        eport = "eThroughEntry" #RPCã®åãå£åã«å¤æ´
+        eport = "eThroughEntry" #RPCの受け口名に変更
         file.print  "#{eport}#{subsc_str}.#{func}.#{buf} = #{alloc}"
       end
@@ -314,5 +286,5 @@
 
 
-  #=== ãã©ã°ã¤ã³å¼æ° noClientSemaphore ã®ãã§ãã¯
+  #=== プラグイン引数 noClientSemaphore のチェック
   def set_noClientSemaphore rhs
     rhs = rhs.to_sym
@@ -326,5 +298,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° semaphoreCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 semaphoreCelltype のチェック
   def set_semaphoreCelltype rhs
     @semaphoreCelltype = rhs.to_sym
@@ -336,6 +308,6 @@
   end
 
-  #=== NamespacePath ãå¾ã
-  # çæããã»ã«ã® namespace path ãçæãã
+  #=== NamespacePath を得る
+  # 生成するセルの namespace path を生成する
   def get_cell_namespace_path
 #    nsp = @region.get_namespace.get_namespace_path
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SVCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SVCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SVCPlugin.rb	(revision 321)
@@ -6,66 +6,46 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
 
-# mikan through plugin: namespace ãèæ
-®ããã¦ããªã
-# ãããå©ç¨ããå ´åãä»¥ä¸ã®ããã« toppers_jsp.cdl sChannel.cdl ãæå®ããå¿
-è¦ããã
+# 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 SVCManage
-    # TODO: ããã©ã«ãã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«åãäºç´ãã¦ãã
-    # ããã©ã«ãã®æ¡å¼µãµã¼ãã¹ã³ã¼ã«ï¼syslogãªã©ï¼ãã³ã³ãã¼ãã³ãåããã¾ã§
+    # TODO: デフォルトの拡張サービスコール分を予約しておく
+    # デフォルトの拡張サービスコール（syslogなど）もコンポーネント化するまで
     @@id = 20
     @@func_ids = {}
@@ -93,14 +73,12 @@
 
 #
-# æ¡å¼µãµã¼ãã¹ã³ã¼ã«ãç¨ãããã¡ã¤ã³ééä¿¡ã®
-# throughãã©ã°ã¤ã³
-# HRP2ãã¡ã¤ã³ãã©ã°ã¤ã³ã«ãã£ã¦æ¿å
-¥ããã
+# 拡張サービスコールを用いたドメイン間通信の
+# throughプラグイン
+# HRP2ドメインプラグインによって挿入される
 #
 class HRP2SVCPlugin < ThroughPlugin
 
-  #=== RPCPlugin ã® initialize
-  #  èª¬æã¯ ThroughPlugin (plugin.rb) ãåç
-§
+  #=== RPCPlugin の initialize
+  #  説明は ThroughPlugin (plugin.rb) を参照
   @@generated_celltype_header = {}
 
@@ -116,6 +94,6 @@
   end
 
-  #=== NamespacePath ãå¾ã
-  # çæããã»ã«ã® namespace path ãçæãã
+  #=== NamespacePath を得る
+  # 生成するセルの namespace path を生成する
   def get_cell_namespace_path
 #    nsp = @region.get_namespace.get_namespace_path
@@ -126,5 +104,5 @@
   def gen_plugin_decl_code( file )
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
     if @@generated_celltype[ @ct_name_body ] == nil then
@@ -144,5 +122,5 @@
     end
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ @ct_name ] == nil then
         @@generated_celltype[ @ct_name ] = [ self ]
@@ -155,6 +133,6 @@
 EOT
         else
-            # TODO inlineã«ããæ¹ãå¹çããããï¼tecsgenã®çæããããããã¡ã¤ã«ã®
-            # èª­è¾¼é ã®ããã«ã¨ã©ã¼ã¨ãªã
+            # TODO inlineにした方が効率がよいが，tecsgenの生成したヘッダファイルの
+            # 読込順のためにエラーとなる
         file2.print <<EOT
 celltype #{@ct_name} {
@@ -173,5 +151,5 @@
 
 =begin
-    # TODO: send. receive å¯¾å¿
+    # TODO: send. receive 対応
     send_receive = []
     if @signature != nil then
@@ -205,5 +183,5 @@
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -214,16 +192,16 @@
 
     if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_name]  # mikan namespace
     # cell = Namespace.find( path )
     # cell = Namespace.find( @next_cell.get_namespace_path )
 
-    ##### ã¯ã©ã¤ã¢ã³ãå´ã®ã»ã«ã®çæ #####
+    ##### クライアント側のセルの生成 #####
     # file.print "[domain(HRP2, \"trusted\")]"
     nest = @start_region.gen_region_str_pre file
     nest_str = "  " * nest
 
-    # ã¯ã©ã¤ã¢ã³ãå´ãã£ã³ãã«ã®çæ
-    # æ¡å¼µãµã¼ãã¹ã³ã¼ã«å¼åºã
+    # クライアント側チャンネルの生成
+    # 拡張サービスコール呼出し
     file.print <<EOT
 #{nest_str}  //  Client Side Channel
@@ -236,10 +214,10 @@
     file.print "\n\n"
 
-    ##### ãµã¼ãã¼å´ã®ã»ã«ã®çæ #####
+    ##### サーバー側のセルの生成 #####
     nest = @end_region.gen_region_str_pre file
     nest_str = "  " * nest
 
-    # ãµã¼ãã¼å´ãã£ã³ãã«ã®çæ 
-    # æ¡å¼µãµã¼ãã¹ã³ã¼ã«æ¬ä½
+    # サーバー側チャンネルの生成 
+    # 拡張サービスコール本体
     file.print <<EOT
 
@@ -260,10 +238,10 @@
     else
 
-    ##### ã¯ã©ã¤ã¢ã³ãå´ã®ã»ã«ã®çæ #####
+    ##### クライアント側のセルの生成 #####
     nest = @start_region.gen_region_str_pre file
     nest_str = "  " * nest
 
-    # ã¯ã©ã¤ã¢ã³ãå´ãã£ã³ãã«ã®çæ
-    # æ¡å¼µãµã¼ãã¹ã³ã¼ã«å¼åºã
+    # クライアント側チャンネルの生成
+    # 拡張サービスコール呼出し
     file.print <<EOT
 #{nest_str}  //  Client Side Channel
@@ -280,10 +258,8 @@
    end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     éå¸¸ã§ããã°ãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã©ã°ã¤ã³ã®å ´åãå¤æ´ããå¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
+  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -298,5 +274,5 @@
 
     if !HRP2KernelObjectPlugin.include_celltype?(@next_cell.get_celltype)
-        # æ¡å¼µãµã¼ãã¹ã³ã¼ã«å¼åºã
+        # 拡張サービスコール呼出し
         if ! func_type.get_type.kind_of?( VoidType ) then
             file.print( "  #{func_type.get_type_str}  retval;\n" )
@@ -310,5 +286,5 @@
     p_cellcb = #{global_ct_name}_GET_CELLCB(idx);
   }else{
-     /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+     /* エラー処理コードをここに記述 */
   }
 
@@ -361,5 +337,5 @@
         end
 
-        # æ¡å¼µãµã¼ãã¹ã³ã¼ã«æ¬ä½
+        # 拡張サービスコール本体
         if new_func
             file2 = AppFile.open( "#{$gen}/#{@ct_name_body}.c" )
@@ -370,14 +346,14 @@
 #                 file2.print <<EOT
 # /*
-#  * ãã®ãã¡ã¤ã«ã¯ tecsgen ã«ããèªåçæããã¾ãã
-#  * ãã®ãã¡ã¤ã«ãç·¨éãã¦ä½¿ç¨ãããã¨ã¯ãæå³ããã¦ãã¾ãã
+#  * このファイルは tecsgen により自動生成されました
+#  * このファイルを編集して使用することは、意図されていません
 #  */
 # /* #[<PREAMBLE>]#
-#  * #[<...>]# ãã #[</...>]# ã§å²ã¾ããã³ã¡ã³ãã¯ç·¨éããªãã§ãã ãã
-#  * tecsmerge ã«ãããã¼ã¸ã«ä½¿ç¨ããã¾ã
+#  * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+#  * tecsmerge によるマージに使用されます
 #  *
 #  * #[</PREAMBLE>]# */
 # 
-# /* ãã­ãã¿ã¤ãå®£è¨ãå¤æ°ã®å®ç¾©ãããã«æ¸ãã¾ã #_PAC_# */
+# /* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
 # #include "#{@ct_name_body}_tecsgen.h"
 # 
@@ -407,5 +383,5 @@
       p_cellcb = #{@ct_name_body}_GET_CELLCB(idx);
     }else{
-       /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+       /* エラー処理コードをここに記述 */
     }
 #else
@@ -463,5 +439,5 @@
             file2 = AppFile.open( "#{$gen}/tecsgen.cfg" )
             file2.print "\n/* Generated by HRP2SVCPlugin */\n\n"
-            # TODO: ã¹ã¿ãã¯ãµã¤ãºã¯é©å½
+            # TODO: スタックサイズは適当
             file2.print <<EOT
 KERNEL_DOMAIN{
@@ -479,5 +455,5 @@
         end
     else
-        # ã«ã¼ãã«ãã¡ã¤ã³ã®ã»ã«ã¯ç¹å¥ãªãã¨ã¯ä½ãããï¼æ®éã«å¼ã³åºã
+        # カーネルドメインのセルは特別なことは何もせず，普通に呼び出す
         super
     end
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SemaphorePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SemaphorePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2SemaphorePlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   Copyright (C) 2008-2011 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -58,9 +43,8 @@
     @@ep = [:eSignalSemaphore, :eWaitSemaphore, :eManageSemaphore, :eReferSemaphore ]
     #=== HRP2SemaphorePlugin#print_cfg_cre
-    # CRE_SEMã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # tab :: string:   ã¤ã³ãã³ãç¨ã®tab
+    # CRE_SEMの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # tab :: string:   インデント用のtab
     def print_cfg_cre(file, cell, val, tab)
         file.print tab
@@ -68,13 +52,12 @@
     end
     #=== HRP2SemaphorePlugin#print_cfg_sac
-    # SAC_SEMã®åºå
-    # file:: FILE:     åºåå
-ãã¡ã¤ã«
-    # val :: string:   ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å±æ§ã®è§£æçµæ
-    # acv :: string:   ã¢ã¯ã»ã¹ãã¯ã¿    
+    # SAC_SEMの出力
+    # file:: FILE:     出力先ファイル
+    # val :: string:   カーネルオブジェクトの属性の解析結果
+    # acv :: string:   アクセスベクタ    
     def print_cfg_sac(file, val, acv)
         file.puts "SAC_SEM(#{val[:id]}, {#{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]}});"
     end
-    #tSemaphoreã®åãå£ãªã¹ã 
+    #tSemaphoreの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2TaskPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2TaskPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2TaskPlugin.rb	(revision 321)
@@ -6,47 +6,32 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
@@ -54,9 +39,8 @@
 #require "HRP2KernelObjectPlugin"
 require_tecsgen_lib "HRP2KernelObjectPlugin.rb"
-#== celltype ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== celltype プラグインの共通の親クラス
 class HRP2TaskPlugin < HRP2KernelObjectPlugin
     # @@ep = [:eActivateTask, :eControlTask, :eManageTask, :eReferTask ]
-    # ATT_MODãçææ¸ã¿ãã©ãã
+    # ATT_MODを生成済みかどうか
     @@generate_memory_module = false
 
@@ -69,16 +53,16 @@
     def print_cfg_cre(file, cell, val, tab)
         val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_name.to_s}" )
-        # $cbp$ã®ä»£ãã
+        # $cbp$の代わり
         index = cell.get_id - @celltype.get_id_base
         #cell_CB_name = "#{@celltype.get_global_name}_pCB_tab[#{index}]"
         cell_CB_name = "#{index}"
-        # CRE_XXX/DEF_XXXã®çæ
+        # CRE_XXX/DEF_XXXの生成
         print "assign task plugin\n"
         domainOption = cell.get_region.get_domain_root.get_domain_type.get_option
         # if cell.get_region.get_region_type == :DOMAIN
         if domainOption != "OutOfDomain"
-            # ä¿è­·ãã¡ã¤ã³ã«å±ããå ´å
+            # 保護ドメインに属する場合
             if domainOption == "trusted"
-                # ã«ã¼ãã«ãã¡ã¤ã³
+                # カーネルドメイン
                 if val[:userStackSize] != "OMIT"
                     raise "system task cannot have user stack."
@@ -88,5 +72,5 @@
 EOT
             else
-                # ã¦ã¼ã¶ãã¡ã¤ã³
+                # ユーザドメイン
                 if val[:userStackSize] == "OMIT"
                     raise "user task must have user stack."
@@ -103,9 +87,9 @@
             end
         else
-            # ç¡æå±ã®å ´å
+            # 無所属の場合
             raise "task #{val[:id]} must belong to a domain."
         end
    
-        # ä¾å¤ç¨ã®ãçæ
+        # 例外用のを生成
         file.print <<EOT
 #{tab}DEF_TEX(#{val[:id]}, { #{val[:exceptionAttribute]}, tTask_start_exception });
@@ -118,5 +102,5 @@
 
 =begin
-    #tTaskã®åãå£ãªã¹ã 
+    #tTaskの受け口リスト 
     def get_entry_ports_name_list()
         @@ep
@@ -124,7 +108,7 @@
 =end
     # 
-    #  ATT_MODã®çæ
-    #  gen_factoryå®è¡æã«ã¯ï¼ãã¹ã¦ã®ã»ã«ã¿ã¤ããã©ã°ã¤ã³ãçææ¸ã¿ã®ã¯ããªã®ã§ï¼
-    #  ã«ã¼ãã«APIã³ã¼ãã®ã¡ã¢ãªä¿è­·ãçç¥ã§ããï¼
+    #  ATT_MODの生成
+    #  gen_factory実行時には，すべてのセルタイププラグインを生成済みのはずなので，
+    #  カーネルAPIコードのメモリ保護を省略できる．
     #
     def gen_factory file
@@ -134,19 +118,18 @@
 
             Cell.get_cell_list2.each { |cell|
-                # ãã¹ã¦ã®ã»ã«ãèµ°æ»ãã¦ã»ã«ã¿ã¤ãããã§ãã¯
+                # すべてのセルを走査してセルタイプをチェック
                 ct = cell.get_celltype
                 if ct.class == Celltype && check_celltype_list.include?( ct ) == false
-                    # æªãã§ãã¯ã®ã»ã«ã¿ã¤ãã ã£ãå ´å
+                    # 未チェックのセルタイプだった場合
                     # puts "check for ATT_MOD : #{ct.classget_global_name}"
                     puts "check for ATT_MOD : #{ct.get_global_name}"
                         
-                    # ã«ã¼ãã«APIã®ã³ã¼ãï¼ãã¼ã¿ã¯ã¡ã¢ãªä¿è­·ããªã
+                    # カーネルAPIのコード，データはメモリ保護しない
                     next if HRP2KernelObjectPlugin.include_celltype?( ct )
 
-                    # å¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã®ã³ã¼ãï¼ãã¼ã¿ã¯ã¡ã¢ãªä¿è­·ããªã
+                    # 必要のないセルタイプのコード，データはメモリ保護しない
                     next if ! ct.need_generate?
 
-                    # HRP2ã®ãã¡ã¤ã³ãªã¼ã¸ã§ã³ãåå¾
+                    # HRP2のドメインリージョンを取得
                     regions = ct.get_domain_roots
                     regions_hrp2 = regions[ :HRP2 ]
@@ -157,10 +140,9 @@
                     puts ""
 
-                    # ã»ã«ç®¡çãã­ãã¯ã¨ã¹ã±ã«ãã³ã®ã¡ã¢ãªä¿è­·
-                    # gen_celltype_names_domain ç¸å½ã®å¦ç
+                    # セル管理ブロックとスケルトンのメモリ保護
+                    # gen_celltype_names_domain 相当の処理
                     if regions_hrp2.include?( Region.get_root ) == false && regions_hrp2.length > 1
-                        # ãã¡ã¤ã³ãè¤æ°ã§ï¼OutOfDomainã«ã»ã«ãå­å¨ããªãã»ã«ã¿ã¤ãã®å ´å
-                        # å
-±æã®ã»ã«ç®¡çãã­ãã¯ã¨ã¹ã±ã«ãã³ã³ã¼ããç»é²ãã
+                        # ドメインが複数で，OutOfDomainにセルが存在しないセルタイプの場合
+                        # 共有のセル管理ブロックとスケルトンコードを登録する
                         file = AppFile.open( "#{$gen}/tecsgen.cfg" )
                         file.print "ATT_MOD(\"#{ct.get_global_name}_tecsgen.o\");\n"
@@ -179,18 +161,17 @@
                     }
 
-                    # ã»ã«ã¿ã¤ãã³ã¼ãããªãå ´åã¯ã¹ã­ãã
+                    # セルタイプコードがない場合はスキップ
                     next if ct.is_all_entry_inline? && ! ct.is_active?
 
-                    # ã»ã«ã¿ã¤ãã³ã¼ãã®ã¡ã¢ãªä¿è­·
-                    # gen_celltype_names_domain2 ç¸å½ã®å¦ç
+                    # セルタイプコードのメモリ保護
+                    # gen_celltype_names_domain2 相当の処理
                     if regions_hrp2.include?( Region.get_root ) == true || regions_hrp2.length > 1
-                        # OutOfDomainã«ã»ã«ãå­å¨ããã»ã«ã¿ã¤ãã®å ´å
-                        # ã¾ãã¯ï¼è¤æ°ã®ãã¡ã¤ã³ã«ã»ã«ãå­å¨ããã»ã«ã¿ã¤ãã®å ´å
-                        # ã»ã«ã¿ã¤ãã³ã¼ããå
-±æããããã«ç»é²ãã
+                        # OutOfDomainにセルが存在するセルタイプの場合
+                        # または，複数のドメインにセルが存在するセルタイプの場合
+                        # セルタイプコードを共有するように登録する
                         file = AppFile.open( "#{$gen}/tecsgen.cfg" )
                     else
-                        # OutOfDomainã§ãªãåä¸ã®ãã¡ã¤ã³ã«ã»ã«ãå­å¨ããã»ã«ã¿ã¤ãã®å ´å
-                        # ã»ã«ã¿ã¤ãã³ã¼ããå°æããããã«ç»é²ãã
+                        # OutOfDomainでない単一のドメインにセルが存在するセルタイプの場合
+                        # セルタイプコードを専有するように登録する
                         file = AppFile.open( "#{$gen}/tecsgen_#{regions_hrp2[0].get_namespace_path.get_global_name}.cfg" )
                     end
@@ -201,5 +182,5 @@
                     check_celltype_list << ct
                 else
-                    # ä½ãããªã
+                    # 何もしない
                 end
             }
@@ -207,5 +188,5 @@
             @@generate_memory_module = true
         else
-            # ä½ãããªã
+            # 何もしない
         end
     end
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/Mruby2CBridgePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/Mruby2CBridgePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/Mruby2CBridgePlugin.rb	(revision 321)
@@ -5,49 +5,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: Mruby2CBridgePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #
 
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/MrubyBridgePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/MrubyBridgePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/MrubyBridgePlugin.rb	(revision 321)
@@ -5,82 +5,67 @@
 #   Copyright (C) 2008-2015 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: MrubyBridgePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #
 
 # Todo:
-# çæãããã®
+# 生成するもの
 #  gen_cdl_file
-#    ããªãã¸åæåã»ã«ã¿ã¤ã (ã·ã°ããã£ãã¨)
-#       @@init_celltypes ã«è¨é²
-#    ããªãã¸ã»ã«ã¿ã¤ã (ã·ã°ããã£ãã¨)
-#       @@celltypes ã«è¨é²
-#    æ§é ä½ã»ã«ã¿ã¤ã
-#       @@struct_list ã«è¨é²
+#    ブリッジ初期化セルタイプ (シグニチャごと)
+#       @@init_celltypes に記録
+#    ブリッジセルタイプ (シグニチャごと)
+#       @@celltypes に記録
+#    構造体セルタイプ
+#       @@struct_list に記録
 #  new_cell
-#    TECS åæåã»ã«(ãã­ãã¿ã¤ãå®£è¨)
-#       @@VM_init_cells ã«è¨é²
-#       @@VM_struct_list ã«è¨é²
-#       @@VM_ptr_list ã«è¨é²
+#    TECS 初期化セル(プロトタイプ宣言)
+#       @@VM_init_cells に記録
+#       @@VM_struct_list に記録
+#       @@VM_ptr_list に記録
 #  gen_post_code
-#    æ§é ä½åæåã»ã«
-#    ãã¤ã³ã¿åæåã»ã«
-#    TECS åæåã»ã«
+#    構造体初期化セル
+#    ポインタ初期化セル
+#    TECS 初期化セル
 #
-#   ep_func ã®ä½æ
-#     signature, ãã¤ã³ã¿ãæ§é ä½ â¦ åæååãå£ï¼mruby VM ã¸ã®ç»é²
-#     ãã¤ã³ã¿
-#   preamble ã®ä½æ
-#     ãã¤ã³ã¿ãæ§é ä½ â¦ ã¢ã¯ã»ã¹ç¨ã³ã¼ãã®çæ
-#     signature â¦ ããªãã¸é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
-#   postamble ã®ä½æ
-#     signature â¦ ããªãã¸é¢æ°ã®å®ç¾©
+#   ep_func の作成
+#     signature, ポインタ、構造体 … 初期化受け口＝mruby VM への登録
+#     ポインタ
+#   preamble の作成
+#     ポインタ、構造体 … アクセス用コードの生成
+#     signature … ブリッジ関数のプロトタイプ宣言
+#   postamble の作成
+#     signature … ブリッジ関数の定義
 
 class MrubyBridgePlugin < SignaturePlugin
 
-  # ãã©ã°ã¤ã³å¼æ°å => Proc
+  # プラグイン引数名 => Proc
   MrubyBridgePluginArgProc = { 
       "ignoreUnsigned" => Proc.new { |obj,rhs| obj.set_ignoreUnsigned rhs },
@@ -89,15 +74,12 @@
   }
 
-  @@celltypes = { }             # {celltype_name => [ BridgePlugin ã®ã¤ã³ã¹ã¿ã³ã¹ã®é
-å }
-  @@init_celltypes = { }        # {celltype_name => [ BridgePlugin ã®ã¤ã³ã¹ã¿ã³ã¹ã®é
-å }
+  @@celltypes = { }             # {celltype_name => [ BridgePlugin のインスタンスの配列 }
+  @@init_celltypes = { }        # {celltype_name => [ BridgePlugin のインスタンスの配列 }
   @@struct_list = { }           # {struct_name=>StructType}
-  @@ptr_list = { }              # {ptr_celltype_name=> @@TYPE_MAP ã®å¯¾å¿ãããã®}
+  @@ptr_list = { }              # {ptr_celltype_name=> @@TYPE_MAP の対応するもの}
   @@VM_list = { }               # VM_name => true
-  @@VM_celltypes = {  }             # VM_name => { @celltype_name => ã»ã«ã®é
-å }
+  @@VM_celltypes = {  }             # VM_name => { @celltype_name => セルの配列 }
   @@VM_struct_list = { }           # {name=>StructType}
-  @@VM_ptr_list = { }              # { VM_name => {name=> @@TYPE_MAP ã®å¯¾å¿ãããã®} }
+  @@VM_ptr_list = { }              # { VM_name => {name=> @@TYPE_MAP の対応するもの} }
   @@TYPE_MAP = {           # type_str   class             GET_SET
     :char_t            => [:char_t,    "Char",     :Char,  :INT   ],
@@ -116,5 +98,5 @@
 
     :int               => [:int,       "Int",      :Int,  :INT   ], 
-    :char              => [:char,      "Char",     :Char, :INT   ],    # char ã¯ char_t ã¨ãã¦æ±ã
+    :char              => [:char,      "Char",     :Char, :INT   ],    # char は char_t として扱う
     :short             => [:short,     "Short",    :Int,  :INT   ],
     :long              => [:long,      "Long",     :Int,  :INT   ],
@@ -138,7 +120,7 @@
   # included  or excluded functions
 
-  ### ã­ã¼ããããæç¹ã§å®è¡ããã ###
-
-  # -I ã« $(TECSPATH)/mruby ãè¿½å 
+  ### ロードされた時点で実行される ###
+
+  # -I に $(TECSPATH)/mruby を追加
   # TECSGEN::Makefile.add_obj "$(MRUBY_MAIN_OBJ)"
   TECSGEN::Makefile.add_ldflag "-lmruby -L$(MRUBYPATH)/lib -lm"
@@ -148,6 +130,6 @@
 
 
-  #=== ãã©ã°ã¤ã³ã¤ã³ã¹ã¿ã³ã¹ã®åæå
-  # æ»ãå¤ãå¼æ°ã®åãä½¿ç¨å¯è½ãªãã®ããã§ãã¯ãã
+  #=== プラグインインスタンスの初期化
+  # 戻り値、引数の型が使用可能なものかチェックする
   #
   def initialize( signature, option )
@@ -178,5 +160,5 @@
 
     if signature.get_function_head_array == nil then
-      return   # ä»¥åã«ææ³ã¨ã©ã¼çºç
+      return   # 以前に文法エラー発生
     end
 
@@ -257,8 +239,6 @@
         when FloatType
         when PtrType
-          ttype_org = type_org.get_type       # ãã¤ã³ã¿ã®æãã¦ããå
-ã®å
-          ttype = ttype_org.get_original_type # ä¸è¨ã® typedef ããã¦ããå ´åãå
-ã®å
+          ttype_org = type_org.get_type       # ポインタの指している先の型
+          ttype = ttype_org.get_original_type # 上記の typedef されている場合、元の型
           register_ptr_type ttype_org
 
@@ -298,5 +278,5 @@
   end
 
-  #=== æ§é ä½ã®ã¡ã³ãã¼ã®åã®ãã§ãã¯
+  #=== 構造体のメンバーの型のチェック
   def check_struct_member struct_type
     #p "tag name:#{struct_type.get_name}"
@@ -345,20 +325,20 @@
       return
     end
-    tstr = ttype.get_type_str.sub( /const /, "" )    # const ã¯ç¡è¦
-    tstr = tstr.sub( /volatile /, "" )               # volatile ãç¡è¦
+    tstr = ttype.get_type_str.sub( /const /, "" )    # const は無視
+    tstr = tstr.sub( /volatile /, "" )               # volatile も無視
     if @b_ignoreUnsigned then
-      tstr = tstr.sub( /unsigned /, "" )             # volatile ãç¡è¦
-      tstr = tstr.sub( /uint/, "int" )               # volatile ãç¡è¦
-      tstr = tstr.sub( /[cs]char/, "char" )          # volatile ãç¡è¦
+      tstr = tstr.sub( /unsigned /, "" )             # volatile も無視
+      tstr = tstr.sub( /uint/, "int" )               # volatile も無視
+      tstr = tstr.sub( /[cs]char/, "char" )          # volatile も無視
     end
     return @@TYPE_MAP[ tstr.to_sym ]
   end
 
-  #===  CDL ãã¡ã¤ã«ã®çæ
-  #      typedef, signature, celltype, cell ã³ã¼ããçæ
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  CDL ファイルの生成
+  #      typedef, signature, celltype, cell コードを生成
+  #file::        FILE       生成するファイル
   def gen_cdl_file(file)
 
-    # ããªãã¸ã»ã«ã¿ã¤ãã®çæ
+    # ブリッジセルタイプの生成
     if @@celltypes[ @celltype_name ] == nil then
       @@celltypes[ @celltype_name ] = [ self ]
@@ -389,5 +369,5 @@
 EOT
 
-      # æ§é ä½ã»ã«ã¿ã¤ãã®çæ
+      # 構造体セルタイプの生成
       @struct_list.each{ |name, sttype|
         if @@struct_list[ name ] == nil then
@@ -410,6 +390,6 @@
   end
 
-  #=== gen_cdl_file ã§å®ç¾©ããã»ã«ã¿ã¤ãã« æ°ããã»ã«ãå®ç¾©ããã
-  # cell ã®ã»ã«ã¿ã¤ãã®ååã¯ @celltype_name
+  #=== gen_cdl_file で定義したセルタイプに 新しいセルが定義された
+  # cell のセルタイプの名前は @celltype_name
   def new_cell cell
     if cell.get_celltype.get_name != @celltype_name then
@@ -430,5 +410,5 @@
       file = CFile.open( initializer_celltype_cdl, "w" )
 
-      # TECS åæåã»ã«(ãã­ãã¿ã¤ãå®£è¨)
+      # TECS 初期化セル(プロトタイプ宣言)
       print_msg "  MrubyBridgePlugin: join your VM's cInitialize to #{vm_name}_TECSInitializer.eInitialize\n"
 
@@ -475,6 +455,6 @@
   end
 
-  #=== ãã©ã°ã¤ã³ã CDL ã® POST ã³ã¼ããçæ
-  # tmp_plugin_post_code.cdl ã¸ã®åºå
+  #=== プラグインが CDL の POST コードを生成
+  # tmp_plugin_post_code.cdl への出力
   def self.gen_post_code file
 
@@ -498,5 +478,5 @@
 # EOT
 
-# gen_post_code ã§çæãã celltype ã¯ gen_ep_func ãå¼ã³åºãããªã #847
+# gen_post_code で生成した celltype は gen_ep_func が呼び出されない #847
 #    @@struct_list.each{ |name,sttype|
 #      file.print <<EOT
@@ -566,8 +546,8 @@
   end
 
-  ####### ä»¥ä¸ã³ã¼ãçææ®µé ######
-
-  #===  åãå£é¢æ°ã®æ¬ä½ã³ã¼ããçæï¼é ­é¨ã¨æ«å°¾ã¯å¥éåºåï¼
-  #ct_name:: Symbol    (ãã©ã°ã¤ã³ã§çæããã) ã»ã«ã¿ã¤ãå ï¼Symbol ã¨ãã¦éããã¦ãã
+  ####### 以下コード生成段階 ######
+
+  #===  受け口関数の本体コードを生成（頭部と末尾は別途出力）
+  #ct_name:: Symbol    (プラグインで生成された) セルタイプ名 ．Symbol として送られてくる
   def gen_ep_func_body( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
     if @@celltypes[ ct_name ] then
@@ -673,9 +653,7 @@
   end
 
-  #===  åãå£é¢æ°ã® preamble (Cè¨èª)ãçæãã
-  #     å¿
-è¦ãªã preamble é¨ã«åºåãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の preamble (C言語)を生成する
+  #     必要なら preamble 部に出力する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -1135,11 +1113,10 @@
     if( param.get_size ) then
       sz_str = param.get_size.to_s
-    elsif param.get_string then      # mikan ã¨ãããã size_is ã¨ string ã®åææå® (äºéãã¤ã³ã¿) ã¯ãªã
+    elsif param.get_string then      # mikan とりあえず size_is と string の同時指定 (二重ポインタ) はなし
       sz_str = param.get_string.to_s
     else
       sz_str = "1"
     end
-    # unsigned åã®å ´åã«ã¯ cast ãå¿
-è¦
+    # unsigned 型の場合には cast が必要
     if ttype.get_original_type.get_type_str != param.get_type.get_type.get_type_str then
       cast_str = "(#{param.get_type.get_type_str})"
@@ -1171,5 +1148,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° ignoreUnsigned
+  #=== プラグイン引数 ignoreUnsigned
   def set_ignoreUnsigned rhs
     if rhs == "true" || rhs == nil then
@@ -1177,5 +1154,5 @@
     end
   end
-  #=== ãã©ã°ã¤ã³å¼æ° include
+  #=== プラグイン引数 include
   def set_include rhs
     funcs = rhs.split ','
@@ -1195,5 +1172,5 @@
     }
   end
-  #=== ãã©ã°ã¤ã³å¼æ° exclude
+  #=== プラグイン引数 exclude
   def set_exclude rhs
     funcs = rhs.split ','
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/NotifierPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/NotifierPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/NotifierPlugin.rb	(revision 321)
@@ -14,79 +14,61 @@
 class NotifierPlugin < CelltypePlugin
 
-	# ---------- ã¢ããã¿é¢æ°ã®çæ -------------
+	# ---------- アダプタ関数の生成 -------------
 	#
-	# siHandlerBodyã®åãå£é¢æ°ã¯ï¼ã¿ã¤ã ã¤ãã³ãéç¥ã®éç¥å
-ã¨ãã¦ç´æ¥æå®ãã
-	# ãã¨ã¯ã§ããªãï¼ã·ã°ããã£ãä¸è´ãã¦ããªããã¨ãçç±ã§ããï¼ãã®ããï¼ã¢ã
-	# ãã¿ã¨ãã¦åä½ããé¢æ°ãçæãï¼ã«ã¼ãã«ããã®å¼åºããTECSã®å¼åºãã«å¤æã§
-	# ããããã«ããå¿
-è¦ãããï¼
+	# siHandlerBodyの受け口関数は，タイムイベント通知の通知先として直接指定する
+	# ことはできない．シグネチャが一致していないことが理由である．このため，アダ
+	# プタとして動作する関数を生成し，カーネルからの呼出しをTECSの呼出しに変換で
+	# きるようにする必要がある．
 	#
-	# åºæ¬çã«ã¯ï¼åãå£æ¯ã«ã¢ããã¿é¢æ°ãçæããã°ååã§ããï¼ãããï¼ããã§ã¯
-	# ã¡ã¢ãªæ¶è²»éãä¸å¿
-è¦ã«å¢å ãã¦ãã¾ãï¼ããã§ï¼éç¥å
-é¢æ°ã«intptr_tåã®å¼æ°
-	# ãæ¸¡ãããã¨ã«çç®ãï¼é¢æ°ã®"ä¸è¬å"ãå³ãï¼ããªãã¡åãå£ã®ããå±æ§(ãã
-	# ã§ã¯ï¼çµåå
-ã®ã»ã«ï¼æ·»å­ãªã©ãæã)ãï¼ã¢ããã¿é¢æ°ã®å¼æ°ã¨ãã¦åãåãã
-	# ããã«ãï¼1åã®ã¢ããã¿é¢æ°ã2åä»¥ä¸ã®çµåã«å¯¾ãç¨ãããã¨ãã§ããããã«
-	# ããï¼
+	# 基本的には，受け口毎にアダプタ関数を生成すれば十分である．しかし，これでは
+	# メモリ消費量が不必要に増加してしまう．そこで，通知先関数にintptr_t型の引数
+	# を渡せることに着目し，関数の"一般化"を図る．すなわち受け口のある属性(ここ
+	# では，結合先のセル，添字などを指す)を，アダプタ関数の引数として受け取れる
+	# ようにし，1個のアダプタ関数を2個以上の結合に対し用いることができるように
+	# する．
 	#
-	# ã¢ããã¿é¢æ°ã®å±æ§ã«ã¤ãã¦æ´çããã¨ï¼
-	#  - åãå£é¢æ° - ä¸è¬åãè¡ãã¨ï¼å®è¡æã³ã¹ããå¤§ããå¢å¤§ãã¦ãã¾ããã¨ã
-	#    ç¢ºèªããã¦ããï¼ãã®ããï¼ä¸è¬åã¯è¡ããªãï¼EntryPropertyã«ãå«ããªãï¼
-	#  - ã»ã«ã¤ã³ããã¯ã¹ - CELLIDXåã§ï¼åã®è¦å®ã¯ãªããï¼"ãã¤ã³ã¿å¤ã§ãã£ãã
-	#    æ´æ°å¤ã§ãã£ããããã" (TECS 5.3.6) ããï¼ã¤ã³ããã¯ã¹ããã¤ã³ã¿ãã
-	#    ãã¨ãåããï¼ã¤ã³ããã¯ã¹ã ã¨ããã¨ï¼ãã®å¤ã¯ã»ã«CBã®ã¢ãã¬ãã·ã³ã°ã«
-	#    ä½¿ç¨ãããã®ã§ï¼intptr_tã«åã¾ãç­ã§ããï¼ãã¤ã³ã¿ã®å ´åï¼å½ç¶intptr_t
-	#    ã«åã¾ãï¼
-	#  - åãå£é
-åã®æ·»å­ - int_tï¼åæ§ã«intptr_tã«åã¾ãç­ã§ããï¼
-	# ãããã®ãã¡ï¼ã»ã«ã¤ã³ããã¯ã¹ã¨åãå£é
-åã®æ·»å­ã¯ãã©ã¡ã¼ã¿ã«å«ãããã¨ã
-	# ã§ãããã§ãããï¼ä¸¡æ¹ã¯ç¡çã§ããï¼
-	# ä¸¡æ¹ãæ ¼ç´ããé
-åãçæãï¼ãã®é
-åã®è¦ç´ ã¸ã®ãã¤ã³ã¿ãæ¸¡ãããã«ããã¨ã
-	# ãé¸æè¢ãå¯è½ã§ãããï¼å®è¡éåº¦ãåªå
-ããããã«ï¼ãã®æ¹æ³ã¯ã¨ããªãã£ãï¼
+	# アダプタ関数の属性について整理すると，
+	#  - 受け口関数 - 一般化を行うと，実行時コストが大きく増大してしまうことが
+	#    確認されている．このため，一般化は行わない．EntryPropertyにも含めない．
+	#  - セルインデックス - CELLIDX型で，型の規定はないが，"ポインタ値であったり
+	#    整数値であったりする。" (TECS 5.3.6) より，インデックスかポインタある
+	#    ことが分かる．インデックスだとすると，この値はセルCBのアドレッシングに
+	#    使用されるので，intptr_tに収まる筈である．ポインタの場合，当然intptr_t
+	#    に収まる．
+	#  - 受け口配列の添字 - int_t．同様にintptr_tに収まる筈である．
+	# これらのうち，セルインデックスと受け口配列の添字はパラメータに含めることが
+	# できそうであるが，両方は無理である．
+	# 両方を格納した配列を生成し，その配列の要素へのポインタを渡すようにするとい
+	# う選択肢も可能であるが，実行速度を優先するために，この方法はとらなかった．
 	#
-	# ãã®ããï¼ä¸è¬åã¯ä»¥ä¸ã®ãã¿ã¼ã³ã«åé¡ãã¦è¡ãï¼
+	# このため，一般化は以下のパターンに分類して行う．
 	#
-	# 1. ã»ã«ã¤ã³ããã¯ã¹ã®ã¿ä¸è¬åï¼ã»ã«ã¤ã³ããã¯ã¹ã®ãã¿ã¼ã³æ°ãåãå£é
-åã®
-	#    æ·»å­ã®ãã¿ã¼ã³æ°ããå¤ããï¼ãããã¯åãå£ãé
-åã§ãªãå ´åã«è¡ãããï¼
-	# 2. åãå£é
-åã®æ·»å­ã®ã¿ä¸è¬åï¼ãã®å ´åï¼ã»ã«ãã¨ã«ç°ãªãé¢æ°ãç¨ããï¼
+	# 1. セルインデックスのみ一般化．セルインデックスのパターン数が受け口配列の
+	#    添字のパターン数より多いか，あるいは受け口が配列でない場合に行われる．
+	# 2. 受け口配列の添字のみ一般化．この場合，セルごとに異なる関数を用いる．
 	#
-	# ããããï¼ååãå£é¢æ°ã«ã¤ãã¦ï¼ã¢ããã¿é¢æ°ã®çæåæ°ã¯ï¼
-	#         O(min{ã»ã«ã¤ã³ããã¯ã¹ã®ãã¿ã¼ã³æ°, æ·»å­ã®ãã¿ã¼ã³æ°})
-	# ã¨ãªãï¼
+	# これより，各受け口関数について，アダプタ関数の生成個数は，
+	#         O(min{セルインデックスのパターン数, 添字のパターン数})
+	# となる．
 	#
-	# ãã©ã°ã¤ã³ã§ã®å¦çãã¯ã³ãã¹ã§è¡ãããã«ï¼tecsgen.cfgã§ã¯ã¢ããã¿é¢æ°ãç´
-	# æ¥æå®ããã®ã§ã¯ãªãï¼ä»£ããã«ã¢ããã¿é¢æ°ãè¡¨ããã¯ã­ãä½¿ç¨ããï¼ãã®
-	# ãã¯ã­ã¯ã¢ããã¿é¢æ°ãã³ãã«ã¨å¼ã¶ãã¨ã«ããï¼
-	# ã¢ããã¿é¢æ°ãã³ãã«ã¯ï¼æ¬¡ã®2åã®è¦ç´ ããæãï¼
-	#  - ã¢ããã¿é¢æ°ã¸ã®ã®ãã¤ã³ã¿
-	#  - ã¢ããã¿é¢æ°ã®å¼æ°
+	# プラグインでの処理をワンパスで行うために，tecsgen.cfgではアダプタ関数を直
+	# 接指定するのではなく，代わりにアダプタ関数を表すマクロを使用する．この
+	# マクロはアダプタ関数ハンドルと呼ぶことにする．
+	# アダプタ関数ハンドルは，次の2個の要素から成る．
+	#  - アダプタ関数へののポインタ
+	#  - アダプタ関数の引数
 
 	# @private
 	class AdapterGenerator
 
-		# çµåå
-ã«é¢ããå±æ§ãå«ãï¼ã»ã«ï¼åãå£é
-åã®æ·»å­ããæãï¼
-		# åä¸ã®EntryPropertyã¨ãªãçµåã¯ï¼å
-¨ãåãæ¹æ³ã§ãã®åãå£é¢æ°ãå¼ã³
-		# åºããï¼
+		# 結合先に関する属性を含む．セル，受け口配列の添字から成る．
+		# 同一のEntryPropertyとなる結合は，全く同じ方法でその受け口関数を呼び
+		# 出せる．
 		# @private
 		class EntryProperty
-			# @return [Cell] åãå£å´ã®ã»ã«ï¼
+			# @return [Cell] 受け口側のセル．
 			attr_reader :cell
 
-			# @return [Integer, nil] åãå£é
-åã®æ·»å­ï¼é
-åã§ãªãå ´åã¯nilï¼
+			# @return [Integer, nil] 受け口配列の添字．配列でない場合はnil．
 			attr_reader :subscript
 
@@ -100,6 +82,5 @@
 			end
 
-			# åå¤æ§ã®å®ç¾©ï¼Hashã®ã­ã¼ã¨ãã¦ä½¿ç¨ããã®ã«å¿
-è¦ï¼
+			# 同値性の定義．Hashのキーとして使用するのに必要．
 			def eql?(o) @cell == o.cell && @subscript == o.subscript end
 			def hash() @cell.hash ^ @subscript.hash end
@@ -108,11 +89,10 @@
 		# @private
 		class EntryPort
-			# @param [Port] port çµåå
-ã®ã»ã«ã®ã»ã«ã¿ã¤ãã®åãå£ï¼
+			# @param [Port] port 結合先のセルのセルタイプの受け口．
 			def initialize(port, prefix)
 				@port = port
 				@global_name = "#{prefix}_#{@port.get_celltype.get_global_name}_#{@port.get_name}"
 
-				# åãå£é¢æ°åï¼siHandlerBodyãæ³å®ãã¦ããã®ã§ï¼é¢æ°åã¯mainã§åºå®ã§ããï¼
+				# 受け口関数名．siHandlerBodyを想定しているので，関数名はmainで固定である．
 				@entry_fn_name = "#{@port.get_celltype.get_global_name}_#{@port.get_name}_main"
 
@@ -121,5 +101,5 @@
 			end
 
-			# @return [String] ã°ã­ã¼ãã«ã«ä¸æ(ãªãã®ã¨ãã¦æ±ãããã)ãªè­å¥å­ï¼
+			# @return [String] グローバルに一意(なものとして扱えるよう)な識別子．
 			attr_reader :global_name
 
@@ -127,7 +107,7 @@
 			attr_reader :port
 
-			# æå®ããEntryPropertyã«å¯¾å¿ããã¢ããã¿é¢æ°ãã³ãã«ãåå¾ããï¼
+			# 指定したEntryPropertyに対応するアダプタ関数ハンドルを取得する．
 			# @param [EntryProperty] ep
-			# @return [String] ã¢ããã¿é¢æ°ãã³ãã«ï¼
+			# @return [String] アダプタ関数ハンドル．
 			# @private
 			def adapter_handle_for_entry_property(ep)
@@ -139,13 +119,11 @@
 			end
 
-			# çµåå
-ã®æ
-å ±ã«å¿ããã¢ããã¿é¢æ°ãã½ã¼ã¹ã»ãããã¼ã«åºåããï¼
-			# ä¸è¬åæå®ã¯ï¼`cell`ã¾ãã¯`subscript`ã®ä¸æ¹ã®ã¿è¡ããã¨ãã§ããï¼
+			# 結合先の情報に応じたアダプタ関数をソース・ヘッダーに出力する．
+			# 一般化指定は，`cell`または`subscript`の一方のみ行うことができる．
 			#
 			# @param [AdapterGenerator] context
-			# @param [String] fn_name é¢æ°åï¼
-			# @param [Cell, Symbol] cell ã»ã«ï¼ã»ã«ã«ã¤ãã¦ä¸è¬åããå ´åã¯ `:generic`
-			# @param [Integer, Symbol, nil] subscript æ·»å­ï¼æ·»å­ã«ã¤ãã¦ä¸è¬åããå ´åã¯ `:generic`
+			# @param [String] fn_name 関数名．
+			# @param [Cell, Symbol] cell セル．セルについて一般化する場合は `:generic`
+			# @param [Integer, Symbol, nil] subscript 添字．添字について一般化する場合は `:generic`
 			# @private
 			def generate_inner(context, fn_name, cell, subscript)
@@ -158,11 +136,10 @@
 				ct = @port.get_celltype
 
-				# ã·ã³ã°ã«ãã³ã»ã«ã¿ã¤ãä»¥å¤ã§ã¯ï¼CELLIDXã®æå®ãå¿
-è¦ï¼
+				# シングルトンセルタイプ以外では，CELLIDXの指定が必要．
 				unless ct.is_singleton?
 					if cell == :generic
 						params << "(CELLIDX)extinf"
 					else
-						# ã»ã«ã®CELLIDXãå¾ã
+						# セルのCELLIDXを得る
 						if ct.has_INIB? || ct.has_CB?
 							params << ct.get_name_array(cell)[7]
@@ -173,6 +150,5 @@
 				end
 
-				# åãå£é
-åã®æ·»å­ï¼
+				# 受け口配列の添字．
 				if @port.get_array_size
 					if subscript == :generic
@@ -192,6 +168,6 @@
 			end
 
-			# æå®ããJoinã«å¯¾å¿ããã¢ããã¿é¢æ°ãã³ãã«ãåå¾ããï¼
-			# @return [Array] ã¢ããã¿é¢æ°ãã³ãã«ï¼
+			# 指定したJoinに対応するアダプタ関数ハンドルを取得する．
+			# @return [Array] アダプタ関数ハンドル．
 			def make_adapter_handle(join)
 				prop = EntryProperty.from_join(join)
@@ -203,5 +179,5 @@
 			end
 
-			# ã½ã¼ã¹ã»ãããã¼ã®è¨è¿°ãçæããï¼
+			# ソース・ヘッダーの記述を生成する．
 			# @param [AdapterGenerator] context
 			def generate(context)
@@ -217,18 +193,17 @@
 				no_cellidx = false
 				if !(ct.has_INIB? || ct.has_CB?)
-					# CB, INIBæé©åã«ããï¼CB, INIBãä¸¡æ¹ä¸è¦ã«ãªã£ãã±ã¼ã¹ï¼
-					# CELLIDXãä¸è¦ã§ããã®ã§ï¼ã»ã«ã«ã¤ãã¦ä¸è¬åãã¦ãæå³
-					# ã¯ãªãã®ã§ï¼æ·»å­ã«ããä¸è¬åãé¸æããï¼
+					# CB, INIB最適化により，CB, INIBが両方不要になったケース．
+					# CELLIDXが不要であるので，セルについて一般化しても意味
+					# はないので，添字による一般化を選択する．
 					generalize_by_cell_idx = false
 					no_cellidx = true
 
-					# å
-¨ã¦ã®ã»ã«ãåä¸è¦ããï¼
+					# 全てのセルを同一視する．
 					cells = { @props[0].cell => @props }
 
 					header_file.print " * No INIB & CB: generalized by subscript\n"
 				elsif @port.get_array_size
-					# ä¸è¬åãã¿ã¼ã³ã®åé¡ãè¡ãããã«ï¼åãå£å´ã»ã«ãæ·»å­ã®
-					# ãã¿ã¼ã³æ°ãåæãã¦ï¼æé©ãªæ¹ãé¸æããï¼
+					# 一般化パターンの分類を行うために，受け口側セルや添字の
+					# パターン数を分析して，最適な方を選択する．
 					generalize_by_cell_idx = cells.length >= subscripts.length
 					if generalize_by_cell_idx
@@ -238,5 +213,5 @@
 					end
 				else
-					# å¸¸ã«CELLIDXã§ä¸è¬å
+					# 常にCELLIDXで一般化
 					generalize_by_cell_idx = true
 					header_file.print " * non-array entry port: generalized by cell\n"
@@ -246,11 +221,10 @@
 
 				if generalize_by_cell_idx
-					# CELLIDXã«ã¤ãã¦ä¸è¬å
+					# CELLIDXについて一般化
 					subscripts.each { |subscript, props|
 						if subscript
 							fn_name = "#{@global_name}_adap_#{subscript}"
 						else
-							# åãå£é
-åã§ãªãå ´å
+							# 受け口配列でない場合
 							fn_name = "#{@global_name}_adap"
 						end
@@ -262,5 +236,5 @@
 							handle = adapter_handle_for_entry_property(prop)
 
-							# ã»ã«ã®CELLIDXãå¾ã
+							# セルのCELLIDXを得る
 							if ct.has_INIB? || ct.has_CB?
 								idx = ct.get_name_array(prop.cell)[7]
@@ -273,8 +247,8 @@
 					}
 				else
-					# æ·»å­ã«ã¤ãã¦ä¸è¬å
+					# 添字について一般化
 					cells.each { |cell, props|
 						if no_cellidx
-							# CB/INIB ãªã
+							# CB/INIB なし
 							fn_name = "#{@global_name}_adap"
 						else
@@ -302,6 +276,6 @@
 		attr :header_file
 
-		# @param [String] celltype_name ãã³ãã©é¢æ°ã®ã»ã«ã¿ã¤ãï¼
-		# @param [String] prefix ååè¡çªãé²ãããã®ãã¬ãã£ãã¯ã¹ï¼
+		# @param [String] celltype_name ハンドラ関数のセルタイプ．
+		# @param [String] prefix 名前衝突を防ぐためのプレフィックス．
 		def initialize(celltype_name, prefix)
 			@celltype_name = celltype_name
@@ -313,6 +287,6 @@
 
 		# ===AdapterGenerator#make_adapter_handle===
-		# æå®ããçµåã®å¼åºããè¡ãããã®ã¢ããã¿é¢æ°ãã³ãã«ãçæããï¼
-		# @return [Array] ã¢ããã¿é¢æ°ãã³ãã«ï¼
+		# 指定した結合の呼出しを行うためのアダプタ関数ハンドルを生成する．
+		# @return [Array] アダプタ関数ハンドル．
 		def make_adapter_handle(join)
 			entry_port = @entry_ports[join.get_rhs_port]
@@ -326,5 +300,5 @@
 
 		# ===AdapterGenerator#finish===
-		# ååãå£ã«å¯¾ãï¼ã¢ããã¿é¢æ°ãçæããï¼
+		# 各受け口に対し，アダプタ関数を生成する．
 		def finish
 			@source_file = AppFile.open( "#{$gen}/#{@celltype_name}.c" )
@@ -336,9 +310,9 @@
 	        @header_file.print "\n/* Generated by #{self.class.name} */\n\n"
 
-			# NotifierPluginãä½¿ç¨ããã»ã«ã¿ã¤ããè¤æ°ããå ´åï¼ããããã«
-			# å¯¾ãAdapterGenerator#finishãå¼ã³åºãããï¼tTimeEventHandler.hã«
-			# ç¶ãã¦æ¸ãè¾¼ãã§ãã¾ãã¨ï¼ãããã¼ã¬ã¼ãã®é¢ä¿ã§2åç®ä»¥éã®è¨è¿°
-			# ãèª­ã¿è¾¼ã¾ããªããªã£ã¦ãã¾ãï¼ãã®ããï¼ãã¡ã¤ã«å + ã»ã«ã¿ã¤ãå
-			# ã¨ããå°ãç¹æ®ãªãããã¼ã¬ã¼ããç¨ããï¼
+			# NotifierPluginを使用するセルタイプが複数ある場合，それぞれに
+			# 対しAdapterGenerator#finishが呼び出される．tTimeEventHandler.hに
+			# 続けて書き込んでしまうと，ヘッダーガードの関係で2回目以降の記述
+			# が読み込まれなくなってしまう．このため，ファイル名 + セルタイプ名
+			# という少し特殊なヘッダーガードを用いる．
 			header_guard = "#{@celltype_name}_H_#{@prefix}"
 
@@ -346,16 +320,12 @@
 	        @header_file.print "\#define #{header_guard}\n\n"
 
-	        # ã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãå®è¡ããéï¼ãã³ãã©åãå£ã®ã»ã«ã¿ã¤ã
-	        # ã®ã»ã«CBã®å®ç¾©ãå¿
-è¦ãªå ´åãããï¼
+	        # カーネルコンフィギュレータを実行する際，ハンドラ受け口のセルタイプ
+	        # のセルCBの定義が必要な場合がある．
 	        @header_file.print "\#include \"#{@celltype_name}_aux.h\"\n\n"
 
-			# çµåå
-ã®ã»ã«ã¿ã¤ãã®å®ç¾©ã¯ï¼èªåã®ã»ã«ã®tecsgen.hãããå
-ã«
-			# èª­ã¿è¾¼ã¾ãªããã°ãªããªããï¼ãã®ãã©ã°ã¤ã³ãè¤æ°å®è¡ãããã¨ï¼
-			# é åºãå´©ãã¦ãã¾ãï¼ããã§ï¼çµåå
-ã®ã»ã«ã¿ã¤ãã®å®ç¾©ã¯ããä¸ã¤ã®
-			# ãããã¼ãã¡ã¤ã«(tCelltypeName_aux.h)ããèª­ã¿è¾¼ãããã«ããï¼
+			# 結合先のセルタイプの定義は，自分のセルのtecsgen.hよりも先に
+			# 読み込まなければならないが，このプラグインが複数実行されると，
+			# 順序が崩れてしまう．そこで，結合先のセルタイプの定義はもう一つの
+			# ヘッダーファイル(tCelltypeName_aux.h)から読み込むようにする．
 			aux_header_file = AppFile.open( "#{$gen}/#{@celltype_name}_aux.h" )
 	        aux_header_file.print "\n/* Generated by #{self.class.name} */\n\n"
@@ -368,6 +338,5 @@
 			cb_type_only_guard = "#{@celltype_name}_AUX_H_#{@prefix}_CB_TYPE_ONLY"
 
-			# çµåå
-ã®ã»ã«ã¿ã¤ãã®å®ç¾©ãèª­ã¿è¾¼ã
+			# 結合先のセルタイプの定義を読み込む
 			aux_header_file.print "#ifndef TOPPERS_CB_TYPE_ONLY\n"
 		    aux_header_file.print "#define TOPPERS_CB_TYPE_ONLY\n"
@@ -400,5 +369,5 @@
 	end
 
-	# ------ éç¥ã®ãã³ãã©ã®ç¨®é¡ã®å®ç¾© -------
+	# ------ 通知のハンドラの種類の定義 -------
 
 	class Handler
@@ -410,8 +379,8 @@
 	end
 
-	# éå¸¸ã®ãã³ãã©
+	# 通常のハンドラ
 	EVENT_HANDLER = Handler::new("ciNotificationHandler")
 
-	# ã¨ã©ã¼ãã³ãã© (éå¸¸ã®ãã³ãã©ãå¤±æããå ´åã«å¼ã³åºããã)
+	# エラーハンドラ (通常のハンドラが失敗した場合に呼び出される)
 	ERROR_HANDLER = Handler::new("ciErrorNotificationHandler")
 
@@ -436,9 +405,8 @@
 	end
 
-	# ------ éç¥ã®å±æ§ã®å®ç¾© -------
+	# ------ 通知の属性の定義 -------
 	#
-	# ãã³ãã©ã¿ã¤ãã«åè´ããªãå±æ§ãæå®ãããå ´åã«
-	# ã¨ã©ã¼ãåºåã§ãããããå
-¨ã¦ã®å±æ§ãããã§åæããã
+	# ハンドラタイプに合致しない属性が指定された場合に
+	# エラーを出力できるよう、全ての属性をここで列挙する。
 
 	SETVAR_ADDR_ATTR =   HandlerAttribute::new("setVariableAddress")
@@ -456,5 +424,5 @@
 	]
 
-	# ------ ãã³ãã©ã¿ã¤ãã®å®ç¾© -------
+	# ------ ハンドラタイプの定義 -------
 
 	class BaseHandlerType
@@ -470,9 +438,8 @@
 
 	    #=== NotifierPlugin#BaseHandlerType#validate_join
-	    # æå®ããã»ã«ã®çµåå
-ãããã®ãã³ãã©ã¿ã¤ãã«è©²å½ããããæ¤è¨¼
-	    # handler:: Handler : ãã³ãã©
-	    # cell:: Cell : ã»ã«
-	    # join:: Join : çµå (declarationãPortã§ãããã®)
+	    # 指定したセルの結合先が、このハンドラタイプに該当するかを検証
+	    # handler:: Handler : ハンドラ
+	    # cell:: Cell : セル
+	    # join:: Join : 結合 (declarationがPortであるもの)
 		def validate_join(handler, cell, join)
         	return !generate_attr_map(handler, cell).nil?
@@ -480,11 +447,11 @@
 
 	    #=== NotifierPlugin#BaseHandlerType#generate_attr_map
-	    # æå®ããã»ã«ã®å±æ§ã¨ãæ¢ç¥ã®HandlerAttributeã®ãããã³ã°ã
-	    # çæããHash<HandlerAttribute, Join> (åå±æ§ã¨ããã«å¯¾å¿ãã
-	    # Join(declarationãDeclã®ãã®)ãè¡¨ãHash)ããããã¯ã
-		# ãããã³ã°ãè¡ããªãå ´å(å±æ§ã®ä¸è¶³ãéå°)ã¯nilãè¿ãã
+	    # 指定したセルの属性と、既知のHandlerAttributeのマッピングを
+	    # 生成し、Hash<HandlerAttribute, Join> (各属性とそれに対応する
+	    # Join(declarationがDeclのもの)を表すHash)、あるいは、
+		# マッピングが行えない場合(属性の不足、過剰)はnilを返す。
 	    #
-	    # handler:: Handler : ãã³ãã©
-	    # cell:: Cell : ã»ã«
+	    # handler:: Handler : ハンドラ
+	    # cell:: Cell : セル
 		def generate_attr_map(handler, cell)
 			map = {}
@@ -496,20 +463,17 @@
 				join = join_list.get_item(attr_name.to_sym)
 
-				# ãã®ã»ã«ã¿ã¤ãã«ããã¦å¿
-é ã®å±æ§ã?
+				# このセルタイプにおいて必須の属性か?
 				is_required = @required_attributes.include?(known_attr)
 
-				# å±æ§ã®æå®ãä¸è¶³ãã¦ãã? or éå°?
-				# æ³¨: ãã³ãã©ã¿ã¤ãã®å¤å¥ã«ã¯ãã»ã«ã§å¤ãæå®ããã¦ããã
-				#     ãèæ
-®ããããã»ã«ã¿ã¤ãã§åæå¤ãæå®ããã¦ãã¦ãã
-				#     ããã¯ãã³ãã©ã¿ã¤ãã®æ±ºå®ã«å½±é¿ããªãã
+				# 属性の指定が不足している? or 過剰?
+				# 注: ハンドラタイプの判別には、セルで値が指定されているか
+				#     が考慮される。セルタイプで初期値が指定されていても、
+				#     それはハンドラタイプの決定に影響しない。
 				return nil if join.nil? != !is_required
 
-				# å¿
-è¦ã®ãªãå±æ§ã§ãããæå®ãããã¦ããªãã®ã§é£ã°ã
+				# 必要のない属性であり、指定もされていないので飛ばす
 				next if join.nil?
 
-				# TODO: attrã®çµåã§ãããã¨ãæ¤è¨¼
+				# TODO: attrの結合であることを検証
 
 				map[known_attr] = join
@@ -520,6 +484,6 @@
 
 	    #=== NotifierPlugin#BaseHandlerType#gen_cfg_handler_type
-	    # ã¿ã¤ã ã¤ãã³ãã®éç¥ã®ç¨®é¡ãè¡¨ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®è¨è¿°ãçæããStringã¾ãã¯nilãè¿ã
-	    # handler:: Handler : ãã³ãã©
+	    # タイムイベントの通知の種類を表すコンフィギュレータの記述を生成し、Stringまたはnilを返す
+	    # handler:: Handler : ハンドラ
 		def gen_cfg_handler_type(handler)
         	raise "called abstract method gen_cfg_handler_type"
@@ -527,11 +491,11 @@
 
 	    #=== NotifierPlugin#BaseHandlerType#gen_cfg_handler_parameters
-	    # ã¿ã¤ã ã¤ãã³ãã®éç¥ã®å¼æ°ãè¡¨ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®è¨è¿°ãçæããString[]ãè¿ã
-	    # handler:: Handler : ãã³ãã©
-	    # join:: Join : çµå (declarationãPortã§ãããã®)
+	    # タイムイベントの通知の引数を表すコンフィギュレータの記述を生成し、String[]を返す
+	    # handler:: Handler : ハンドラ
+	    # join:: Join : 結合 (declarationがPortであるもの)
 	    # attrMap:: Hash<HandlerAttribute, Join> :
-	    #     åå±æ§ã¨ããã«å¯¾å¿ããJoin (declarationãDeclã®ãã®)
-	    # cell:: Cell : ã»ã«
-		# adpt_gen:: AdapterGenerator : ã¢ããã¿é¢æ°ãçæãããªãã¸ã§ã¯ã
+	    #     各属性とそれに対応するJoin (declarationがDeclのもの)
+	    # cell:: Cell : セル
+		# adpt_gen:: AdapterGenerator : アダプタ関数を生成するオブジェクト
 		def gen_cfg_handler_parameters(handler, join, attrMap, cell, adpt_gen)
         	return nil
@@ -539,7 +503,6 @@
 
 	    #=== NotifierPlugin#BaseHandlerType#might_fail
-	    # éç¥ã®éãã¨ã©ã¼ãçºçãããã®çµæã¨ã©ã¼éç¥ãå¼ã¶å¿
-è¦ãçãã
-	    # ãã©ãããè¿ãã
+	    # 通知の際、エラーが発生し、その結果エラー通知を呼ぶ必要が生じる
+	    # かどうかを返す。
 		def might_fail
 			return false
@@ -557,12 +520,12 @@
 			id_attr = join.get_rhs_cell.get_celltype.find(:id)
 			if id_attr_join
-				# ã»ã«çææã«åæåããå ´å
+				# セル生成時に初期化する場合
 				id = id_attr_join.get_rhs.to_s
 			else
-				# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+				# セルタイプの初期化値を使う場合
 				id = id_attr.get_initializer.to_s
 			end
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = taskCell.get_celltype.get_name_array(taskCell)
 			id = taskCell.get_celltype.subst_name(id, name_array)
@@ -617,5 +580,5 @@
 			var_value = attrMap[SETVAR_VALUE_ATTR].get_rhs.to_s
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = cell.get_celltype.get_name_array(cell)
 			var_addr = cell.get_celltype.subst_name(var_addr, name_array)
@@ -646,5 +609,5 @@
 			var_addr = attrMap[SETVAR_ADDR_ATTR].get_rhs.to_s
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = cell.get_celltype.get_name_array(cell)
 			var_addr = cell.get_celltype.subst_name(var_addr, name_array)
@@ -673,5 +636,5 @@
 			var_addr = attrMap[INCVAR_ADDR_ATTR].get_rhs.to_s
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = cell.get_celltype.get_name_array(cell)
 			var_addr = cell.get_celltype.subst_name(var_addr, name_array)
@@ -697,12 +660,12 @@
 			id_attr = join.get_rhs_cell.get_celltype.find(:id)
 			if id_attr_join
-				# ã»ã«çææã«åæåããå ´å
+				# セル生成時に初期化する場合
 				id = id_attr_join.get_rhs.to_s
 			else
-				# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+				# セルタイプの初期化値を使う場合
 				id = id_attr.get_initializer.to_s
 			end
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = semaphoreCell.get_celltype.get_name_array(semaphoreCell)
 			id = semaphoreCell.get_celltype.subst_name(id, name_array)
@@ -737,13 +700,13 @@
 			id_attr = join.get_rhs_cell.get_celltype.find(:id)
 			if id_attr_join
-				# ã»ã«çææã«åæåããå ´å
+				# セル生成時に初期化する場合
 				id = id_attr_join.get_rhs.to_s
 			else
-				# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+				# セルタイプの初期化値を使う場合
 				id = id_attr.get_initializer.to_s
 			end
 			flg_pattern = attrMap[SETFLG_FLAG_ATTR].get_rhs.to_s
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = eventflagCell.get_celltype.get_name_array(eventflagCell)
 			id = eventflagCell.get_celltype.subst_name(id, name_array)
@@ -778,12 +741,12 @@
 			id_attr = join.get_rhs_cell.get_celltype.find(:id)
 			if id_attr_join
-				# ã»ã«çææã«åæåããå ´å
+				# セル生成時に初期化する場合
 				id = id_attr_join.get_rhs.to_s
 			else
-				# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+				# セルタイプの初期化値を使う場合
 				id = id_attr.get_initializer.to_s
 			end
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = dataqueueCell.get_celltype.get_name_array(dataqueueCell)
 			id = dataqueueCell.get_celltype.subst_name(id, name_array)
@@ -812,5 +775,5 @@
 			sent_value = attrMap[SNDDTQ_VALUE_ATTR].get_rhs.to_s
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			name_array = cell.get_celltype.get_name_array(cell)
 			sent_value = cell.get_celltype.subst_name(sent_value, name_array)
@@ -854,14 +817,13 @@
 		end
 		def gen_cfg_handler_parameters(handler, join, attrMap, cell, adpt_gen)
-			# tTimeEventHandlerã®çµåå
-ãåå¾
+			# tTimeEventHandlerの結合先を取得
 			handler_cell = join.get_rhs_cell
 	    	call_join = handler_cell.get_join_list.get_item(:ciHandlerBody)
 
-			# çµåããã¦ããªãå ´åã¯tecsgenãã¨ã©ã¼ãåºãã¯ããªã®ã§ããã§ã¯
-			# ã¨ã©ã¼ã«ããç¡è¦ããï¼
+			# 結合されていない場合はtecsgenがエラーを出すはずなのでここでは
+			# エラーにせず無視する．
 			return [] unless call_join
 
-			# ã¢ããã¿é¢æ°ãã³ãã«ãåå¾
+			# アダプタ関数ハンドルを取得
 			adapter_handle = adpt_gen.make_adapter_handle(call_join)
         	return [adapter_handle[1], adapter_handle[0]]
@@ -897,10 +859,10 @@
 
     #@celltype:: Celltype
-    #@option:: String     :ãªãã·ã§ã³æå­å
+    #@option:: String     :オプション文字列
     def initialize( celltype, option )
     	super
     	@plugin_arg_check_proc_tab = NotifierPluginArgProc
     	@plugin_arg_str = option
-    	@plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # åå¾ã® "" ãåãé¤ã
+    	@plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # 前後の "" を取り除く
     	@plugin_arg_str.sub!( /(.*)"\z/, '\1' )
     	@factory = nil
@@ -940,19 +902,18 @@
         kernelCfg.print "\#include \"tTimeEventHandler.h\"\n"
 
-		# ã¢ããã¿é¢æ°ãçæããæºå
+		# アダプタ関数を生成する準備
 		@adpt_gen = AdapterGenerator.new("tTimeEventHandler", @celltype.get_global_name)
 
-    	# å±æ§ç½®æãè¡ãããã¨ãæ¤è¨¼ããã
-    	# ããã§è¡ãã®ã¯ãfactoryã§æå®ãããå±æ§åã
-    	# å­å¨ãããã¨ãç¢ºèªããããªããã°ã¨ã©ã¼ãåºåãããã¨ã®ã¿ã§ããã
-    	# ã»ã«ãã¨ã®å¦çã®æä¸­ã«ã¨ã©ã¼ãåºåãããã¨ãå¯è½ã§ã¯ãããã
-    	# ããããã¨ã»ã«ã¿ã¤ãå´ã®åé¡ã§ããã®ã«ãããããããã»ã«ãã¨ã«
-    	# ã¨ã©ã¼ãè¡¨ç¤ºããã¦ãã¾ãã
+    	# 属性置換が行えることを検証する。
+    	# ここで行うのは、factoryで指定された属性名が
+    	# 存在することを確認し、しなければエラーを出力することのみである。
+    	# セルごとの処理の最中にエラーを出力することも可能ではあるが、
+    	# そうするとセルタイプ側の問題であるのにもかかわらず、セルごとに
+    	# エラーが表示されてしまう。
     	# {{attribute_name}} -> attribute_value
     	@factory.scan(/\{\{([a-zA-Z0-9_]*?)\}\}/) { |match|
     		name = $1.to_sym
 
-    		# {{_handler_params_}} ã¯ãã³ãã©ã«é¢ããæå®ããã©ã°ã¤ã³å
-ã§å¤ãçæããã
+    		# {{_handler_params_}} はハンドラに関する指定。プラグイン内で値が生成される
     		next if name == :_handler_params_
 
@@ -968,5 +929,5 @@
         }
 
-		# ã¢ããã¿é¢æ°ã®çæãå®äºããã
+		# アダプタ関数の生成を完了させる
 		@adpt_gen.finish
 
@@ -982,12 +943,12 @@
     	handler_flag = nil
 
-		# ignoreErrorsãåå¾
+		# ignoreErrorsを取得
 		ignoreErrors_attr_join = cell.get_join_list.get_item(:ignoreErrors)
 		ignoreErrors_attr = cell.get_celltype.find(:ignoreErrors)
 		if ignoreErrors_attr_join
-			# ã»ã«çææã«åæåããå ´å
+			# セル生成時に初期化する場合
 			ignoreErrors = ignoreErrors_attr_join.get_rhs.to_s
 		else
-			# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+			# セルタイプの初期化値を使う場合
 			ignoreErrors = ignoreErrors_attr.get_initializer.to_s
 		end
@@ -1002,8 +963,8 @@
 
     	[EVENT_HANDLER, ERROR_HANDLER].each { |handler|
-    		# å¼ã³å£ã®çµåãåå¾
+    		# 呼び口の結合を取得
     		call_join = cell.get_join_list.get_item(handler.call_port_name.to_sym)
 
-	    	# ãã³ãã©ã¿ã¤ããå¤å¥ãã
+	    	# ハンドラタイプを判別する
 	    	matches = HANDLER_TYPES.select { |handler_type|
 	    		handler_type.validate_join(handler, cell, call_join)
@@ -1015,11 +976,11 @@
 	    	end
 
-			# æåã«è¦ã¤ãã£ãæå¹ãªãã³ãã©ã¿ã¤ããä½¿ç¨
+			# 最初に見つかった有効なハンドラタイプを使用
 	    	ht = matches[0]
 
-			# éç¥ãã³ãã©ã§ãã¨ã©ã¼ãçºçããã¯ãããªããã®ã«ãã¨ã©ã¼ãã³ãã©ãæå®ããã¦ããã
-			# ãããã¯ãã®éã®ãã¿ã¼ã³ãæ¤åºããã
-			# (handler_flagãnilã§ããå ´åããã³ãã©ã¿ã¤ããä¸æã§ãããã¨ã©ã¼ãçºçãããä¸æ
-			#  ãªãããæ¤åºã¯è¡ããªãã)
+			# 通知ハンドラで「エラーが発生するはずがない」のに「エラーハンドラが指定されている」
+			# もしくはその逆のパターンを検出する。
+			# (handler_flagがnilである場合、ハンドラタイプが不明であり、エラーが発生するか不明
+			#  なため、検出は行わない。)
     		if handler == ERROR_HANDLER && !ht.is_a?(NullHandlerType) && !event_handler_might_fail
 	    		cdl_error( "ASP1004 cell $1: handler type $2 which never raises an error was inferred for the normal notification handler, but an error notification handler was specified.",
@@ -1036,5 +997,5 @@
 	    	end
 
-			# éç¥æ¹æ³ã®éçAPIè¨è¿°ãçæãã
+			# 通知方法の静的API記述を生成する
 	    	handler_flag = ht.gen_cfg_handler_type(handler)
 	    	handler_flags << handler_flag if handler_flag
@@ -1050,5 +1011,5 @@
     	}
 
-		# $id$ç­ã®ç½®æ
+		# $id$等の置換
 		name_array = cell.get_celltype.get_name_array(cell)
 		handler_args.collect! { |e|
@@ -1060,6 +1021,6 @@
 		}
 
-    	# tecsgen.cfgã®è¨è¿°ãçæããã
-    	# factoryã«å¯¾ãããã©ã¡ã¼ã¿ç½®æãè¡ãã
+    	# tecsgen.cfgの記述を生成する。
+    	# factoryに対し、パラメータ置換を行う。
     	# {{attribute_name}} -> attribute_value
     	text = @factory.gsub(/\{\{([a-zA-Z0-9_]*?)\}\}/) { |match|
@@ -1067,5 +1028,5 @@
 			subst_attr = cell.get_celltype.find(name)
 
-			# {{_handler_params_}} ã¯ãã³ãã©ã®æå®ã«ç½®æããã
+			# {{_handler_params_}} はハンドラの指定に置換する。
 			if name == :_handler_params_
 		    	args_joined = handler_flags.join(' | ')
@@ -1078,6 +1039,6 @@
 
 			unless subst_attr
-				# å±æ§ãè¦ã¤ãããªãã¨ããã¨ã©ã¼ã¯ãã§ã«å ±åããã¦ããã®ã§
-				# ããã§ã¯ããã¼å¤ãè¿ãã¦ããã ãã§ããã
+				# 属性が見つからないというエラーはすでに報告されているので
+				# ここではダミー値を返しておくだけである。
 				next ""
 			end
@@ -1085,16 +1046,16 @@
 			subst_attr_join = cell.get_join_list.get_item(name)
 			if subst_attr_join
-				# ã»ã«çææã«åæåããå ´å
+				# セル生成時に初期化する場合
 				subst = subst_attr_join.get_rhs.to_s
 			else
-				# ã»ã«ã¿ã¤ãã®åæåå¤ãä½¿ãå ´å
+				# セルタイプの初期化値を使う場合
 				subst = subst_attr.get_initializer.to_s
 			end
 
-			# $id$ç­ã®ç½®æ
+			# $id$等の置換
 			cell.get_celltype.subst_name(subst, name_array)
     	}
 
-    	# åºå
+    	# 出力
     	kernelCfg.puts text
 
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueMarshalerPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueMarshalerPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueMarshalerPlugin.rb	(revision 321)
@@ -6,53 +6,38 @@
 #   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: OpaqueMarshalerPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
 #== OpaqueMarshaler
-# OpaqueRPC ç¨ã®ãã¼ã·ã£ã©ãã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ããçæããã·ã°ããã£ãã©ã°ã¤ã³
+# OpaqueRPC 用のマーシャラ、アンマーシャラセルタイプを生成するシグニチャプラグイン
 
 require_tecsgen_lib "lib/GenOpaqueMarshaler.rb"
@@ -76,6 +61,5 @@
     # check_PPAllocator
     if @signature.need_PPAllocator?(true) then
-      @PPAllocatorSize = 1    # PPAllocatorã®å¿
-è¦æ§æã®ããã«è¨­å® (ãµã¤ãºã¯ä½¿ãããªã)
+      @PPAllocatorSize = 1    # PPAllocatorの必要性有のために設定 (サイズは使われない)
       necessity = "Necessary"
     else
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueRPCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueRPCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/OpaqueRPCPlugin.rb	(revision 321)
@@ -6,57 +6,39 @@
 #   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: OpaqueRPCPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-# ä»¥ä¸ãä»®å®ï¼å¶éäºé 
-ï¼
-#  å¼ã³å
-ãå¼ã³å
-ã®ã¨ã³ãã£ã¢ã³ãchar, short, int_t, long_t, intptr_t ã®ãµã¤ãºãåã
-#  æç¬¦å·ãç¡ç¬¦å·ã§ãµã¤ãºãåã
+# 以下を仮定（制限事項）
+#  呼び元、呼び先のエンディアン、char, short, int_t, long_t, intptr_t のサイズが同じ
+#  有符号、無符号でサイズが同じ
 
 require_tecsgen_lib "lib/GenOpaqueMarshaler.rb"
@@ -68,12 +50,10 @@
   include GenParamCopy
 
-  # OpaqueRPCPlugin å°ç¨ã®ãªãã·ã§ã³
-  OpaqueRPCPluginArgProc = RPCPluginArgProc.dup  # è¤è£½ãä½ã£ã¦å
-ãå¤æ´ããªãããã«ãã
+  # OpaqueRPCPlugin 専用のオプション
+  OpaqueRPCPluginArgProc = RPCPluginArgProc.dup  # 複製を作って元を変更しないようにする
   OpaqueRPCPluginArgProc[ "noClientSemaphore"  ] = Proc.new { |obj,rhs| obj.set_noClientSemaphore 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
@@ -98,11 +78,10 @@
     gen_marshaler_celltype
 
-    # ãã£ã³ãã« composite ã»ã«ã¿ã¤ãã®çæ
-    #  ããã§çæããã CDL ãã¡ã¤ã«ã¯ãtecsgen ãç´æ¥ import ããã®ã§ã¯ãªã
-    #  ã»ã«ã³ã¼ãã® CDL ãã import ããã
+    # チャンネル composite セルタイプの生成
+    #  ここで生成された CDL ファイルは、tecsgen が直接 import するのではなく
+    #  セルコードの CDL から import される
 
     f = CFile.open( @rpc_client_channel_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -142,6 +121,5 @@
 
     f = CFile.open( @rpc_server_channel_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -173,5 +151,5 @@
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -180,5 +158,5 @@
     gen_plugin_decl_code( file )
 
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_name]  # mikan namespace
     # cell = Namespace.find( path )
@@ -191,9 +169,9 @@
 EOT
 
-    ##### ã¯ã©ã¤ã¢ã³ãå´ã®ã»ã«ã®çæ #####
+    ##### クライアント側のセルの生成 #####
     nest = @start_region.gen_region_str_pre file
     nest_str = "  " * nest
 
-    # ã»ããã©ã®çæ
+    # セマフォの生成
     if @b_noClientSemaphore == false then
       file.print <<EOT
@@ -206,5 +184,5 @@
     end
 
-    # ã¯ã©ã¤ã¢ã³ãå´ãã£ã³ãã« (TINET, Socket ãªã©)ã®çæ
+    # クライアント側チャンネル (TINET, Socket など)の生成
     file.print <<EOT
 #{nest_str}  //  Client Side Channel
@@ -216,5 +194,5 @@
 EOT
 
-    # ã»ããã©ã®çµåæ
+    # セマフォの結合文
     if @b_noClientSemaphore == false then
       semaphore = "#{nest_str}    cLockChannel = #{@serverChannelCell}_Semaphore.eSemaphore;\n"
@@ -223,6 +201,6 @@
     end
 
-    ### ã¯ã©ã¤ã¢ã³ãå´ãã£ã³ãã« (ãã¼ã·ã£ã©+TDR)ã®çæ ###
-    # ã¢ã­ã±ã¼ã¿ã®æå®ããããï¼
+    ### クライアント側チャンネル (マーシャラ+TDR)の生成 ###
+    # アロケータの指定があるか？
     if cell.get_allocator_list.length > 0 then
 
@@ -240,8 +218,7 @@
 
         file.print delim
-        delim = ",\n"        # æçµè¡ã«ã¯åºããªã
-
-        if subsc then        # é
-åæ·»æ°
+        delim = ",\n"        # 最終行には出さない
+
+        if subsc then        # 配列添数
           subsc_str = '[#{subsc}]'
         else
@@ -249,5 +226,5 @@
         end
 
-        eport = "eThroughEntry" #RPCã®åãå£åã«å¤æ´
+        eport = "eThroughEntry" #RPCの受け口名に変更
         file.print nest_str
         file.print  "#{eport}#{subsc_str}.#{func}.#{buf} = #{alloc_str}"
@@ -269,10 +246,10 @@
 
 EOT
-    ### END: ã¯ã©ã¤ã¢ã³ãå´ãã£ã³ãã« (ãã¼ã·ã£ã©+TDR)ã®çæ ###
+    ### END: クライアント側チャンネル (マーシャラ+TDR)の生成 ###
 
     @start_region.gen_region_str_post file
     file.print "\n\n"
 
-    ##### ãµã¼ãã¼å´ã®ã»ã«ã®çæ #####
+    ##### サーバー側のセルの生成 #####
     nest = @end_region.gen_region_str_pre file
     nest_str = "  " * nest
@@ -290,5 +267,5 @@
     end
 
-    # ãµã¼ãã¼å´ãã£ã³ãã« (TINET, Socket ãªã©)
+    # サーバー側チャンネル (TINET, Socket など)
     file.print <<EOT
 
@@ -299,5 +276,5 @@
 EOT
 
-    # ãµã¼ãã¼å´ãã£ã³ãã« (ã¢ã³ãã¼ã·ã£ã©+TDR)
+    # サーバー側チャンネル (アンマーシャラ+TDR)
     file.print <<EOT
 
@@ -309,5 +286,5 @@
 EOT
 
-    # ãµã¼ãã¼å´ã¿ã¹ã¯ã¡ã¤ã³
+    # サーバー側タスクメイン
     file.print <<EOT
 
@@ -318,5 +295,5 @@
 EOT
 
-    # ãµã¼ãã¼å´ã¿ã¹ã¯
+    # サーバー側タスク
     file.print <<EOT
 
@@ -332,5 +309,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° noClientSemaphore ã®ãã§ãã¯
+  #=== プラグイン引数 noClientSemaphore のチェック
   def set_noClientSemaphore rhs
     rhs = rhs.to_sym
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/RPCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/RPCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/RPCPlugin.rb	(revision 321)
@@ -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 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $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
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedOpaqueRPCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedOpaqueRPCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedOpaqueRPCPlugin.rb	(revision 321)
@@ -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: SharedOpaqueRPCPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
@@ -56,26 +41,19 @@
 require_tecsgen_lib "lib/GenParamCopy.rb"
 
-#= SharedOpaqueRPC ãã©ã°ã¤ã³
-# SharedOpaqueRPC ãã£ã³ãã«ãçæãã
-# ãã©ã°ã¤ã³å¼æ°ã¯ GenTransparentMarshaler åç
-§
-
-# mikan through plugin: namespace ãèæ
-®ããã¦ããªã
-# ãããå©ç¨ããå ´åãä»¥ä¸ã®ããã« toppers_jsp.cdl sChannel.cdl ãæå®ããå¿
-è¦ããã
+#= SharedOpaqueRPC プラグイン
+# SharedOpaqueRPC チャンネルを生成する
+# プラグイン引数は GenTransparentMarshaler 参照
+
+# 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 SharedOpaqueRPCPlugin < ThroughPlugin
 
-  # ãã£ã³ãã«ãå
-±æãããã©ã°ã¤ã³ãªãã¸ã§ã¯ãã¸ã®ããã·ã¥ãªã¹ã
+  # チャンネルを共有するプラグインオブジェクトへのハッシュリスト
   @@shared_channel_list = {}    # { chan_name => [ Plugin_obj0, Plugin_Obj1, ... ] }
 
@@ -84,20 +62,16 @@
   include GenParamCopy
 
-  # SharedOpaqueRPCPlugin å°ç¨ã®ãªãã·ã§ã³
-  SharedOpaqueRPCPluginArgProc = RPCPluginArgProc.dup  # è¤è£½ãä½ã£ã¦å
-ãå¤æ´ããªãããã«ãã
+  # SharedOpaqueRPCPlugin 専用のオプション
+  SharedOpaqueRPCPluginArgProc = RPCPluginArgProc.dup  # 複製を作って元を変更しないようにする
   SharedOpaqueRPCPluginArgProc[ "sharedChannelName"  ] = Proc.new { |obj,rhs| obj.set_sharedChannelName 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
     initialize_opaque_marshaler
-    @entry_port_name = :"eClientEntry"   # Marshaler ã®åãå£å (through ã»ã«ã®å
-¥ãå£)
-
-    # ãªãã·ã§ã³ï¼GenOpaqueMarshaler åç
-§
+    @entry_port_name = :"eClientEntry"   # Marshaler の受け口名 (through セルの入り口)
+
+    # オプション：GenOpaqueMarshaler 参照
     @plugin_arg_check_proc_tab = SharedOpaqueRPCPluginArgProc
     @sharedChannelName = nil
@@ -125,5 +99,5 @@
     prev_start = @@shared_channel_list[ @shared_channel_cell ][0].start_region
     if @start_region != prev_start then
-      # ååºã¨ start ãªã¼ã¸ã§ã³ä¸ä¸è´ (ååºã¯ãèªåèªèº«ã¨ãã§ãã¯ããããç¡é§ã ãå°ããã®ã§æ¾ç½®)
+      # 初出と start リージョン不一致 (初出は、自分自身とチェックされる。無駄だが小さいので放置)
       cdl_error( "SharedRPCPlugin: start region mismatch current: #{@region.get_name} previous: #{prev_start.get_name}")
     end
@@ -131,5 +105,5 @@
     prev_end = @@shared_channel_list[ @shared_channel_cell ][0].end_region
     if @end_region != prev_end then
-      # ååºã¨ end ãªã¼ã¸ã§ã³ä¸ä¸è´  (ååºã¯ãèªåèªèº«ã¨ãã§ãã¯ããããç¡é§ã ãå°ããã®ã§æ¾ç½®)
+      # 初出と end リージョン不一致  (初出は、自分自身とチェックされる。無駄だが小さいので放置)
       cdl_error( "SharedRPCPlugin: end region mismatch current: #{@region.get_name} previous: #{prev_end.get_name}")
     end
@@ -141,5 +115,5 @@
   # end
 
-  #=== ãã©ã°ã¤ã³å¼æ° sharedChannelCell ã®ãã§ãã¯
+  #=== プラグイン引数 sharedChannelCell のチェック
   def set_sharedChannelName( rhs )
     @sharedChannelName = rhs
@@ -153,5 +127,5 @@
   def gen_plugin_decl_code( file )
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ @shared_channel_server_ct_name ] == nil then
       @@generated_celltype[ @shared_channel_server_ct_name ] = [ self ]
@@ -162,6 +136,5 @@
     gen_marshaler_celltype
 
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     if @PPAllocatorSize then
@@ -174,6 +147,5 @@
 
     f = CFile.open( @shared_channel_ct_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -233,5 +205,5 @@
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -250,17 +222,16 @@
     indent_str = "  " * nest
 
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_name]
     # cell = Namespace.find( path )
     cell = Namespace.find( @next_cell.get_namespace_path )
 
-    # å
-±æãããéä¿¡ãã£ã³ãã«ã®çæã®ãã­ãã¿ã¤ãå®£è¨
+    # 共有される通信チャンネルの生成のプロトタイプ宣言
     file.print <<EOT
 #{indent_str}cell #{@shared_channel_client_ct_name} #{@shared_channel_cell};
 EOT
 
-    # ãã¼ã·ã£ã©ã»ã«ã®çæï¼ã¢ã­ã±ã¼ã¿ã³ã¼ãã®çæããï¼
-    # ã¢ã­ã±ã¼ã¿ã®æå®ããããï¼
+    # マーシャラセルの生成（アロケータコードの生成から）
+    # アロケータの指定があるか？
     if cell.get_allocator_list.length > 0 then
 
@@ -278,8 +249,7 @@
 
         file.print delim
-        delim = ",\n#{indent_str}           "        # æçµè¡ã«ã¯åºããªã
-
-        if subsc then        # é
-åæ·»æ°
+        delim = ",\n#{indent_str}           "        # 最終行には出さない
+
+        if subsc then        # 配列添数
           subsc_str = '[#{subsc}]'
         else
@@ -287,5 +257,5 @@
         end
 
-        eport = @entry_port_name #RPCã®åãå£åã«å¤æ´
+        eport = @entry_port_name #RPCの受け口名に変更
         file.print  "#{eport}#{subsc_str}.#{func}.#{buf} = #{alloc_str}"
       end
@@ -294,5 +264,5 @@
     end
 
-    # ãã¼ã·ã£ã©ã»ã«æ¬ä½çæ
+    # マーシャラセル本体生成
     file.print <<EOT
 /* OpaqueRPC Marshaler Cell */
@@ -305,6 +275,6 @@
     @start_region.gen_region_str_post file
 
-    # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã®åºå
-    # ã»ã«æ¬ä½ã®çæ
+    # アンマーシャラセルの出力
+    # セル本体の生成
     nest = @end_region.gen_region_str_pre file
 
@@ -315,6 +285,5 @@
 EOT
 
-    # PPAllocator ãå¿
-è¦ã?
+    # PPAllocator が必要か?
     if @PPAllocatorSize then
       if @sub_channel_no == 0 then
@@ -341,6 +310,6 @@
   end
 
-  #=== post ã³ã¼ã(CDL) ãçæ
-  # ãã©ã°ã¤ã³ã®å¾ã®ã³ã¼ããçæ
+  #=== post コード(CDL) を生成
+  # プラグインの後のコードを生成
   #file:: File: 
   def self.gen_post_code( file )
@@ -355,14 +324,11 @@
   end
 
-  #=== post ã³ã¼ã(CDL) ãçæ
-  # å
-±æãã£ã³ãã«ãçæãã
-  # ãã®ã¡ã½ããã¯ããã£ã³ãã«ãå
-±æããæåã®ãã©ã°ã¤ã³ãªãã¸ã§ã¯ãã®ã¿å¼ã³åºããã
+  #=== post コード(CDL) を生成
+  # 共有チャンネルを生成する
+  # このメソッドは、チャンネルを共有する最初のプラグインオブジェクトのみ呼び出される
   def gen_post_code( file, plugin_obj_array )
 
-    # å
-±æããã¦ããéä¿¡ãã£ã³ãã«ã®çæ
-    # åãã©ã°ã¤ã³ã¤ã³ã¹ã¿ã³ã¹ã§ã¯ @shared_channel_ct_name ã¨ãã¦è¨æ¶ãã¦ãã
+    # 共有されている通信チャンネルの生成
+    # 各プラグインインスタンスでは @shared_channel_ct_name として記憶している
     # region = @caller_cell.get_region
     nest = @start_region.gen_region_str_pre file
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedRPCPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedRPCPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SharedRPCPlugin.rb	(revision 321)
@@ -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: SharedRPCPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
@@ -56,21 +41,15 @@
 require_tecsgen_lib "lib/GenParamCopy.rb"
 
-#= SharedRPC ãã©ã°ã¤ã³
-# SharedRPC ãã£ã³ãã«ãçæãã
-# ãã©ã°ã¤ã³å¼æ°ã¯ GenTransparentMarshaler åç
-§
-
-# mikan through plugin: namespace ãèæ
-®ããã¦ããªã
-# ãããå©ç¨ããå ´åãä»¥ä¸ã®ããã« toppers_jsp.cdl sChannel.cdl ãæå®ããå¿
-è¦ããã
+#= SharedRPC プラグイン
+# SharedRPC チャンネルを生成する
+# プラグイン引数は GenTransparentMarshaler 参照
+
+# 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 SharedRPCPlugin < ThroughPlugin
@@ -81,18 +60,16 @@
   include GenParamCopy
 
-  #=== 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 )
 
-    # mikan ãã©ã°ã¤ã³ãªãã·ã§ã³æå®ã®ä¸ä¸è´ã®ãã§ãã¯ task_priority, 
+    # mikan プラグインオプション指定の不一致のチェック task_priority, 
 
     super
     initialize_transparent_marshaler cell_name
 
-    # ãªãã·ã§ã³ï¼GenTransparentMarshaler åç
-§
+    # オプション：GenTransparentMarshaler 参照
     @plugin_arg_check_proc_tab = RPCPluginArgProc
-    @channelCellName = ""     # nil ã«ãã¦ãã
+    @channelCellName = ""     # nil にしておく
     parse_plugin_arg
 
@@ -108,8 +85,8 @@
 
     if @@shared_channel_list[ @shared_channel_cell ] == nil then
-      # ååº
+      # 初出
       @@shared_channel_list[ @shared_channel_cell ] = [ self ]
     else
-      # äºçªç®ä»¥é
+      # 二番目以降
       @@shared_channel_list[ @shared_channel_cell ] << self
     end
@@ -117,5 +94,5 @@
 
     if @region != @@shared_channel_list[ @shared_channel_cell ][0].region then
-      # ååºã¨ãªã¼ã¸ã§ã³ä¸ä¸è´ (ååºã¯ãèªåèªèº«ã¨ãã§ãã¯ããããç¡é§ã ãå°ããã®ã§æ¾ç½®)
+      # 初出とリージョン不一致 (初出は、自分自身とチェックされる。無駄だが小さいので放置)
       cdl_error( "SharedRPCPlugin: preferred region mismatch current: #{@region.get_name} previous: #{@@shared_channel_list[ @shared_channel_cell ][0].region.get_name}")
     else
@@ -138,5 +115,5 @@
   def gen_plugin_decl_code( file )
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ @shared_channel_ct_name ] == nil then
       @@generated_celltype[ @shared_channel_ct_name ] = [ self ]
@@ -152,6 +129,5 @@
 
     gen_marshaler_celltype
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     if @signature.need_PPAllocator? then
@@ -164,6 +140,5 @@
 
     f = CFile.open( @rpc_channel_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -196,11 +171,10 @@
 };
 EOT
-    # mikan stackSize option & ææ° tecs_package å¯¾å¿
+    # mikan stackSize option & 最新 tecs_package 対応
 
     f.close
 
     f = CFile.open( "#{$gen}/#{@shared_channel_ct_name}.cdl", "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -247,5 +221,5 @@
   end
 
-  #===  through cell ã³ã¼ããçæ
+  #===  through cell コードを生成
   #
   #
@@ -263,11 +237,10 @@
     indent_str = "  " * nest
 
-    # ã»ã«ãæ¢ã
+    # セルを探す
     # path =["::",@next_cell.get_name]
     # cell = Namespace.find( path )
     cell = Namespace.find( @next_cell.get_namespace_path )
 
-    # PPAllocator ãå¿
-è¦ã?
+    # PPAllocator が必要か?
     if @signature.need_PPAllocator? then
       if @sub_channel_no == 0 then
@@ -284,13 +257,12 @@
     end
 
-    # å
-±æãããéä¿¡ãã£ã³ãã«ã®çæã®ãã­ãã¿ã¤ãå®£è¨
+    # 共有される通信チャンネルの生成のプロトタイプ宣言
     file.print <<EOT
 #{indent_str}cell #{@shared_channel_ct_name} #{@shared_channel_cell};
 EOT
 
-    # ããããåçµåãã¨ã®ã»ã«ãçæ
-
-    # ã¢ã­ã±ã¼ã¿ã®æå®ããããï¼
+    # ここから各結合ごとのセルを生成
+
+    # アロケータの指定があるか？
     if cell.get_allocator_list.length > 0 then
 
@@ -301,8 +273,7 @@
 
         file.print delim
-        delim = ",\n#{indent_str}           "        # æçµè¡ã«ã¯åºããªã
-
-        if subsc then        # é
-åæ·»æ°
+        delim = ",\n#{indent_str}           "        # 最終行には出さない
+
+        if subsc then        # 配列添数
           subsc_str = '[#{subsc}]'
         else
@@ -310,5 +281,5 @@
         end
 
-        eport = "eThroughEntry" #RPCã®åãå£åã«å¤æ´
+        eport = "eThroughEntry" #RPCの受け口名に変更
         file.print  "#{eport}#{subsc_str}.#{func}.#{buf} = #{alloc}"
       end
@@ -317,5 +288,5 @@
     end
 
-    # ã»ã«æ¬ä½ã®çæ
+    # セル本体の生成
     file.print <<EOT
 #{indent_str}cell #{@rpc_channel_celltype_name} #{@cell_name} {
@@ -329,6 +300,6 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã®ã³ã¼ããçæ
+  #=== 後ろのコードを生成
+  #プラグインの後ろのコードを生成
   #file:: File: 
   def self.gen_post_code( file )
@@ -339,6 +310,6 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  # plugin_obj[0] ãä»£è¡¨ãã¦åºåããï¼ã¤ã³ã¹ã¿ã³ã¹å¤æ°ã«ã¢ã¯ã»ã¹ãããããï¼
+  #=== 後ろのコードを生成
+  # plugin_obj[0] が代表して出力する（インスタンス変数にアクセスしたいため）
   def gen_post_code( file, plugin_obj )
 
@@ -348,7 +319,6 @@
     indent_str = "  " * nest
 
-    # å
-±æããã¦ããéä¿¡ãã£ã³ãã«ã®çæ
-    # åãã©ã°ã¤ã³ã¤ã³ã¹ã¿ã³ã¹ã§ã¯ @shared_channel_ct_name ã¨ãã¦è¨æ¶ãã¦ãã
+    # 共有されている通信チャンネルの生成
+    # 各プラグインインスタンスでは @shared_channel_ct_name として記憶している
     file.print "#{indent_str}cell tSharedRPCPlugin_#{@channelCelltype} #{chan_name} {\n"
     plugin_obj.each{ |po|
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SignaturePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SignaturePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/SignaturePlugin.rb	(revision 321)
@@ -6,62 +6,46 @@
 #   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: SignaturePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== signature ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹
+#== signature プラグインの共通の親クラス
 class SignaturePlugin < Plugin
-#@signature:: Signature   ãã©ã°ã¤ã³ã®å¯¾è±¡ã¨ãªãã·ã°ããã£
-#@option:: String   '"', '"' ã§å²ã¾ããæå­å
+#@signature:: Signature   プラグインの対象となるシグニチャ
+#@option:: String   '"', '"' で囲まれた文字列
 
-  #signature::     Signature        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Signature        シグニチャ（インスタンス）
   def initialize( signature, option )
     super()
     @signature = signature
-    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # åå¾ã® "" ãåãé¤ã
+    # @plugin_arg_str = option.gsub( /\A"(.*)/, '\1' )    # 前後の "" を取り除く
     # @plugin_arg_str.sub!( /(.*)"\z/, '\1' )
     @plugin_arg_str = CDLString.remove_dquote option
@@ -69,18 +53,16 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã® CDL ã³ã¼ããçæ
+  #=== 後ろのコードを生成
+  #プラグインの後ろの CDL コードを生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     éå¸¸ã§ããã°ãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã©ã°ã¤ã³ã®å ´åãå¤æ´ããå¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
+  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TECS2CBridgePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TECS2CBridgePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TECS2CBridgePlugin.rb	(revision 321)
@@ -6,59 +6,44 @@
 #   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: TECS2CBridgePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#== TECS => C å¼ã³åºããã©ã°ã¤ã³
+#== TECS => C 呼び出しプラグイン
 class TECS2CBridgePlugin < SignaturePlugin
-#@signature:: Signature   ãã©ã°ã¤ã³ã®å¯¾è±¡ã¨ãªãã·ã°ããã£
-#@option:: String   '"', '"' ã§å²ã¾ããæå­å
+#@signature:: Signature   プラグインの対象となるシグニチャ
+#@option:: String   '"', '"' で囲まれた文字列
 
   @@signature_list = { }
 
-  #signature::     Signature        ã·ã°ããã£ï¼ã¤ã³ã¹ã¿ã³ã¹ï¼
+  #signature::     Signature        シグニチャ（インスタンス）
   def initialize( signature, option )
     super
@@ -91,18 +76,16 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã®ã³ã¼ããçæ
+  #=== 後ろのコードを生成
+  #プラグインの後ろのコードを生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     éå¸¸ã§ããã°ãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã©ã°ã¤ã³ã®å ´åãå¤æ´ããå¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
+  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -129,5 +112,5 @@
     p_cellcb = #{global_ct_name}_GET_CELLCB(idx);
   }else{
-     /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+     /* エラー処理コードをここに記述 */
   }
 
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ThroughPlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ThroughPlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/ThroughPlugin.rb	(revision 321)
@@ -6,112 +6,80 @@
 #   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: ThroughPlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-# mikan through plugin: namespace ãèæ
-®ããã¦ããªã
-
-#==  ã¹ã«ã¼ãã©ã°ã¤ã³ã®å
-±éã®è¦ªã¯ã©ã¹ããã¤ ï¼ä½ãããï¼ã¹ã«ã¼ããã»ã«ãæ¿å
-¥ããã¹ã«ã¼ãã©ã°ã¤ã³
-#    ã¹ã«ã¼ãã©ã°ã¤ã³ã¯ ThroughPlugin ã®å­ã¯ã©ã¹ã¨ãã¦å®ç¾©ãã
+# mikan through plugin: namespace が考慮されていない
+
+#==  スループラグインの共通の親クラス　かつ （何もせず）スルーするセルを挿入するスループラグイン
+#    スループラグインは ThroughPlugin の子クラスとして定義する
 class ThroughPlugin < Plugin
-#@cell_name::      Symbol             çæããã»ã«åï¼è¤æ°ã»ã«ãçæããå ´åãåãå£å´ã®ã»ã«ï¼
-#@plugin_arg_str:: string             through ã§æå®ãããå¼æ°
-#@next_cell:: Cell                    å¼ã³å£ãçµåããã»ã«
-#@next_cell_port_name:: Symbol       å¼ã³å£ãçµåããåå£ã®åå
-#@signature::      Signature          ã·ã°ããã£
-#@celltype::       Celltype           å¼ã³å
-ã®ã»ã«ã®ã»ã«ã¿ã¤ã. through ãé£æ¥ããå ´åãæçµçãªå¼ã³å
-ã®ã»ã«ã®ã»ã«ã¿ã¤ã
-#@entry_port_name::Symbol             çæããã»ã«ã®åãå£å  "eThroughEntry"
-#@call_port_name:: Symbol             çæããã»ã«ã®å¼ã³å£å  "cCall"
-#@ct_name::        Symbol             çæããã»ã«ã®ã»ã«ã¿ã¤ãå   "t#{self.class.name}_#{@signature.get_global_name}"
-#@plugin_arg_list:: Hash              ãã©ã°ã¤ã³å¼æ°ããã¼ã¹ããçµæã®ããã·ã¥å¤æ°
-#@caller_cell::    Cell               å¼ã³å
-ã®ã»ã«ï¼through ãã©ã°ã¤ã³ãé£æ¥ããå ´åã§ã¯ãæãå¼ã³å
-ã®ã»ã«ï¼($source$)
-#                                     through ãã©ã°ã¤ã³ãåæµããã±ã¼ã¹ã§ã¯ã1ã¤ç®ã®å¼ã³å
-ã»ã«ã®ã¿å¼æ°ã¨ãã¦ä¸ãããã
-#                                     å¾ã£ã¦ TracePlugin ã®å¼ã³å
-ã®å¤å¥ã«å©ç¨ããå ´åã¯ãç°ãªãå¼ã³å
-ããå¼ã°ããå¯è½æ§ããããã¨ã«æ³¨æããªãã¦ã¯ãªããªã
-#@callee_cell:: Cell                  å¼ã³å
-ã®ã»ã«($destination$)
-#@plugin_arg_check_proc_tab:: [string => Proc]  ãã©ã°ã¤ã³å¼æ°åâãã§ãã¯é¢æ°
-# ä»¥ä¸ã®å¤æ°ã¯ãinitialize ã§ã¯ãªããå¾ããè¨­å®ããã
-#@start_@region::  Region             å§ã¾ãã®ãªã¼ã¸ã§ã³ï¼ caller_cell ã®ãªã¼ã¸ã§ã³ã¨ã¯ç°ãªãå¯è½æ§ããã ($start_region$)
-#@end_region::  Region                çµããã®ãªã¼ã¸ã§ã³ï¼ next_cell ã®ãªã¼ã¸ã§ã³ã¨ã¯ç°ãªãå¯è½æ§ããã ($end_region$)
-#@region:: Region                     @start_region ã¨ @end_region ã®ããããã§ãcell ãç½®ãã®ãå¥½ã¾ãããªã¼ã¸ã§ã³ ($preferred_region$)
-#@through_type:: Symbol              :THROUGH, :TO_THROUGH, :IN_THROUGH, :OUT_THROUGH ã®ãããã
-
-  # ãã® Plugin ãçæããã»ã«ã¿ã¤ãã®ãªã¹ã
+#@cell_name::      Symbol             生成するセル名（複数セルを生成する場合、受け口側のセル）
+#@plugin_arg_str:: string             through で指定された引数
+#@next_cell:: Cell                    呼び口を結合するセル
+#@next_cell_port_name:: Symbol       呼び口を結合する受口の名前
+#@signature::      Signature          シグニチャ
+#@celltype::       Celltype           呼び先のセルのセルタイプ. through が連接する場合、最終的な呼び先のセルのセルタイプ
+#@entry_port_name::Symbol             生成するセルの受け口名  "eThroughEntry"
+#@call_port_name:: Symbol             生成するセルの呼び口名  "cCall"
+#@ct_name::        Symbol             生成するセルのセルタイプ名   "t#{self.class.name}_#{@signature.get_global_name}"
+#@plugin_arg_list:: Hash              プラグイン引数をパースした結果のハッシュ変数
+#@caller_cell::    Cell               呼び元のセル．through プラグインが連接する場合では、最も呼び元のセル．($source$)
+#                                     through プラグインが合流するケースでは、1つ目の呼び元セルのみ引数として与えられる
+#                                     従って TracePlugin の呼び元の判別に利用する場合は、異なる呼び元から呼ばれる可能性があることに注意しなくてはならない
+#@callee_cell:: Cell                  呼び先のセル($destination$)
+#@plugin_arg_check_proc_tab:: [string => Proc]  プラグイン引数名⇒チェック関数
+# 以下の変数は、initialize ではなく、後から設定される
+#@start_@region::  Region             始まりのリージョン： caller_cell のリージョンとは異なる可能性がある ($start_region$)
+#@end_region::  Region                終わりのリージョン： next_cell のリージョンとは異なる可能性がある ($end_region$)
+#@region:: Region                     @start_region と @end_region のいずれかで、cell を置くのが好ましいリージョン ($preferred_region$)
+#@through_type:: Symbol              :THROUGH, :TO_THROUGH, :IN_THROUGH, :OUT_THROUGH のいずれか
+
+  # この Plugin が生成したセルタイプのリスト
   @@generated_celltype = {}
 
-  #=== ThroughPlugin ã®åæå
-  #     through ãæå®ãããæç¹ã§çæãè¡ããã
-  #         åæåã§ã¯ãæå®ãããå¼æ°ãè¨é²ããã«çãã
-  #cell_name::      Symbol             çæãã¹ãã»ã«åï¼åå£å´ï¼
-  #plugin_arg::     string             through ã§æå®ãããå¼æ°
-  #next_cell::      Cell               å¼ã³å£ãæ¥ç¶ããã»ã«
-  #next_cell_port_name:: Symbol        å¼ã³å£ãæ¥ç¶ããåå£ã®åå
-  #signature::      Signature          ã·ã°ããã£
-  #celltype::       Celltype           ã»ã«ã¿ã¤ã (å¼ã³å
-ã®ã»ã«ã®ã»ã«ã¿ã¤ã)
-  #caller_cell::    Cell               å¼ã³å
-ã®ã»ã«ï¼@caller_cell ã®é 
-ãåç
-§
+  #=== ThroughPlugin の初期化
+  #     through が指定された時点で生成が行われる
+  #         初期化では、指定された引数を記録するに留める
+  #cell_name::      Symbol             生成すべきセル名（受口側）
+  #plugin_arg::     string             through で指定された引数
+  #next_cell::      Cell               呼び口を接続するセル
+  #next_cell_port_name:: Symbol        呼び口を接続する受口の名前
+  #signature::      Signature          シグニチャ
+  #celltype::       Celltype           セルタイプ (呼び先のセルのセルタイプ)
+  #caller_cell::    Cell               呼び元のセル．@caller_cell の項を参照
   def initialize( cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell )
     super()
-    @cell_name = cell_name                      # çæãã¹ãã»ã«åï¼åãå£å´ã®ã»ã«åï¼
-                                                # ãã®å¼ã³å
-ã«å¥ã»ã«ãçæããå ´åããã®ååãæ¥é ­è¾ã¨ãã¹ã
-    @next_cell = next_cell                      # å¼ã³å
-ã®ã»ã«
+    @cell_name = cell_name                      # 生成すべきセル名（受け口側のセル名）
+                                                # この呼び先に別セルを生成する場合、この名前を接頭辞とすべき
+    @next_cell = next_cell                      # 呼び先のセル
     @next_cell_port_name = next_cell_port_name
     @signature = signature
@@ -121,18 +89,16 @@
     @celltype = celltype
     @plugin_arg_str = plugin_arg
-    @plugin_arg_list = {}                       # ãã©ã°ã¤ã³å¼æ°ããã¼ã¹ããçµæã®ããã·ã¥å¤æ°
+    @plugin_arg_list = {}                       # プラグイン引数をパースした結果のハッシュ変数
     @caller_cell     = caller_cell
-    Join.set_through_info self                  # å¼æ°ã§æ¸¡ããªã(å¾ããè¿½å ããã)ãã®ã¯ set_through_info ã§è¨­å®ããã
+    Join.set_through_info self                  # 引数で渡らない(後から追加された)ものは set_through_info で設定される
     print( "#{self.class.name}.new( '#{cell_name}', '#{plugin_arg}', '#{next_cell.get_name}', '#{next_cell_port_name}', #{celltype.get_name} )\n" )
   end
 
-  #=== æ
-å ±ãè¨­å®ãã
-  # å
-±æãã£ã³ãã«ã®å ´å caller_cell, next_cell ã®ãããã® region ã§ããªãã±ã¼ã¹ããã
-  # å¾ããè¿½å ããã®ã§ initialize ã®å¼æ°ã§ã¯ãªããå¥ã¡ã½ããã§è¨­å®
-  # ãã®ã¡ã½ããã¯ããªã¼ãã¼ã©ã¤ãããªãã§ãã ãã
-  # Join ã¨ ThrougPlugin ã®éã®é£çµ¡ç¨ã§ãä»å¾ã¨ãå¼æ°ãè¿½å ãããå¯è½æ§ããããã
-  # ãã®ã¡ã½ããã¯ V1.C.0.34 ã§ä½ç½®ãç§»åãããThroughPlugin#initialize ã§å¼ã³åºããã
+  #=== 情報を設定する
+  # 共有チャンネルの場合 caller_cell, next_cell のいずれの region でもないケースがある
+  # 後から追加したので initialize の引数ではなく、別メソッドで設定
+  # このメソッドは、オーバーライドしないでください
+  # Join と ThrougPlugin の間の連絡用で、今後とも引数が追加される可能性があるため
+  # このメソッドは V1.C.0.34 で位置が移動され、ThroughPlugin#initialize で呼び出される
   def set_through_info( start_region, end_region, through_type, join, callee_cell, count )
     @start_region = start_region
@@ -143,5 +109,5 @@
     @count = count
 
-    # preferred_region ã®è¨­å®
+    # preferred_region の設定
     case through_type
     when :IN_THROUGH, :THROUGH
@@ -154,11 +120,11 @@
   end
 
-  #===  ã»ã«ã®ååãå¾ã
+  #===  セルの名前を得る
   def get_cell_name
     @cell_name
   end
 
-  #=== NamespacePath ãå¾ã
-  # çæããã»ã«ã® namespace path ãçæãã
+  #=== NamespacePath を得る
+  # 生成するセルの namespace path を生成する
   def get_cell_namespace_path
 #    nsp = @region.get_namespace.get_namespace_path
@@ -167,16 +133,16 @@
   end
 
-  #===  çæãããã»ã«ã®åãå£ã®ååãå¾ã
+  #===  生成されたセルの受け口の名前を得る
   def get_through_entry_port_name
     @entry_port_name
   end
 
-  #===  å®£è¨ã³ã¼ãã®çæ
-  #      typedef, signature, celltype ãªã©ï¼cell ä»¥å¤ï¼ã®ã³ã¼ããçæ
-  #          éè¤ãã¦çæãã¦ã¯ãªããªãï¼ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ï¼
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  宣言コードの生成
+  #      typedef, signature, celltype など（cell 以外）のコードを生成
+  #          重複して生成してはならない（すでに生成されている場合は出力しないこと）
+  #file::        FILE       生成するファイル
   def gen_plugin_decl_code( file )
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ @ct_name ] == nil then
       @@generated_celltype[ @ct_name ] = [ self ]
@@ -223,6 +189,6 @@
   end
 
-  #=== CDL ãã¡ã¤ã«ã®çæ
-  #file::     FILE    çæãããã¡ã¤ã«
+  #=== CDL ファイルの生成
+  #file::     FILE    生成するファイル
   def gen_cdl_file( file )
     gen_plugin_decl_code( file )
@@ -230,7 +196,7 @@
   end
 
-  #===  ã»ã«ã³ã¼ãã®çæ
-  #     through æå®ã«ããçããã»ã«ã³ã¼ã(CDL)ãçæãã
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  セルコードの生成
+  #     through 指定により生じるセルコード(CDL)を生成する
+  #file::        FILE       生成するファイル
   def gen_through_cell_code( file )
 
@@ -247,18 +213,16 @@
   end
 
-  #=== å¾ãã®ã³ã¼ããçæ
-  #ãã©ã°ã¤ã³ã®å¾ãã®ã³ã¼ã (CDL) ãçæ
+  #=== 後ろのコードを生成
+  #プラグインの後ろのコード (CDL) を生成
   #file:: File: 
   def self.gen_post_code( file )
-    # è¤æ°ã®ãã©ã°ã¤ã³ã® post_code ãä¸ã¤ã®ãã¡ã¤ã«ã«å«ã¾ãããããä»¥ä¸ã®ãããªè¦åºããã¤ãããã¨
+    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     # file.print "/* '#{self.class.name}' post code */\n"
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½(Cè¨èª)ãçæãã
-  #     éå¸¸ã§ããã°ãã¸ã§ãã¬ã¼ã¿ã¯åãå£é¢æ°ã®ãã³ãã¬ã¼ããçæãã
-  #     ãã©ã°ã¤ã³ã®å ´åãå¤æ´ããå¿
-è¦ã®ãªãã»ã«ã¿ã¤ãã³ã¼ããçæãã
-  #file::           FILE        åºåå
-ãã¡ã¤ã«
+  #===  受け口関数の本体(C言語)を生成する
+  #     通常であれば、ジェネレータは受け口関数のテンプレートを生成する
+  #     プラグインの場合、変更する必要のないセルタイプコードを生成する
+  #file::           FILE        出力先ファイル
   #b_singleton::    bool        true if singleton
   #ct_name::        Symbol
@@ -285,5 +249,5 @@
     p_cellcb = #{global_ct_name}_GET_CELLCB(idx);
   }else{
-     /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+     /* エラー処理コードをここに記述 */
   }
 
@@ -318,5 +282,5 @@
   end
 
-  #=== Through ãã©ã°ã¤ã³ã®å¼æ°ã®ååãç½®æãã
+  #=== Through プラグインの引数の名前を置換する
   def check_plugin_arg( ident, rhs )
     rhs = subst_name rhs
@@ -324,26 +288,21 @@
   end
 
-  #=== ThroughPlugin#ååã®ç½®æ
-  # ãã©ã°ã¤ã³ãªãã·ã§ã³å¼æ°å
-ã®æå­åãç½®æãã
-  #   $source$       â¦ å¼ã³å
-ã®ã»ã«å
-  #   $destination$  â¦ å¼ã³å
-ã®ã»ã«å
-  #   $SOURCE$       â¦ å¼ã³å
-ã®ã»ã«å (ãªã¼ã¸ã§ã³åã '_' ã§é£çµãã global_name)
-  #   $DESTINATION$  â¦ å¼ã³å
-ã®ã»ã«å (ãªã¼ã¸ã§ã³åã '_' ã§é£çµãã global_name)
-  #   $next$         â¦ æ¬¡ã®ã»ã«å
-  #                     è¤æ°ã® through ãã¤ãªãã£ã¦ããå ´åãããå¾ãã«æ¥ããã®
-  #   $NEXT$         â¦ æ¬¡ã®ã»ã«å (ãªã¼ã¸ã§ã³åã '_' ã§é£çµãã global_name)
-  #                     è¤æ°ã® through ãã¤ãªãã£ã¦ããå ´åãããå¾ãã«æ¥ããã®
-  #   $start_region$ â¦ $source$ ã®ã»ã«ã®å­å¨ãã region (global_name)
-  #   $end_region$   â¦ $destination$ ã®ã»ã«ã®å­å¨ãã region (global_name)
-  #   $preferred_region$  â¦ é©åãª region (global_name), start_region ã¾ãã¯ end_region
-  #   $count$        â¦ region éã® through ã®é©ç¨æ°
-  #   $$             â¦ $ ã«ç½®æ
+  #=== ThroughPlugin#名前の置換
+  # プラグインオプション引数内の文字列を置換する
+  #   $source$       … 呼び元のセル名
+  #   $destination$  … 呼び先のセル名
+  #   $SOURCE$       … 呼び元のセル名 (リージョン名を '_' で連結した global_name)
+  #   $DESTINATION$  … 呼び先のセル名 (リージョン名を '_' で連結した global_name)
+  #   $next$         … 次のセル名
+  #                     複数の through がつながっている場合、すぐ後ろに来るもの
+  #   $NEXT$         … 次のセル名 (リージョン名を '_' で連結した global_name)
+  #                     複数の through がつながっている場合、すぐ後ろに来るもの
+  #   $start_region$ … $source$ のセルの存在する region (global_name)
+  #   $end_region$   … $destination$ のセルの存在する region (global_name)
+  #   $preferred_region$  … 適切な region (global_name), start_region または end_region
+  #   $count$        … region 間の through の適用数
+  #   $$             … $ に置換
   def subst_name( str )
-    # ã»ã«åã®ç½®æ
+    # セル名の置換
     str = str.gsub( /(^|[^\$])\$source\$/, "\\1#{@caller_cell.get_name}" )
     str = str.gsub( /(^|[^\$])\$destination\$/, "\\1#{@callee_cell.get_name}" )
@@ -352,5 +311,5 @@
     str = str.gsub( /(^|[^\$])\$next\$/, "\\1#{@next_cell.get_name}" )
     str = str.gsub( /(^|[^\$])\$NEXT\$/, "\\1#{@next_cell.get_global_name}" )
-    # region åã®ç½®æ
+    # region 名の置換
     str = str.gsub( /(^|[^\$])\$start_region\$/, "\\1#{@start_region.get_global_name}" )
     str = str.gsub( /(^|[^\$])\$end_region\$/, "\\1#{@end_region.get_global_name}" )
@@ -358,5 +317,5 @@
     str = str.gsub( /(^|[^\$])\$count\$/, "\\1#{@count}" )
 
-    str = str.gsub( /\$\$/, "\$" )                       # $$ ã $ ã«ç½®æ
+    str = str.gsub( /\$\$/, "\$" )                       # $$ を $ に置換
 
     return str
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TracePlugin.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TracePlugin.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/TracePlugin.rb	(revision 321)
@@ -6,59 +6,42 @@
 #   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: TracePlugin.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
 class TracePlugin < ThroughPlugin
 #@cellEntry_list::[ "Cell.eEntry", "Cell2.eEntry2", ... ]
-#@b_generate::bool  : true : TracePlugin ãçæããå¿
-è¦ããã
-
-  #=== TracePlugin ã® initialize
-  #  èª¬æã¯ ThroughPlugin (plugin.rb) ãåç
-§
+#@b_generate::bool  : true : TracePlugin を生成する必要がある
+
+  #=== TracePlugin の initialize
+  #  説明は ThroughPlugin (plugin.rb) を参照
   def initialize( cell_name, plugin_arg, next_cell, next_cell_port_name, signature, celltype, caller_cell )
 
@@ -86,7 +69,5 @@
 
     if @b_generate == false then
-      # å
-ã
-å¼ã³åºãã»ã«ã«çµåãããã®ã¨ãã
+      # 元々呼び出すセルに結合するものとする
       @entry_port_name = next_cell_port_name
       @cell_name = next_cell.get_name
@@ -94,11 +75,11 @@
   end
 
-  #===  å®£è¨ã³ã¼ãã®çæ
-  #      typedef, signature, celltype ãªã©ï¼cell ä»¥å¤ï¼ã®ã³ã¼ããçæ
-  #          éè¤ãã¦çæãã¦ã¯ãªããªãï¼ãã§ã«çæããã¦ããå ´åã¯åºåããªããã¨ï¼
-  #file::        FILE       çæãããã¡ã¤ã«
+  #===  宣言コードの生成
+  #      typedef, signature, celltype など（cell 以外）のコードを生成
+  #          重複して生成してはならない（すでに生成されている場合は出力しないこと）
+  #file::        FILE       生成するファイル
   def gen_plugin_decl_code( file )
 
-    # ãã®ã»ã«ã¿ã¤ãï¼åãã·ã°ããã£ï¼ã¯æ¢ã«çæããã¦ãããï¼
+    # このセルタイプ（同じシグニチャ）は既に生成されているか？
     if @@generated_celltype[ @ct_name ] == nil then
       @@generated_celltype[ @ct_name ] = [ self ]
@@ -439,5 +420,5 @@
   end
 
-  # ãã©ã°ã¤ã³å¼æ°åã¨ Proc
+  # プラグイン引数名と Proc
   TracePluginArgProc = {
     "maxArrayDisplay"    => Proc.new { |obj,rhs| obj.set_maxArrayDisplay rhs },
@@ -479,5 +460,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° tKernel ã®ãã§ãã¯
+  #=== プラグイン引数 tKernel のチェック
   def set_kernelCelltype( rhs )
     @kernelCelltype = rhs.to_sym
@@ -489,5 +470,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° tSyslog ã®ãã§ãã¯
+  #=== プラグイン引数 tSyslog のチェック
   def set_syslogCelltype( rhs )
     @syslogCelltype = rhs.to_sym
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenHRP2Marshaler.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenHRP2Marshaler.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenHRP2Marshaler.rb	(revision 321)
@@ -6,51 +6,36 @@
 #   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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 #  
 #++
 
-#ãã©ã°ã¤ã³ãªãã·ã§ã³ç¨å¤æ°
+#プラグインオプション用変数
 #@task_priority:: Integer
 #@channelCelltype:: String
@@ -59,5 +44,5 @@
 module GenTransparentMarshaler
 
-  # ãã©ã°ã¤ã³å¼æ°åã¨ Proc
+  # プラグイン引数名と Proc
   RPCPluginArgProc = {
     "taskPriority"    => Proc.new { |obj,rhs| obj.set_taskPriority rhs },
@@ -68,10 +53,10 @@
   }
 
-  #=== ãã©ã°ã¤ã³å¼æ° taskPriority ã®ãã§ãã¯
+  #=== プラグイン引数 taskPriority のチェック
   def set_taskPriority( rhs )
     @task_priority = rhs
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° channelCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 channelCelltype のチェック
   def set_channelCelltype( rhs )
     @channelCelltype = rhs.to_sym
@@ -85,5 +70,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° TDRCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 TDRCelltype のチェック
   def set_TDRCelltype( rhs )
     @TDRCelltype = rhs.to_sym
@@ -97,5 +82,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° channelCellName ã®ãã§ãã¯
+  #=== プラグイン引数 channelCellName のチェック
   def set_channelCellName( rhs )
     @channelCellName = rhs
@@ -107,10 +92,10 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° PPAllocatorSize ã®ãã§ãã¯
+  #=== プラグイン引数 PPAllocatorSize のチェック
   def set_PPAllocatorSize( rhs )
     @PPAllocatorSize = rhs
   end
 
-  #=== marshaler ã®ã»ã«ã¿ã¤ãåãè¨­å®ãã
+  #=== marshaler のセルタイプ名を設定する
   def initialize_transparent_marshaler cell_name
     @task_priority = 8
@@ -134,6 +119,5 @@
 
     f = CFile.open( @marshaler_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     # modified by ishikawa
@@ -163,9 +147,9 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½ã³ã¼ããçæï¼é ­é¨ã¨æ«å°¾ã¯å¥éåºåï¼
-  #ct_name:: Symbol    (through ãã©ã°ã¤ã³ã§çæããã) ã»ã«ã¿ã¤ãå ï¼Symbol ã¨ãã¦éããã¦ããï¼ãããï¼
+  #===  受け口関数の本体コードを生成（頭部と末尾は別途出力）
+  #ct_name:: Symbol    (through プラグインで生成された) セルタイプ名 ．Symbol として送られてくる（らしい）
   def gen_ep_func_body( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
-    # unmarshaler ã¯ã©ã¹ã?
+    # unmarshaler クラスか?
     if ct_name == @unmarshaler_celltype_name.to_sym then
       gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
@@ -175,5 +159,5 @@
   end
 
-  #===  marshal ã³ã¼ãã®çæ
+  #===  marshal コードの生成
   def gen_ep_func_body_marshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
@@ -181,9 +165,8 @@
     b_ret_er = false
 
-    # é¢æ°ã®æ»ãå¤ã®å
-ã®åãå¾ã(typedef ããã¦ããå ´å)
+    # 関数の戻り値の元の型を得る(typedef されている場合)
     type = func_type.get_type.get_original_type
 
-    # æ»ãå¤è¨æ¶ç¨ã®å¤æ°ãåºåï¼void åã®é¢æ°ã§ã¯åºåããªãï¼
+    # 戻り値記憶用の変数を出力（void 型の関数では出力しない）
     if ! type.kind_of?( VoidType ) then
       if func_type.get_type.kind_of?( DefinedType ) && ( func_type.get_type.get_type_str == "ER" || func_type.get_type.get_type_str == "ER_INT" ) then
@@ -200,9 +183,8 @@
     file.print( "    FLGPTN  flgptn;\n" )
 
-    # å¼ã³å
-ã® signature ãåãåºã
+    # 呼び先の signature を取り出す
     signature = @signature
 
-    # é¢æ° ID ï¼æ´æ°å¤ï¼
+    # 関数 ID （整数値）
     func_id = signature.get_id_from_func_name( func_name )
     file.print( "    int16_t  func_id_ = #{func_id};    /* id of #{func_name}: #{func_id} */\n" )
@@ -210,8 +192,8 @@
     file.print( "    uint8_t  msg[256];\n" )
 
-    # ã·ã³ã°ã«ãã³ã§ãªããï¼
+    # シングルトンでないか？
     if ! b_singleton then
 
-      # singleton ã§ãªããã° p_cellcb åå¾ã³ã¼ããåºå
+      # singleton でなければ p_cellcb 取得コードを出力
       file.print <<EOT
     #{ct_name}_CB *p_cellcb;
@@ -221,5 +203,5 @@
 EOT
 
-      # ã¨ã©ã¼ãè¿ããï¼
+      # エラーを返すか？
       if b_ret_er then
         file.print <<EOT
@@ -231,11 +213,11 @@
         file.print <<EOT
     }else{
-        /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
-    }
-EOT
-      end
-    end
-
-    # channel lock ã³ã¼ã
+        /* エラー処理コードをここに記述 */
+    }
+EOT
+      end
+    end
+
+    # channel lock コード
     file.print <<EOT
     ///* Channel Lock */
@@ -246,12 +228,12 @@
 
 =begin
-    # SOP ãéä¿¡
-    file.print "    /* SOPã®éåº */\n"
+    # SOP を送信
+    file.print "    /* SOPの送出 */\n"
     file.print "    if( ( ercd_ = cTDR_sendSOP( true ) ) != E_OK )\n"
     file.print "      goto error_reset;\n"
 =end
 
-    # func_id ãéä¿¡
-    file.print "    /* é¢æ° id ã®éåº */\n"
+    # func_id を送信
+    file.print "    /* 関数 id の送出 */\n"
 =begin
     file.print "    if( ( ercd_ = cTDR_putInt16( func_id_ ) ) != E_OK )\n"
@@ -263,12 +245,10 @@
     # p "#{ct_name}, #{sig_name}, #{func_name}, #{func_global_name}"
 
-    b_get = false    # marshal ãªã put
+    b_get = false    # marshal なら put
     b_marshal = true  # marshal
 
-    # in æ¹åã®å
-¥åºåãåºå
+    # in 方向の入出力を出力
     @index = 2
-    file.print "    /* å
-¥åå¼æ°éåº */\n"
+    file.print "    /* 入力引数送出 */\n"
     print_params( params, file, 1, b_marshal, b_get, true, func_type.is_oneway? )
     print_params( params, file, 1, b_marshal, b_get, false, func_type.is_oneway? )
@@ -280,5 +260,5 @@
 =end
 
-    file.print "    /* EOPã®éåºï¼ãã±ããã®æãã ãï¼ */\n"
+    file.print "    /* EOPの送出（パケットの掃きだし） */\n"
     if ! func_type.is_oneway? then
       b_continue = "true"
@@ -315,6 +295,5 @@
 
     if( b_void == false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "    cMessageBuffer_receive(&retval_);\n" )
       file.print( "    return retval_;\n" )
@@ -332,5 +311,5 @@
 EOT
 
-    # channel lock ã³ã¼ã
+    # channel lock コード
     file.print <<EOT
     ///* Channel Lock */
@@ -341,6 +320,5 @@
 
     if( b_ret_er != false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "    return ercd_;\n" )
     else
@@ -350,5 +328,5 @@
   end
 
-  #===  unmarshal ã³ã¼ãã®çæ
+  #===  unmarshal コードの生成
   def gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
@@ -356,5 +334,5 @@
     b_ret_er = false
 
-    # func_id ãå¾ãã³ã¼ããçæ
+    # func_id を得るコードを生成
     file.print <<EOT
 
@@ -377,5 +355,5 @@
         file.print <<EOT
     }else{
-        /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+        /* エラー処理コードをここに記述 */
     }
 EOT
@@ -387,8 +365,8 @@
 
 #if 0
-    /* SOPã®ãã§ãã¯ */
+    /* SOPのチェック */
     if( (ercd_=cTDR_receiveSOP( false )) != E_OK )
         goto error_reset;
-    /* func_id ã®åå¾ */
+    /* func_id の取得 */
     if( (ercd_=cTDR_getInt16( &func_id_ )) != E_OK )
         goto error_reset;
@@ -405,11 +383,10 @@
 EOT
 
-    # å¼ã³å
-ã® signature ãåãåºã
+    # 呼び先の signature を取り出す
     # port = @celltype.find( @next_cell_port_name )
     # signature = port.get_signature
     signature = @signature
 
-    # through ã® signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    # through の signature に含まれる すべての関数について
     signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -417,5 +394,5 @@
       id = signature.get_id_from_func_name( f_name )
 
-      # é¢æ°ã¯è¿ãå¤ãæã¤ã?
+      # 関数は返り値を持つか?
       if f_type.get_type.kind_of?( VoidType ) then
         b_void = true
@@ -424,5 +401,5 @@
       end
 
-      # ãã±ããã®çµããããã§ãã¯ï¼æªåãåãã®ãã¼ã¿ãæ®ã£ã¦ããªãããã§ãã¯ï¼
+      # パケットの終わりをチェック（未受け取りのデータが残っていないかチェック）
       file.print "    case #{id}:       /*** #{f_name} ***/ \n"
       file.print "        if( tTransparentUnmarshaler_#{@signature.get_name}_#{f_name}() != E_OK )\n"
@@ -433,5 +410,5 @@
 
     if @PPAllocatorSize then
-      ppallocator_dealloc_str = "    /* PPAllocator ã®ãã¹ã¦ãè§£æ¾ */\n    cPPAllocator_dealloc_all();"
+      ppallocator_dealloc_str = "    /* PPAllocator のすべてを解放 */\n    cPPAllocator_dealloc_all();"
     else
       ppallocator_dealloc_str = ""
@@ -441,6 +418,5 @@
     file.print <<EOT
     default:
-#if 0 // deleted by ishikawa: tSysLogãæªå®è£
-
+#if 0 // deleted by ishikawa: tSysLogが未実装
         syslog(LOG_INFO, "unmarshaler task: ERROR: unknown func_id: %d", func_id_ );
 #endif /* 0 */
@@ -463,10 +439,8 @@
 
   # IN b_marshal, b_get
-  #  b_marshal = true  && b_get == false   :  ãã¼ã·ã£ã©ã§å
-¥åå¼æ°éåº
-  #  b_marshal = true  && b_get == true    :  ãã¼ã·ã£ã©ã§åºåå¼æ°åå
-  #  b_marshal = false && b_get == true    :  ã¢ã³ãã¼ã·ã£ã©ã§å
-¥åå¼æ°åå
-  #  b_marshal = false && b_get == get     :  ã¢ã³ãã¼ã·ã£ã©ã§åºåå¼æ°éåº
+  #  b_marshal = true  && b_get == false   :  マーシャラで入力引数送出
+  #  b_marshal = true  && b_get == true    :  マーシャラで出力引数受取
+  #  b_marshal = false && b_get == true    :  アンマーシャラで入力引数受取
+  #  b_marshal = false && b_get == get     :  アンマーシャラで出力引数送出
   def print_params( params, file, nest, b_marshal, b_get, b_referenced, b_oneway = false )
     params.each{ |param|
@@ -479,5 +453,5 @@
       type = param.get_type
       if b_oneway && dir == :IN && type.get_original_type.kind_of?( PtrType ) || type.get_original_type.kind_of?( ArrayType ) then
-        # oneway, in, PtrType ã®å ´åã³ãã¼
+        # oneway, in, PtrType の場合コピー
         alloc_cp = "cPPAllocator_alloc"
         alloc_cp_extra = nil
@@ -501,5 +475,5 @@
   end
 
-  #=== ã³ãã¼ããªãå¼æ°æ¸¡ãã³ã¼ãã®åºå
+  #=== コピーしない引数渡しコードの出力
   def print_param_nc( name, type, file, nest, b_marshal, outer, outer2, b_get )
     indent = "    " * ( nest + 1 )
@@ -521,5 +495,5 @@
         when :SIGNED
           if bit_size == -1 || bit_size == -11 then
-            # signed char ã®å ´åãsigned ãæå®ãã
+            # signed char の場合、signed を指定する
             signC = "S"
             sign  = "s"
@@ -640,6 +614,6 @@
 
 
-  #=== PREAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ãçæ
+  #=== PREAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、アンマーシャラ関数のプロトタイプ宣言を生成
   def gen_preamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -647,6 +621,6 @@
     end
 
-    file.print "/* ã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ */\n"
-    # signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    file.print "/* アンマーシャラ関数のプロトタイプ宣言 */\n"
+    # signature に含まれる すべての関数について
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -660,6 +634,6 @@
   end
 
-  #=== POSTAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãã¢ã³ãã¼ã·ã£ã©é¢æ°ã®çæ
+  #=== POSTAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、アンマーシャラ関数の生成
   def gen_postamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -667,5 +641,5 @@
     end
 
-    file.print "\n/*** ã¢ã³ãã¼ã·ã£ã©é¢æ° ***/\n\n"
+    file.print "\n/*** アンマーシャラ関数 ***/\n\n"
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -673,5 +647,5 @@
       id = @signature.get_id_from_func_name( f_name )
 
-      # é¢æ°ã¯è¿ãå¤ãæã¤ã?
+      # 関数は返り値を持つか?
       if f_type.get_type.kind_of?( VoidType ) then
         b_void = true
@@ -691,5 +665,5 @@
       file.print "	ER  ercd_;\n"
 
-      # å¼æ°ãååãå¤æ°ã®å®ç¾©
+      # 引数を受取る変数の定義
       param_list = f.get_declarator.get_type.get_paramlist.get_items
            # FuncHead->  Decl->    FuncType->ParamList
@@ -706,13 +680,13 @@
         end
 
-        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" ãå¤ã
+        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" を外す
 
         file.printf( "    %-12s %s%s%s%s;\n", type_str, aster, name, aster2, type.get_type_str_post )
       }
 
-      # æ»ãå¤ãåãåãå¤æ°ã®å®ç¾©
+      # 戻り値を受け取る変数の定義
       if ! b_void then
         if f.is_oneway? then
-          retval_ptr = ""   # oneway ã®å ´åãåãåããæ¨ã¦ããã
+          retval_ptr = ""   # oneway の場合、受け取るが捨てられる
         else
           # =begin ishikawa modified
@@ -724,10 +698,7 @@
       end
 
-      # in æ¹åã®å
-¥åºåãå
-¥å
-      file.print "\n        /* å
-¥åå¼æ°åå */\n"
-      b_get = true    # unmarshal ã§ã¯ get
+      # in 方向の入出力を入力
+      file.print "\n        /* 入力引数受取 */\n"
+      b_get = true    # unmarshal では get
       b_marshal  = false
       @index = 2
@@ -740,7 +711,7 @@
       end
 =end
-      # ãã±ããã®åä¿¡å®äº
-      # mikan æ¬å½ã¯ãå¯¾è±¡é¢æ°ãå¼åºãå¾ã«å®æ½ãããï¼å¼åºããã±ããã®ä½¿ç¨çµãããå®£è¨ããç®çã¨ãã¦
-      file.print "        /* ãã±ããçµããããã§ãã¯ */\n"
+      # パケットの受信完了
+      # mikan 本当は、対象関数を呼出す後に実施したい．呼出しパケットの使用終わりを宣言する目的として
+      file.print "        /* パケット終わりをチェック */\n"
       if ! f.is_oneway? then
         b_continue = "true"
@@ -752,6 +723,6 @@
       file.print "        goto error_reset;\n\n"
 =end
-      # å¯¾è±¡é¢æ°ãå¼åºã
-      file.print "    /* å¯¾è±¡é¢æ°ã®å¼åºã */\n"
+      # 対象関数を呼出す
+      file.print "    /* 対象関数の呼出し */\n"
       if b_void then
         file.print( "    cServerCall_#{f_name}(" )
@@ -768,5 +739,5 @@
       file.print( " );\n" )
 
-      # æ»ãå¤ãåºåå¼æ°ã®ååã³ã¼ãã®çæ
+      # 戻り値、出力引数の受取コードの生成
 
       if ! b_void && ! f.is_oneway? then
@@ -775,9 +746,8 @@
 
       end
-      # oneway ã®å ´ååºåãæ»ãå¤ãç¡ããååãå¾
-ããªãï¼éåæãªå¼åºãï¼
+      # oneway の場合出力、戻り値が無く、受取を待たない（非同期な呼出し）
       if ! f.is_oneway? then
         file.print <<EOT
-    /* é¢æ°å¦çã®çµäºãéç¥ */
+    /* 関数処理の終了を通知 */
     if( ( ercd_ = cEventflag_set( 0x01 ) ) != E_OK ){
       goto error_reset;
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenOpaqueMarshaler.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenOpaqueMarshaler.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenOpaqueMarshaler.rb	(revision 321)
@@ -6,57 +6,41 @@
 #   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: GenOpaqueMarshaler.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
 #== GenOpaqueMarshaler
-# OpaqueRPCPlugin, sharedOpaqueRPCPlugin å
-±éã®è¦ç´ ãéããã¢ã¸ã¥ã¼ã«
+# OpaqueRPCPlugin, sharedOpaqueRPCPlugin 共通の要素を集めたモジュール
 module GenOpaqueMarshaler
 
-  # ãã©ã°ã¤ã³å¼æ°åã¨ Proc
+  # プラグイン引数名と Proc
   RPCPluginArgProc = {
     "clientChannelCelltype" => Proc.new { |obj,rhs| obj.set_clientChannelCelltype rhs },
@@ -79,12 +63,12 @@
   }
 
-  ##### ãã©ã°ã¤ã³å¼æ°ãã§ãã¯é¢æ°
-
-  #=== ãã©ã°ã¤ã³å¼æ° taskPriority ã®ãã§ãã¯
+  ##### プラグイン引数チェック関数
+
+  #=== プラグイン引数 taskPriority のチェック
   def set_taskPriority( rhs )
     @taskPriority = rhs
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° serverChannelCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 serverChannelCelltype のチェック
   def set_serverChannelCelltype( rhs )
     @serverChannelCelltype = rhs.to_sym
@@ -98,5 +82,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientChannelCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 clientChannelCelltype のチェック
   def set_clientChannelCelltype( rhs )
     @clientChannelCelltype = rhs.to_sym
@@ -110,8 +94,8 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° serverChannelCell ã®ãã§ãã¯
+  #=== プラグイン引数 serverChannelCell のチェック
   def set_serverChannelCell( rhs )
     @serverChannelCell = rhs.to_sym
-    # ChannelCell ã¯ãã©ã°ã¤ã³ã§çæããããããããã§ã¯ãã§ãã¯ã§ããªã
+    # ChannelCell はプラグインで生成されるため、ここではチェックできない
     # path = [ "::", @serverChannelCell ]
     # obj = Namespace.find( path )
@@ -121,8 +105,8 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientChannelCell ã®ãã§ãã¯
+  #=== プラグイン引数 clientChannelCell のチェック
   def set_clientChannelCell( rhs )
     @clientChannelCell = rhs.to_sym
-    # ChannelCell ã¯ãã©ã°ã¤ã³ã§çæããããããããã§ã¯ãã§ãã¯ã§ããªã
+    # ChannelCell はプラグインで生成されるため、ここではチェックできない
     # path = [ "::", @clientChannelCell ]
     # obj = Namespace.find( path )
@@ -132,15 +116,15 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° serverChannelInitializer ã®ãã§ãã¯
+  #=== プラグイン引数 serverChannelInitializer のチェック
   def set_serverChannelInitializer( rhs )
     @serverChannelInitializer = rhs.to_sym
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientChannelInitializer ã®ãã§ãã¯
+  #=== プラグイン引数 clientChannelInitializer のチェック
   def set_clientChannelInitializer( rhs )
     @clientChannelInitializer = rhs.to_sym
   end
 
-  #=== ã¿ã¹ã¯ã¿ã¤ã taskCellype ã®ãã§ãã¯
+  #=== タスクタイプ taskCellype のチェック
   def set_taskCelltype( rhs )
     @taskCelltype = rhs.to_sym
@@ -154,15 +138,15 @@
   end
 
-  #=== ã¿ã¹ã¯ã¿ã¤ã stack\size ã®ãã§ãã¯
+  #=== タスクタイプ stack\size のチェック
   def set_stackSize( rhs )
     @stackSize = rhs
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° PPAllocatorSize ã®ãã§ãã¯
+  #=== プラグイン引数 PPAllocatorSize のチェック
   def set_PPAllocatorSize( rhs )
     @PPAllocatorSize = rhs
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° TDRCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 TDRCelltype のチェック
   def set_TDRCelltype( rhs )
     @TDRCelltype = rhs.to_sym
@@ -176,13 +160,11 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° substituteAllocator ã®ãã§ãã¯
-  # ãªãã·ã§ã³å¼æ°ããä»¥ä¸ã®å½¢å¼ã§ãããã¨ããã§ãã¯
+  #=== プラグイン引数 substituteAllocator のチェック
+  # オプション引数が、以下の形式であることをチェック
   #     substituteAllocator(Alloc.eAlloc=>Subst.eAlloc,Alloc2.eAlloc=>Subst2.eAlloc)
   def set_substituteAllocator( rhs )
-    #str::String : ç ´å£ãããï¼ãããããæ®ãã«ãªãï¼ãstr.empty? ã§ç©ºã«ãªã£ããã¨ããã§ãã¯ã§ãã
-    #regexp::Regexp : æå¾
-ãããã¼ã¯ã³ã«ãããããæ­£è¦è¡¨ç¾ã "\A" åºå§ãã
-    #expected::String: æå¾
-ãããã¼ã¯ã³ãregexp ãåºç¾ããªãã£ãå ´åã«ã¨ã©ã¼ã¡ãã»ã¼ã¸ã¨ãã¦è¡¨ç¤º
+    #str::String : 破壊される（マッチした残りになる）。str.empty? で空になったことをチェックできる
+    #regexp::Regexp : 期待するトークンにマッチする正規表現。 "\A" 出始める
+    #expected::String: 期待するトークン、regexp が出現しなかった場合にエラーメッセージとして表示
     def optparse (str,regexp,expected)
       str.strip!
@@ -198,5 +180,5 @@
     ident_rexpr = /\A(\w[\w\d]*)/
 
-    # "Alloc.eAlloc=>CAlloc.eAlloc" ã®å½¢å¼ã«ãªã£ã¦ãããã¨ããã§ãã¯
+    # "Alloc.eAlloc=>CAlloc.eAlloc" の形式になっていることをチェック
     while true
       lhs_alloc_cell = optparse( opt, ident_rexpr, "allocator cell name" )
@@ -221,6 +203,5 @@
       break if ! rhs_alloc_ent
 
-#  ããã§ã¯ãå³è¾ºã®ãã§ãã¯ã¯ã§ããªããå³è¾ºã®ã»ã«ã¯åæ¹åç
-§ã¨ãªã
+#  ここでは、右辺のチェックはできない。右辺のセルは前方参照となる
 #      path = [ "::", rhs_alloc_cell.to_sym ]   # mikan namespace
 #      obj = Namespace.find( path )
@@ -229,5 +210,5 @@
 #      else
 #        ct = obj.get_celltype
-#        if ct #  nil ãªãæ¢ã«ã¨ã©ã¼
+#        if ct #  nil なら既にエラー
 #          ent = ct.find rhs_alloc_ent
 #          if ! ent.instance_of? Port || ent.get_port_type != :ENTRY || ent.get_signature == nil || ! ent.get_signature.is_allocator?
@@ -250,5 +231,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° noServerChannelOpenerCode ã®ãã§ãã¯
+  #=== プラグイン引数 noServerChannelOpenerCode のチェック
   def set_noServerChannelOpenerCode( rhs )
     rhs = rhs.to_sym
@@ -262,5 +243,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientSemaphoreCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 clientSemaphoreCelltype のチェック
   def set_clientSemaphoreCelltype rhs
     @semaphoreCelltype = rhs.to_sym
@@ -272,15 +253,15 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientSemaphoreInitializer ã®ãã§ãã¯
+  #=== プラグイン引数 clientSemaphoreInitializer のチェック
   def set_clientSemaphoreInitializer rhs
     @semaphoreInitializer = rhs.to_sym
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° clientErrorHandler ã®ãã§ãã¯
+  #=== プラグイン引数 clientErrorHandler のチェック
   def set_clientErrorHandler rhs
     @clientErrorHandler = rhs.to_sym
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° serverErrorHandler ã®ãã§ãã¯
+  #=== プラグイン引数 serverErrorHandler のチェック
   def set_serverErrorHandler rhs
     @serverErrorHandler = rhs.to_sym
@@ -288,6 +269,6 @@
 
 
-  #===  ã»ã«ã®ååãå¾ã
-  # ThroughPlugin::get_cell_name plugin.rb ããªã¼ãã¼ã©ã¤ã
+  #===  セルの名前を得る
+  # ThroughPlugin::get_cell_name plugin.rb をオーバーライド
   def get_cell_name
     @cell_name
@@ -295,8 +276,8 @@
   end
 
-  #=== marshaler ã®ã»ã«ã¿ã¤ãåãè¨­å®ãã
+  #=== marshaler のセルタイプ名を設定する
   def initialize_opaque_marshaler
 
-    # ãªãã·ã§ã³è¨­å®ãããå¤æ°ã®ããã©ã«ããè¨­å®
+    # オプション設定される変数のデフォルトを設定
     @taskPriority = 11
     @stackSize  = 4096
@@ -309,5 +290,5 @@
     @taskCelltype = :"tTask"
     @PPAllocatorSize = nil
-    # @TDRCelltype  = :"tTDR"   # "tNBOTDR" ã«å¤æ´ã®äºå®
+    # @TDRCelltype  = :"tTDR"   # "tNBOTDR" に変更の予定
     @TDRCelltype  = :"tNBOTDR"
     @substituteAllocator = {}
@@ -324,5 +305,5 @@
     @marshaler_celltype_file_name = "#{$gen}/#{@marshaler_celltype_name}.cdl"
 
-    # signature ã§å¯¾å¿ã§ããªããã®ããã§ãã¯
+    # signature で対応できないものをチェック
     @signature.each_param{ |func_decl, param_decl|
       if param_decl.get_direction == :OUT then
@@ -337,8 +318,8 @@
   end
 
-  #=== GenOpaqueMarshaler# Opener Code ã®çææã®ãã§ãã¯
+  #=== GenOpaqueMarshaler# Opener Code の生成時のチェック
   def check_opener_code
-    # ãµã¼ãã¼ãã£ã³ãã«ã»ã«ã¿ã¤ãã entry sServerChannelOpener eOpener ãæã¤ãã©ããããã§ãã¯
-    # mikan entry ã (call ã§ãªãã) ããã§ãã¯ãã¦ããªã
+    # サーバーチャンネルセルタイプが entry sServerChannelOpener eOpener を持つかどうかをチェック
+    # mikan entry か (call でないか) をチェックしていない
     # scct = Namespace.find ["::", @serverChannelCelltype] # mikan namespace
     nsp = NamespacePath.analyze( @serverChannelCelltype.to_s )
@@ -360,6 +341,5 @@
   end
 
-  #=== GenOpaqueMarshaler# PPAllocator ã®å¿
-è¦æ§ããã§ãã¯ãã
+  #=== GenOpaqueMarshaler# PPAllocator の必要性をチェックする
   def check_PPAllocator
     if @signature.need_PPAllocator?(true) then
@@ -374,6 +354,5 @@
   def gen_marshaler_celltype
     f = CFile.open( @marshaler_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     if @PPAllocatorSize then
@@ -404,9 +383,9 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½ã³ã¼ããçæï¼é ­é¨ã¨æ«å°¾ã¯å¥éåºåï¼
-  #ct_name:: Symbol    (through ãã©ã°ã¤ã³ã§çæããã) ã»ã«ã¿ã¤ãå ï¼Symbol ã¨ãã¦éããã¦ããï¼ãããï¼
+  #===  受け口関数の本体コードを生成（頭部と末尾は別途出力）
+  #ct_name:: Symbol    (through プラグインで生成された) セルタイプ名 ．Symbol として送られてくる（らしい）
   def gen_ep_func_body( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
-    # unmarshaler ã¯ã©ã¹ã?
+    # unmarshaler クラスか?
     if ct_name == @unmarshaler_celltype_name.to_sym then
       gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
@@ -416,5 +395,5 @@
   end
 
-  #===  marshal ã³ã¼ãã®çæ
+  #===  marshal コードの生成
   def gen_ep_func_body_marshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
@@ -422,9 +401,8 @@
     b_ret_er = false
 
-    # é¢æ°ã®æ»ãå¤ã®å
-ã®åãå¾ã(typedef ããã¦ããå ´å)
+    # 関数の戻り値の元の型を得る(typedef されている場合)
     type = func_type.get_type.get_original_type
 
-    # æ»ãå¤è¨æ¶ç¨ã®å¤æ°ãåºåï¼void åã®é¢æ°ã§ã¯åºåããªãï¼
+    # 戻り値記憶用の変数を出力（void 型の関数では出力しない）
     if ! type.is_void? then
       file.print( "\t#{func_type.get_type.get_type_str}\t\tretval_;\n" )
@@ -439,13 +417,13 @@
     file.print( "\tint16_t\tstate_;\n" )
 
-    # é¢æ° ID ï¼æ´æ°å¤ï¼
+    # 関数 ID （整数値）
     func_id = "FUNCID_#{@signature.get_global_name}_#{func_name}".upcase
     fid = @signature.get_id_from_func_name( func_name )
     file.print( "\tint16_t\tfunc_id_ = #{func_id};	/* (id of '#{func_name}') = #{fid}*/\n" )
 
-    # ã·ã³ã°ã«ãã³ã§ãªããï¼
+    # シングルトンでないか？
     if ! b_singleton then
 
-      # singleton ã§ãªããã° p_cellcb åå¾ã³ã¼ããåºå
+      # singleton でなければ p_cellcb 取得コードを出力
       file.print <<EOT
 	#{ct_name}_CB *p_cellcb;
@@ -455,5 +433,5 @@
 EOT
 
-      # ã¨ã©ã¼ãè¿ããï¼
+      # エラーを返すか？
       if b_ret_er then
         file.print <<EOT
@@ -465,5 +443,5 @@
         file.print <<EOT
 	}else{
-		/* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+		/* エラー処理コードをここに記述 */
 	}
 
@@ -481,5 +459,5 @@
     end
 
-    # channel lock ã³ã¼ã
+    # channel lock コード
     file.print <<EOT
 
@@ -490,12 +468,12 @@
 EOT
 
-    # SOP ãéä¿¡
-    file.print "	/* SOPã®éåº */\n"
+    # SOP を送信
+    file.print "	/* SOPの送出 */\n"
     file.print "	SET_RPC_STATE( state_, RPCSTATE_CLIENT_SEND_SOP );\n"
     file.print "	if( ( ercd_ = cTDR_sendSOP( true ) ) != E_OK )\n"
     file.print "		goto error_reset;\n"
 
-    # func_id ãéä¿¡
-    file.print "	/* é¢æ° id ã®éåº */\n"
+    # func_id を送信
+    file.print "	/* 関数 id の送出 */\n"
     file.print "	if( ( ercd_ = cTDR_putInt16( func_id_ ) ) != E_OK )\n"
     file.print "		goto error_reset;\n"
@@ -504,12 +482,10 @@
     # p "#{ct_name}, #{sig_name}, #{func_name}, #{func_global_name}"
 
-    b_get = false    # marshal ãªã put
+    b_get = false    # marshal なら put
     b_marshal = true  # marshal
 
-    # in æ¹åã®å
-¥åºåãåºå
+    # in 方向の入出力を出力
     if func_type.has_inward? then
-      file.print "	/* å
-¥åå¼æ°éåº */\n"
+      file.print "	/* 入力引数送出 */\n"
       file.print "	SET_RPC_STATE( state_, RPCSTATE_CLIENT_SEND_BODY );\n"
       print_params( params, file, 1, b_marshal, b_get, true, "eClientEntry", func_name )
@@ -523,10 +499,10 @@
       b_continue = "false"
     end
-    file.print "	/* EOPã®éåºï¼ãã±ããã®æãã ãï¼ */\n"
+    file.print "	/* EOPの送出（パケットの掃きだし） */\n"
     file.print "	SET_RPC_STATE( state_, RPCSTATE_CLIENT_SEND_EOP );\n"
     file.print "	if( (ercd_=cTDR_sendEOP(#{b_continue})) != E_OK )\n"
     file.print "		goto error_reset;\n\n"
 
-    # send ã®ã¡ã¢ãªããã¢ã­ã±ã¼ã
+    # send のメモリをデアロケート
     if func_type.has_send? then
       file.print "	/* dealloc send parameter while executing */\n"
@@ -539,11 +515,11 @@
     if ! func_type.is_oneway? then
 
-      file.print "	/* ãã±ããã®å§ã¾ãããã§ãã¯ */\n"
+      file.print "	/* パケットの始まりをチェック */\n"
       file.print "	SET_RPC_STATE( state_, RPCSTATE_CLIENT_RECV_SOP );\n"
       file.print "	if( (ercd_=cTDR_receiveSOP( true )) != E_OK )\n"
       file.print "		goto error_reset;\n"
 
-      b_get = true     # marshaler ã¯ get
-      file.print "	/* æ»ãå¤ã®åãåã */\n"
+      b_get = true     # marshaler は get
+      file.print "	/* 戻り値の受け取り */\n"
       print_param( "retval_", func_type.get_type, file, 1, :RETURN, nil, nil, b_marshal, b_get )
 
@@ -557,5 +533,5 @@
         indent = "	" * indent_level
 
-        file.print "#{indent}/* åºåå¤ã®åãåã */\n"
+        file.print "#{indent}/* 出力値の受け取り */\n"
         file.print "#{indent}SET_RPC_STATE( state_, RPCSTATE_CLIENT_RECV_BODY );\n"
         print_params( params, file, indent_level, b_marshal, b_get, true, "eClientEntry", func_name )
@@ -567,5 +543,5 @@
       end
 
-      file.print "\n	/* ãã±ããã®çµããããã§ãã¯ */\n"
+      file.print "\n	/* パケットの終わりをチェック */\n"
       file.print "	SET_RPC_STATE( state_, RPCSTATE_CLIENT_RECV_EOP );\n"
       file.print "	if( (ercd_=cTDR_receiveEOP(false)) != E_OK )\n"  # b_continue = false
@@ -574,5 +550,5 @@
     end # ! func_type.is_oneway?
 
-    # channel lock ã³ã¼ã
+    # channel lock コード
     file.print <<EOT
 	/* Channel Unlock */
@@ -583,6 +559,5 @@
 
     if( b_void == false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "	return retval_;\n" )
     else
@@ -594,5 +569,5 @@
 error_reset:
 EOT
-    # send ã®ã¡ã¢ãªããã¢ã­ã±ã¼ã
+    # send のメモリをデアロケート
     if func_type.has_send? then
       file.print "	/* dealloc send parameter */\n"
@@ -603,5 +578,5 @@
     end
 
-    # receive ã®ã¡ã¢ãªããã¢ã­ã±ã¼ã
+    # receive のメモリをデアロケート
     if func_type.has_receive? then
       file.print( "	/* receive parameter */\n" )
@@ -615,5 +590,5 @@
 EOT
 
-    # channel lock ã³ã¼ã
+    # channel lock コード
     file.print <<EOT
 	/* Channel Unlock */
@@ -626,6 +601,5 @@
 
     if( b_ret_er != false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "	return ERCD( E_RPC, MERCD( ercd_ ) );\n" )
     else
@@ -635,10 +609,10 @@
   end
 
-  #===  unmarshal ã³ã¼ãã®çæ
+  #===  unmarshal コードの生成
   def gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
     b_ret_er = true
 
-    # func_id ãå¾ãã³ã¼ããçæ
+    # func_id を得るコードを生成
     file.print <<EOT
 
@@ -662,5 +636,5 @@
         file.print <<EOT
 	}else{
-		/* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+		/* エラー処理コードをここに記述 */
 	}
 EOT
@@ -673,9 +647,9 @@
 #endif
 
-	/* SOPã®ãã§ãã¯ */
+	/* SOPのチェック */
 	SET_RPC_STATE( state_, RPCSTATE_SERVER_RECV_SOP );
 	if( (ercd_=cTDR_receiveSOP( false )) != E_OK )
 		goto error_reset;
-	/* func_id ã®åå¾ */
+	/* func_id の取得 */
 	if( (ercd_=cTDR_getInt16( &func_id_ )) != E_OK )
 		goto error_reset;
@@ -687,5 +661,5 @@
 EOT
 
-    # signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    # signature に含まれる すべての関数について
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -701,5 +675,5 @@
 
     if @PPAllocatorSize then
-      ppallocator_dealloc_str = "	/* PPAllocator ã®ãã¹ã¦ãè§£æ¾ */\n	cPPAllocator_dealloc_all();"
+      ppallocator_dealloc_str = "	/* PPAllocator のすべてを解放 */\n	cPPAllocator_dealloc_all();"
     else
       ppallocator_dealloc_str = ""
@@ -724,6 +698,6 @@
   end
 
-  #=== PREAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ãçæ
+  #=== PREAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、アンマーシャラ関数のプロトタイプ宣言を生成
   def gen_preamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -731,10 +705,10 @@
     end
 
-    # string.h ã® include (memset, strlen ã®ãã)
+    # string.h の include (memset, strlen のため)
     file.print "/* header file (strlen, memset) */\n"
     file.print "#include\t<string.h>\n\n"
 
-    file.print "/* ã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ */\n"
-    # signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    file.print "/* アンマーシャラ関数のプロトタイプ宣言 */\n"
+    # signature に含まれる すべての関数について
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -746,7 +720,6 @@
   end
 
-  #=== POSTAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãåã
-ã®ã¢ã³ãã¼ã·ã£ã©é¢æ°ã®çæ
+  #=== POSTAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、個々のアンマーシャラ関数の生成
   def gen_postamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -754,5 +727,5 @@
     end
 
-    file.print "\n/*** ã¢ã³ãã¼ã·ã£ã©é¢æ° ***/\n\n"
+    file.print "\n/*** アンマーシャラ関数 ***/\n\n"
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -760,5 +733,5 @@
       id = @signature.get_id_from_func_name( f_name )
 
-      # é¢æ°ã¯è¿ãå¤ãæã¤ã?
+      # 関数は返り値を持つか?
       b_ret_er = false
       init_retval = ""
@@ -784,5 +757,5 @@
       file.print "	ER      ercd_;\n"
 
-      # å¼æ°ãååãå¤æ°ã®å®ç¾©
+      # 引数を受取る変数の定義
       params = f.get_declarator.get_type.get_paramlist.get_items
            # FuncHead->  Decl->    FuncType->ParamList
@@ -793,5 +766,5 @@
         dir = par.get_direction
         if( dir == :RECEIVE )then
-          # type ã¯ PtrType ã§ããããåãé¤ããå
+          # type は PtrType で、それを取り除いた型
           type = type.get_type
         end
@@ -811,5 +784,5 @@
         end
 
-        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" ãå¤ã
+        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" を外す
         file.printf( "	%-12s %s%s%s%s%s;\n", type_str, aster, name, aster2, type.get_type_str_post, init )
 
@@ -823,11 +796,8 @@
       end
 
-      # in æ¹åã®å
-¥åºåãå
-¥å
-      file.print "\n	/* å
-¥åå¼æ°åå */\n"
+      # in 方向の入出力を入力
+      file.print "\n	/* 入力引数受取 */\n"
       file.print "	SET_RPC_STATE( *state_, RPCSTATE_SERVER_RECV_BODY );\n"
-      b_get = true    # unmarshal ã§ã¯ get
+      b_get = true    # unmarshal では get
       b_marshal  = false
       print_params( params, file, 1, b_marshal, b_get, true, "cServerCall", f_name )
@@ -836,6 +806,6 @@
 
 
-      # ãã±ããã®åä¿¡å®äº
-      file.print "	/* ãã±ããçµããããã§ãã¯ */\n"
+      # パケットの受信完了
+      file.print "	/* パケット終わりをチェック */\n"
       file.print "	SET_RPC_STATE( *state_, RPCSTATE_SERVER_RECV_EOP );\n"
       if ! f_type.is_oneway? then
@@ -847,10 +817,10 @@
       file.print "		goto error_reset;\n\n"
 
-      # out ã®ã¡ã¢ãªãã¢ã­ã±ã¼ã
+      # out のメモリをアロケート
       dir = :OUT; alloc_cp = "cPPAllocator_alloc"; alloc_cp_extra = nil; nest = 1
       alloc_for_out_params( params, file, nest, dir, alloc_cp, alloc_cp_extra )
 
-      # å¯¾è±¡é¢æ°ãå¼åºã
-      file.print "	/* å¯¾è±¡é¢æ°ã®å¼åºã */\n"
+      # 対象関数を呼出す
+      file.print "	/* 対象関数の呼出し */\n"
       file.print "	SET_RPC_STATE( *state_, RPCSTATE_SERVER_EXEC );\n"
       if b_void then
@@ -871,11 +841,10 @@
       file.print( " );\n" )
 
-      # æ»ãå¤ãåºåå¼æ°ã®ååã³ã¼ãã®çæ
-
-      # oneway ã®å ´ååºåãæ»ãå¤ãç¡ããååãå¾
-ããªãï¼éåæãªå¼åºãï¼
+      # 戻り値、出力引数の受取コードの生成
+
+      # oneway の場合出力、戻り値が無く、受取を待たない（非同期な呼出し）
       if ! f.is_oneway? then
 
-        file.print "\n	/* SOPã®éåº */\n"
+        file.print "\n	/* SOPの送出 */\n"
         file.print "	SET_RPC_STATE( *state_, RPCSTATE_SERVER_SEND_SOP );\n"
 
@@ -883,7 +852,7 @@
         file.print "		goto error_reset;\n"
 
-        b_get = false     # unmarshaler ã¯ put
+        b_get = false     # unmarshaler は put
         if( ! b_void )then
-          file.print "	/* æ»ãå¤ã®éåº */\n"
+          file.print "	/* 戻り値の送出 */\n"
           print_param( "retval_", f_type.get_type, file, 1, :RETURN, nil, nil, b_marshal, b_get )
         end
@@ -898,10 +867,10 @@
           indent = "	" * indent_level
 
-          file.print "#{indent}/* åºåå¤ã®éåº */\n"
+          file.print "#{indent}/* 出力値の送出 */\n"
           file.print "#{indent}SET_RPC_STATE( *state_, RPCSTATE_SERVER_SEND_BODY );\n"
           print_params( params, file, indent_level, b_marshal, b_get, true, "cServerCall", f_name )
           print_params( params, file, indent_level, b_marshal, b_get, false, "cServerCall", f_name )
 
-          # receive ã®ã¡ã¢ãªããã¢ã­ã±ã¼ã
+          # receive のメモリをデアロケート
           if f_type.has_receive? then
             file.print "#{indent}/* dealloc receive parameter */\n"
@@ -915,5 +884,5 @@
         end
 
-        file.print "	/* ãã±ããã®çµããï¼æãã ãï¼ */\n"
+        file.print "	/* パケットの終わり（掃きだし） */\n"
         file.print "	SET_RPC_STATE( *state_, RPCSTATE_SERVER_SEND_EOP );\n"
         file.print "	if( (ercd_=cTDR_sendEOP(false)) != E_OK )\n"  # b_continue = false
@@ -926,5 +895,5 @@
 error_reset:
 EOT
-      # send ã®ãªã»ããç¨ãã¢ã­ã±ã¼ã
+      # send のリセット用デアロケート
       if f_type.has_send? then
         file.print "	/* dealloc send parameter */\n"
@@ -935,5 +904,5 @@
       end
 
-      # receive ã®ã¡ã¢ãªããã¢ã­ã±ã¼ã
+      # receive のメモリをデアロケート
       if f_type.has_receive? && b_ret_er then
         file.print "	/* dealloc receive parameter */\n"
@@ -947,7 +916,5 @@
       file.print "}\n\n"
 
-      # ããï¼åã
-ã®é¢æ°ï¼ã§ã¯ã¨ã©ã¼ãã³ãã©ã¼ã¯å¼ã³åºããªããå¼ã³å
-ï¼ãµã¼ãã¼ã®ã¡ã¤ã³é¢æ°ï¼ã§å¼ã³åºãã
+      # ここ（個々の関数）ではエラーハンドラーは呼び出さない。呼び元（サーバーのメイン関数）で呼び出す。
     }
   end
@@ -956,12 +923,9 @@
   #b_marshal:: bool
   #b_get:: bool
-  #  b_marshal = true  && b_get == false   :  ãã¼ã·ã£ã©ã§å
-¥åå¼æ°éåº
-  #  b_marshal = true  && b_get == true    :  ãã¼ã·ã£ã©ã§åºåå¼æ°åå
-  #  b_marshal = false && b_get == false   :  ã¢ã³ãã¼ã·ã£ã©ã§å
-¥åå¼æ°åå
-  #  b_marshal = false && b_get == true    :  ã¢ã³ãã¼ã·ã£ã©ã§åºåå¼æ°éåº
-  #b_referenced:: size_is, count_is, string ã§åç
-§ããã¦ãããã®ãåºå
+  #  b_marshal = true  && b_get == false   :  マーシャラで入力引数送出
+  #  b_marshal = true  && b_get == true    :  マーシャラで出力引数受取
+  #  b_marshal = false && b_get == false   :  アンマーシャラで入力引数受取
+  #  b_marshal = false && b_get == true    :  アンマーシャラで出力引数送出
+  #b_referenced:: size_is, count_is, string で参照されているものを出力
   def print_params( params, file, nest, b_marshal, b_get, b_referenced, port_name, func_name )
     params.each{ |param|
@@ -986,5 +950,5 @@
         case dir
         when :OUT, :INOUT
-          alloc_cp = nil        # inout ã® b_get==true&&b_marsha==true ã®ã¨ãã¢ã­ã±ã¼ã¿ã³ã¼ãã¯ä¸ç¨
+          alloc_cp = nil        # inout の b_get==true&&b_marsha==true のときアロケータコードは不用
           alloc_cp_extra = nil
           print_param( param.get_name, param.get_type, file, nest, dir, nil, nil, b_marshal, b_get, alloc_cp, alloc_cp_extra )
@@ -993,8 +957,8 @@
           alloc_cp_extra = nil
           if b_get then
-            outer = "(*"         # ãã¼ã·ã£ã©å´ã§ã¯ããã¤ã³ã¿ã (send ã¨æ¯ã¹) ä¸ã¤å¤ã
+            outer = "(*"         # マーシャラ側では、ポインタが (send と比べ) 一つ多い
             outer2 = ")"
           else
-            outer = nil          # ã¢ã³ãã¼ã·ã£ã©å´ã§ã¯ããã¤ã³ã¿ãä¸ã¤å¤ããã¦ãã
+            outer = nil          # アンマーシャラ側では、ポインタが一つ外されている
             outer2 = nil
           end
@@ -1006,5 +970,5 @@
   end
 
-  #=== ã¢ã­ã±ã¼ã¿ã³ã¼ããçæ (out ã®ã¢ã³ãã¼ã·ã£ã©ç¨)
+  #=== アロケータコードを生成 (out のアンマーシャラ用)
   def alloc_for_out_params( params, file, nest, dir, alloc_cp, alloc_cp_extra )
     params.each{ |param|
@@ -1016,5 +980,5 @@
   end
 
-  #=== ã¢ã­ã±ã¼ã¿ã³ã¼ããçæ (out ã®ã¢ã³ãã¼ã·ã£ã©ç¨åå¥ãã©ã¡ã¼ã¿ã®çæ)
+  #=== アロケータコードを生成 (out のアンマーシャラ用個別パラメータの生成)
   def alloc_for_out_param( name, type, file, nest, outer, outer2, alloc_cp, alloc_cp_extra )
     org_type = type.get_original_type
@@ -1029,5 +993,5 @@
       count = type.get_count; size = type.get_size; string = type.get_string
       if count || size || string then
-        loop_counter_type = IntType.new(16)   # mikan æ¹ã size_is, count_is ã®å¼æ°ã®åã¨ãã
+        loop_counter_type = IntType.new(16)   # mikan 方を size_is, count_is の引数の型とする
         if count then
           len = type.get_count.to_s
@@ -1042,6 +1006,5 @@
         end
 
-        # size_is ã« max æå®ãããå ´åãlength ã max ãè¶
-ãã¦ããããã§ãã¯ããã³ã¼ããçæ
+        # size_is に max 指定がある場合、length が max を超えているかチェックするコードを生成
         if org_type.get_max != nil && string == nil then
           file.print "#{indent}if( #{len} > #{type.get_max} ){\t/* GenOpaqueMarshaler max check 2 */\n"
@@ -1082,6 +1045,6 @@
   end
 
-  #=== å¼æ°ã®ä¸æ¬ãã¢ã­ã±ã¼ãã³ã¼ãã®çæ
-  # sendï¼ãã¼ã·ã£ã©ã®æå¾ãreceiveï¼ã¢ã³ãã¼ã·ã£ã©ã®æå¾ã§ä¸æ¬ãã¦å¼æ°ããã¢ã­ã±ã¼ããã
+  #=== 引数の一括デアロケートコードの生成
+  # send：マーシャラの最後、receive：アンマーシャラの最後で一括して引数をデアロケートする
   def dealloc_for_params( params, file, nest, dir, dealloc_cp, b_reset = false )
     if b_reset then
@@ -1097,5 +1060,5 @@
         aster = ""
         if dir == :RECEIVE then
-          type = type.get_type.get_original_type   # ãã¤ã³ã¿ãä¸ã¤å¤ã
+          type = type.get_type.get_original_type   # ポインタを一つ外す
           if b_reset then
             aster = "*"
@@ -1118,7 +1081,6 @@
   end
 
-  #== out ã§ nullable ãªå¼æ°ã®æ
-å ±ãæ¸¡ã
-  # out nullable ã®å ´åãin, send, receive ã®ããã«ãå¤ãæ¸¡ãç´åã§ã¯ãªããå¼åºãæã«æ¸¡ã
+  #== out で nullable な引数の情報を渡す
+  # out nullable の場合、in, send, receive のように、値を渡す直前ではなく、呼出し時に渡す
   def  print_out_nullable( params, file, nest, b_marshal );
     indent = "\t" * nest
@@ -1130,6 +1092,5 @@
         file.print "#{indent}\tgoto error_reset;\n"
       else
-        # å¼ã³å
-ã¯ alloc_for_out_param ã§ nullable ã®å¯¾å¿ãã
+        # 呼び先は alloc_for_out_param で nullable の対応する
         file.print "#{indent}if( (ercd_=cTDR_getInt8( &b_#{param.get_name}_null_)) != E_OK )\n"
         file.print "#{indent}\tgoto error_reset;\n"
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenParamCopy.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenParamCopy.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenParamCopy.rb	(revision 321)
@@ -6,60 +6,45 @@
 #   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: GenParamCopy.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
 #= ParamCopy
 #
-# ãã©ã¡ã¼ã¿ã³ãã¼ãããã¼ã·ã£ã©ï¼ã¢ã³ãã¼ã·ã£ã©ã³ã¼ããçæããã¡ã½ãã print_param ãæä¾ããï¼
-# RPCPlugin, OpaqueRPCPlugin ã« include ãããï¼
-# RPCPlugin (ãã©ã³ã¹ãã¢ã¬ã³ã) ã§ã¯ãoneway é¢æ°ã§ in ã®ãã¤ã³ã¿å¼æ°ã®å ´åã«éã£ã¦ print_param ãç¨ããããï¼
+# パラメータコピーするマーシャラ／アンマーシャラコードを生成するメソッド print_param を提供する．
+# RPCPlugin, OpaqueRPCPlugin に include される．
+# RPCPlugin (トランスペアレント) では、oneway 関数で in のポインタ引数の場合に限って print_param が用いられる．
 #
 module  GenParamCopy
 
-  #=== å¼æ°ã®è»¢éã³ã¼ããçæ
+  #=== 引数の転送コードを生成
 
   def print_param( name, type, file, nest, dir, outer, outer2, b_marshal, b_get, alloc_cp = nil, alloc_cp_extra = nil, name_list = nil )
@@ -76,5 +61,5 @@
 EOT
         if ( dir == :SEND || dir == :RECEIVE ) && type.get_type.has_pointer? then
-          # send, receive ã®å ´åã¯ãã¨ã©ã¼ãªã»ããã«åã NULL ã«ãã
+          # send, receive の場合は、エラーリセットに備え NULL にする
           file.print <<EOT
 #{indent}memset( (void *)#{outer}#{name}#{outer2}#{alloc_cp_extra}, 0, sizeof(#{type.get_type.get_type_str}#{type.get_type.get_type_str_post})*(#{size_str});   /* GenParamCopy Alloc1 */
@@ -103,5 +88,5 @@
         when :SIGNED
           if bit_size == -1 || bit_size == -11 then
-            sign = "S"   # signed char ã®å ´åã®ã¿ S ãã¤ã
+            sign = "S"   # signed char の場合のみ S がつく
           else
             sign = ""
@@ -156,5 +141,5 @@
         nest = print_nullable_pre( name, type, file, nest, dir, outer, outer2, b_marshal, b_get )
         indent = "\t" * nest
-        loop_counter_type = IntType.new(32)   # mikan åã size_is, count_is ã®å¼æ°ã®åã¨ãã
+        loop_counter_type = IntType.new(32)   # mikan 型を size_is, count_is の引数の型とする
         file.print "#{indent}{\t/* GenParamCopy 4 */\n"
         file.print "#{indent}	#{loop_counter_type.get_type_str}  i__#{nest}, length__#{nest};\n"
@@ -168,13 +153,11 @@
             count_str = count.to_str( name_list, outer, outer2 )
           else
-            # size_is ã¯å¿
-é . count_is ã¯ãªãã·ã§ã³
+            # size_is は必須. count_is はオプション
             count_str = size_str
           end
           file.print "#{indent}	length__#{nest} = #{count_str};\t/* GenParamCopy 5 */\n"
 
-          # size_is ã« max æå®ãããå ´åãlength ã max ãè¶
-ãã¦ããããã§ãã¯ããã³ã¼ããçæ
-              # alloc_cp == nil ã®ã¨ã dir ã¯ INOUT, OUT ã®ã¯ã (æ¡ä»¶ãåé·)ãè©¦é¨ãçµãã£ã¦ããã®ã§ãæ¬¡åè¦ç´ãæã«å¤ã
+          # size_is に max 指定がある場合、length が max を超えているかチェックするコードを生成
+              # alloc_cp == nil のとき dir は INOUT, OUT のはず (条件が冗長)。試験が終わっているので、次回見直し時に外す
           if b_get && type.get_max != nil && ! ( ( dir == :INOUT || dir == :OUT ) && alloc_cp == nil ) then
             file.print "#{indent}	if( length__#{nest} > #{type.get_max.to_s} ){\t/* GenParamCopy max check 1 */\n"
@@ -202,15 +185,15 @@
               file.print "#{indent}	length__#{nest} = STRLEN#{b_size}(#{outer}#{name}#{outer2})+1;\t/* GenParamCopy 7 */\n"
             end
-            size_str = "length__#{nest}"     # string ã®å ´åãstrnlen ä»¥ä¸ã®é åãç¢ºä¿ããªã
+            size_str = "length__#{nest}"     # string の場合、strnlen 以上の領域を確保しない
           else
             if ( dir == :INOUT ) then
               if ( string.instance_of? Expression ) then
                 len = string.to_str( name_list, outer, outer2 )
-                size_str = "#{len}"              # string(len) ã®å ´å len ãç¢ºä¿ãã
+                size_str = "#{len}"              # string(len) の場合 len を確保する
               else
                 raise "unsuscripted string used for inout parameter #{name}"
               end
             else
-              size_str = "length__#{nest}"     # string ã®å ´åãstrnlen ä»¥ä¸ã®é åãç¢ºä¿ããªã
+              size_str = "length__#{nest}"     # string の場合、strnlen 以上の領域を確保しない
             end
           end
@@ -224,5 +207,5 @@
 EOT
           if ( dir == :SEND || dir == :RECEIVE ) && type.get_type.has_pointer? then
-            # send, receive ã®å ´åã¯ãã¨ã©ã¼ãªã»ããã«åã NULL ã«ãã
+            # send, receive の場合は、エラーリセットに備え NULL にする
             file.print <<EOT
 #{indent}	memset( (void *)#{outer}#{name}#{outer2}#{alloc_cp_extra}, 0, sizeof(#{type.get_type.get_type_str}#{type.get_type.get_type_str_post})*(#{size_str}) );   /* GenParamCopy Alloc2 */
@@ -251,5 +234,5 @@
 EOT
           if ( dir == :SEND || dir == :RECEIVE ) && type.get_type.has_pointer? then
-            # send, receive ã®å ´åã¯ãã¨ã©ã¼ãªã»ããã«åã NULL ã«ãã
+            # send, receive の場合は、エラーリセットに備え NULL にする
             file.print <<EOT
 #{indent}memset( (void *)#{outer}#{name}#{outer2}#{alloc_cp_extra}, 0, sizeof(#{type.get_type.get_type_str}#{type.get_type.get_type_str_post}) );   /* GenParamCopy Alloc3 */
@@ -286,5 +269,5 @@
         size_str = subsc.to_str( name_list, outer, outer2 )
 
-        loop_counter_type = IntType.new(32)   # mikan åã size_is, count_is ã®å¼æ°ã®åã¨ãã
+        loop_counter_type = IntType.new(32)   # mikan 型を size_is, count_is の引数の型とする
         file.print "#{indent}{\t/* GenParamCopy 11 */\n"
         file.print "#{indent}	#{loop_counter_type.get_type_str}  i__#{nest}, length__#{nest} = #{size_str};\n"
@@ -302,6 +285,5 @@
     if type.is_nullable? then
       indent = "	" * nest
-      if dir == :OUT then  # OUT ã®å ´å print_out_nullable ã§ NULL ãã©ããã®æ
-å ±ãæ¸¡ã
+      if dir == :OUT then  # OUT の場合 print_out_nullable で NULL かどうかの情報を渡す
         # 'null or not' is sent in the function 'print_out_nullable'
         if b_get then
@@ -321,6 +303,5 @@
 #{indent}	if( ! b_null_ ){
 EOT
-          else # dir = :INOUT, b_marshal = true, b_get = true ã®å ´åãNULL ãã©ããã®æ
-å ±ãæ¸¡ããªã
+          else # dir = :INOUT, b_marshal = true, b_get = true の場合、NULL かどうかの情報を渡さない
             file.print <<EOT
 #{indent}	int8_t  b_null_ = (#{outer}#{name}#{outer2} == NULL);\t/* GenParamCopy Null 21 */
@@ -335,5 +316,5 @@
 
           if ! ( dir == :INOUT && b_marshal == false ) then
-            # dir = :INOUT, b_marshal = false, b_get = false ã®å ´å
+            # dir = :INOUT, b_marshal = false, b_get = false の場合
             file.print <<EOT
 #{indent}	if((ercd_=cTDR_putInt8( b_null_ )) != E_OK )\t/* GenParamCopy Null 32 */
@@ -355,6 +336,5 @@
   def print_nullable_post( name, type, file, nest, dir, outer, outer2, b_marshal, b_get )
     if type.is_nullable? then
-      if dir == :OUT then  # OUT ã®å ´å print_out_nullable ã§ NULL ãã©ããã®æ
-å ±ãæ¸¡ã
+      if dir == :OUT then  # OUT の場合 print_out_nullable で NULL かどうかの情報を渡す
         nest -= 1
         indent = "	" * nest
@@ -371,5 +351,5 @@
 #{indent}	}  /* ! b_null_ */
 EOT
-          else # dir = :INOUT, b_marshal = true   # inout ã® out æ¹å
+          else # dir = :INOUT, b_marshal = true   # inout の out 方向
             file.print "#{indent}	}  /* ! b_null_  GenParamCopy Null 52 */\n"
           end
Index: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenTransparentMarshaler.rb
===================================================================
--- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenTransparentMarshaler.rb	(revision 270)
+++ EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/GenTransparentMarshaler.rb	(revision 321)
@@ -6,52 +6,37 @@
 #   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: GenTransparentMarshaler.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
+#   $Id$
 #++
 
-#ãã©ã°ã¤ã³ãªãã·ã§ã³ç¨å¤æ°
+#プラグインオプション用変数
 #@task_priority:: Integer
 #@channelCelltype:: String
@@ -60,5 +45,5 @@
 module GenTransparentMarshaler
 
-  # ãã©ã°ã¤ã³å¼æ°åã¨ Proc
+  # プラグイン引数名と Proc
   RPCPluginArgProc = {
     "taskPriority"    => Proc.new { |obj,rhs| obj.set_taskPriority rhs },
@@ -69,10 +54,10 @@
   }
 
-  #=== ãã©ã°ã¤ã³å¼æ° taskPriority ã®ãã§ãã¯
+  #=== プラグイン引数 taskPriority のチェック
   def set_taskPriority( rhs )
     @task_priority = rhs
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° channelCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 channelCelltype のチェック
   def set_channelCelltype( rhs )
     @channelCelltype = rhs.to_sym
@@ -86,5 +71,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° TDRCelltype ã®ãã§ãã¯
+  #=== プラグイン引数 TDRCelltype のチェック
   def set_TDRCelltype( rhs )
     @TDRCelltype = rhs.to_sym
@@ -98,5 +83,5 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° channelCellName ã®ãã§ãã¯
+  #=== プラグイン引数 channelCellName のチェック
   def set_channelCellName( rhs )
     @channelCellName = rhs
@@ -108,10 +93,10 @@
   end
 
-  #=== ãã©ã°ã¤ã³å¼æ° PPAllocatorSize ã®ãã§ãã¯
+  #=== プラグイン引数 PPAllocatorSize のチェック
   def set_PPAllocatorSize( rhs )
     @PPAllocatorSize = rhs
   end
 
-  #=== marshaler ã®ã»ã«ã¿ã¤ãåãè¨­å®ãã
+  #=== marshaler のセルタイプ名を設定する
   def initialize_transparent_marshaler cell_name
     @task_priority = 8
@@ -135,6 +120,5 @@
 
     f = CFile.open( @marshaler_celltype_file_name, "w" )
-    # åãå
-å®¹ãäºåº¦æ¸ãå¯è½æ§ãã (AppFile ã¯ä¸å¯)
+    # 同じ内容を二度書く可能性あり (AppFile は不可)
 
     f.print <<EOT
@@ -157,9 +141,9 @@
   end
 
-  #===  åãå£é¢æ°ã®æ¬ä½ã³ã¼ããçæï¼é ­é¨ã¨æ«å°¾ã¯å¥éåºåï¼
-  #ct_name:: Symbol    (through ãã©ã°ã¤ã³ã§çæããã) ã»ã«ã¿ã¤ãå ï¼Symbol ã¨ãã¦éããã¦ããï¼ãããï¼
+  #===  受け口関数の本体コードを生成（頭部と末尾は別途出力）
+  #ct_name:: Symbol    (through プラグインで生成された) セルタイプ名 ．Symbol として送られてくる（らしい）
   def gen_ep_func_body( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
-    # unmarshaler ã¯ã©ã¹ã?
+    # unmarshaler クラスか?
     if ct_name == @unmarshaler_celltype_name.to_sym then
       gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
@@ -169,5 +153,5 @@
   end
 
-  #===  marshal ã³ã¼ãã®çæ
+  #===  marshal コードの生成
   def gen_ep_func_body_marshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
@@ -175,9 +159,8 @@
     b_ret_er = false
 
-    # é¢æ°ã®æ»ãå¤ã®å
-ã®åãå¾ã(typedef ããã¦ããå ´å)
+    # 関数の戻り値の元の型を得る(typedef されている場合)
     type = func_type.get_type.get_original_type
 
-    # æ»ãå¤è¨æ¶ç¨ã®å¤æ°ãåºåï¼void åã®é¢æ°ã§ã¯åºåããªãï¼
+    # 戻り値記憶用の変数を出力（void 型の関数では出力しない）
     if ! type.is_void? then
       if func_type.get_type.kind_of?( DefinedType ) && ( func_type.get_type.get_type_str == "ER" || func_type.get_type.get_type_str == "ER_INT" ) then
@@ -194,16 +177,15 @@
     file.print( "    FLGPTN  flgptn;\n" )
 
-    # å¼ã³å
-ã® signature ãåãåºã
+    # 呼び先の signature を取り出す
     signature = @signature
 
-    # é¢æ° ID ï¼æ´æ°å¤ï¼
+    # 関数 ID （整数値）
     func_id = signature.get_id_from_func_name( func_name )
     file.print( "    int16_t  func_id_ = #{func_id};    /* id of #{func_name}: #{func_id} */\n" )
 
-    # ã·ã³ã°ã«ãã³ã§ãªããï¼
+    # シングルトンでないか？
     if ! b_singleton then
 
-      # singleton ã§ãªããã° p_cellcb åå¾ã³ã¼ããåºå
+      # singleton でなければ p_cellcb 取得コードを出力
       file.print <<EOT
     #{ct_name}_CB *p_cellcb;
@@ -213,5 +195,5 @@
 EOT
 
-      # ã¨ã©ã¼ãè¿ããï¼
+      # エラーを返すか？
       if b_ret_er then
         file.print <<EOT
@@ -223,11 +205,11 @@
         file.print <<EOT
     }else{
-        /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
-    }
-EOT
-      end
-    end
-
-    # channel lock ã³ã¼ã
+        /* エラー処理コードをここに記述 */
+    }
+EOT
+      end
+    end
+
+    # channel lock コード
     file.print <<EOT
     /* Channel Lock */
@@ -237,11 +219,11 @@
 EOT
 
-    # SOP ãéä¿¡
-    file.print "    /* SOPã®éåº */\n"
+    # SOP を送信
+    file.print "    /* SOPの送出 */\n"
     file.print "    if( ( ercd_ = cTDR_sendSOP( true ) ) != E_OK )\n"
     file.print "      goto error_reset;\n"
 
-    # func_id ãéä¿¡
-    file.print "    /* é¢æ° id ã®éåº */\n"
+    # func_id を送信
+    file.print "    /* 関数 id の送出 */\n"
     file.print "    if( ( ercd_ = cTDR_putInt16( func_id_ ) ) != E_OK )\n"
     file.print "        goto error_reset;\n"
@@ -250,11 +232,9 @@
     # p "#{ct_name}, #{sig_name}, #{func_name}, #{func_global_name}"
 
-    b_get = false    # marshal ãªã put
+    b_get = false    # marshal なら put
     b_marshal = true  # marshal
 
-    # in æ¹åã®å
-¥åºåãåºå
-    file.print "    /* å
-¥åå¼æ°éåº */\n"
+    # in 方向の入出力を出力
+    file.print "    /* 入力引数送出 */\n"
     print_params( params, file, 1, b_marshal, b_get, true, func_type.is_oneway? )
     print_params( params, file, 1, b_marshal, b_get, false, func_type.is_oneway? )
@@ -264,5 +244,5 @@
     end
 
-    file.print "    /* EOPã®éåºï¼ãã±ããã®æãã ãï¼ */\n"
+    file.print "    /* EOPの送出（パケットの掃きだし） */\n"
     if ! func_type.is_oneway? then
       b_continue = "true"
@@ -293,6 +273,5 @@
 
     if( b_void == false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "    return retval_;\n" )
     else
@@ -307,5 +286,5 @@
 EOT
 
-    # channel lock ã³ã¼ã
+    # channel lock コード
     file.print <<EOT
     /* Channel Lock */
@@ -316,6 +295,5 @@
 
     if( b_ret_er != false )then
-      # å¼ã³å
-ã«æ»ãå¤ããªã¿ã¼ã³
+      # 呼び元に戻り値をリターン
       file.print( "    return ercd_;\n" )
     else
@@ -325,5 +303,5 @@
   end
 
-  #===  unmarshal ã³ã¼ãã®çæ
+  #===  unmarshal コードの生成
   def gen_ep_func_body_unmarshal( file, b_singleton, ct_name, global_ct_name, sig_name, ep_name, func_name, func_global_name, func_type, params )
 
@@ -331,5 +309,5 @@
     b_ret_er = false
 
-    # func_id ãå¾ãã³ã¼ããçæ
+    # func_id を得るコードを生成
     file.print <<EOT
 
@@ -352,5 +330,5 @@
         file.print <<EOT
     }else{
-        /* ã¨ã©ã¼å¦çã³ã¼ããããã«è¨è¿° */
+        /* エラー処理コードをここに記述 */
     }
 EOT
@@ -359,8 +337,8 @@
     file.print <<EOT
 
-    /* SOPã®ãã§ãã¯ */
+    /* SOPのチェック */
     if( (ercd_=cTDR_receiveSOP( false )) != E_OK )
         goto error_reset;
-    /* func_id ã®åå¾ */
+    /* func_id の取得 */
     if( (ercd_=cTDR_getInt16( &func_id_ )) != E_OK )
         goto error_reset;
@@ -372,11 +350,10 @@
 EOT
 
-    # å¼ã³å
-ã® signature ãåãåºã
+    # 呼び先の signature を取り出す
     # port = @celltype.find( @next_cell_port_name )
     # signature = port.get_signature
     signature = @signature
 
-    # through ã® signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    # through の signature に含まれる すべての関数について
     signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -384,5 +361,5 @@
       id = signature.get_id_from_func_name( f_name )
 
-      # é¢æ°ã¯è¿ãå¤ãæã¤ã?
+      # 関数は返り値を持つか?
       if f_type.get_type.is_void? then
         b_void = true
@@ -391,5 +368,5 @@
       end
 
-      # ãã±ããã®çµããããã§ãã¯ï¼æªåãåãã®ãã¼ã¿ãæ®ã£ã¦ããªãããã§ãã¯ï¼
+      # パケットの終わりをチェック（未受け取りのデータが残っていないかチェック）
       file.print "    case #{id}:       /*** #{f_name} ***/ \n"
       file.print "        if( tTransparentUnmarshaler_#{@signature.get_global_name}_#{f_name}() != E_OK )\n"
@@ -400,5 +377,5 @@
 
     if @PPAllocatorSize then
-      ppallocator_dealloc_str = "    /* PPAllocator ã®ãã¹ã¦ãè§£æ¾ */\n    cPPAllocator_dealloc_all();"
+      ppallocator_dealloc_str = "    /* PPAllocator のすべてを解放 */\n    cPPAllocator_dealloc_all();"
     else
       ppallocator_dealloc_str = ""
@@ -422,10 +399,8 @@
 
   # IN b_marshal, b_get
-  #  b_marshal = true  && b_get == false   :  ãã¼ã·ã£ã©ã§å
-¥åå¼æ°éåº
-  #  b_marshal = true  && b_get == true    :  ãã¼ã·ã£ã©ã§åºåå¼æ°åå
-  #  b_marshal = false && b_get == true    :  ã¢ã³ãã¼ã·ã£ã©ã§å
-¥åå¼æ°åå
-  #  b_marshal = false && b_get == get     :  ã¢ã³ãã¼ã·ã£ã©ã§åºåå¼æ°éåº
+  #  b_marshal = true  && b_get == false   :  マーシャラで入力引数送出
+  #  b_marshal = true  && b_get == true    :  マーシャラで出力引数受取
+  #  b_marshal = false && b_get == true    :  アンマーシャラで入力引数受取
+  #  b_marshal = false && b_get == get     :  アンマーシャラで出力引数送出
   def print_params( params, file, nest, b_marshal, b_get, b_referenced, b_oneway = false )
     params.each{ |param|
@@ -438,5 +413,5 @@
       type = param.get_type
       if b_oneway && dir == :IN && type.get_original_type.kind_of?( PtrType ) || type.get_original_type.kind_of?( ArrayType ) then
-        # oneway, in, PtrType ã®å ´åã³ãã¼
+        # oneway, in, PtrType の場合コピー
         alloc_cp = "cPPAllocator_alloc"
         alloc_cp_extra = nil
@@ -460,5 +435,5 @@
   end
 
-  #=== ã³ãã¼ããªãå¼æ°æ¸¡ãã³ã¼ãã®åºå
+  #=== コピーしない引数渡しコードの出力
   def print_param_nc( name, type, file, nest, b_marshal, outer, outer2, b_get )
     indent = "    " * ( nest + 1 )
@@ -480,5 +455,5 @@
         when :SIGNED
           if bit_size == -1 || bit_size == -11 then
-            # signed char ã®å ´åãsigned ãæå®ãã
+            # signed char の場合、signed を指定する
             signC = "S"
             sign  = "s"
@@ -573,6 +548,6 @@
 
 
-  #=== PREAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ãçæ
+  #=== PREAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、アンマーシャラ関数のプロトタイプ宣言を生成
   def gen_preamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -580,6 +555,6 @@
     end
 
-    file.print "/* ã¢ã³ãã¼ã·ã£ã©é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨ */\n"
-    # signature ã«å«ã¾ãã ãã¹ã¦ã®é¢æ°ã«ã¤ãã¦
+    file.print "/* アンマーシャラ関数のプロトタイプ宣言 */\n"
+    # signature に含まれる すべての関数について
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -591,6 +566,6 @@
   end
 
-  #=== POSTAMBLE é¨ã®ã³ã¼ãçæ
-  # ã¢ã³ãã¼ã·ã£ã©ã»ã«ã¿ã¤ãã®å ´åãã¢ã³ãã¼ã·ã£ã©é¢æ°ã®çæ
+  #=== POSTAMBLE 部のコード生成
+  # アンマーシャラセルタイプの場合、アンマーシャラ関数の生成
   def gen_postamble file, b_singleton, ct_name, global_name
     if ct_name != @unmarshaler_celltype_name.to_sym then
@@ -598,5 +573,5 @@
     end
 
-    file.print "\n/*** ã¢ã³ãã¼ã·ã£ã©é¢æ° ***/\n\n"
+    file.print "\n/*** アンマーシャラ関数 ***/\n\n"
     @signature.get_function_head_array.each { |f|
       f_name = f.get_name
@@ -604,5 +579,5 @@
       id = @signature.get_id_from_func_name( f_name )
 
-      # é¢æ°ã¯è¿ãå¤ãæã¤ã?
+      # 関数は返り値を持つか?
       if f_type.get_type.is_void? then
         b_void = true
@@ -623,5 +598,5 @@
       file.print "	CELLCB  *p_cellcb;\n"
 
-      # å¼æ°ãååãå¤æ°ã®å®ç¾©
+      # 引数を受取る変数の定義
       param_list = f.get_declarator.get_type.get_paramlist.get_items
            # FuncHead->  Decl->    FuncType->ParamList
@@ -638,13 +613,13 @@
         end
 
-        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" ãå¤ã
+        type_str = type.get_type_str.gsub( /\bconst\b */, "" ) # "const" を外す
 
         file.printf( "    %-12s %s%s%s%s;\n", type_str, aster, name, aster2, type.get_type_str_post )
       }
 
-      # æ»ãå¤ãåãåãå¤æ°ã®å®ç¾©
+      # 戻り値を受け取る変数の定義
       if ! b_void then
         if f.is_oneway? then
-          retval_ptr = ""   # oneway ã®å ´åãåãåããæ¨ã¦ããã
+          retval_ptr = ""   # oneway の場合、受け取るが捨てられる
         else
           retval_ptr = "*"
@@ -653,10 +628,7 @@
       end
 
-      # in æ¹åã®å
-¥åºåãå
-¥å
-      file.print "\n        /* å
-¥åå¼æ°åå */\n"
-      b_get = true    # unmarshal ã§ã¯ get
+      # in 方向の入出力を入力
+      file.print "\n        /* 入力引数受取 */\n"
+      b_get = true    # unmarshal では get
       b_marshal  = false
       print_params( param_list, file, 1, b_marshal, b_get, true, f.is_oneway? )
@@ -667,7 +639,7 @@
       end
 
-      # ãã±ããã®åä¿¡å®äº
-      # mikan æ¬å½ã¯ãå¯¾è±¡é¢æ°ãå¼åºãå¾ã«å®æ½ãããï¼å¼åºããã±ããã®ä½¿ç¨çµãããå®£è¨ããç®çã¨ãã¦
-      file.print "        /* ãã±ããçµããããã§ãã¯ */\n"
+      # パケットの受信完了
+      # mikan 本当は、対象関数を呼出す後に実施したい．呼出しパケットの使用終わりを宣言する目的として
+      file.print "        /* パケット終わりをチェック */\n"
       if ! f.is_oneway? then
         b_continue = "true"
@@ -678,6 +650,6 @@
       file.print "        goto error_reset;\n\n"
 
-      # å¯¾è±¡é¢æ°ãå¼åºã
-      file.print "    /* å¯¾è±¡é¢æ°ã®å¼åºã */\n"
+      # 対象関数を呼出す
+      file.print "    /* 対象関数の呼出し */\n"
       if b_void then
         file.print( "    cServerCall_#{f_name}(" )
@@ -694,11 +666,10 @@
       file.print( " );\n" )
 
-      # æ»ãå¤ãåºåå¼æ°ã®ååã³ã¼ãã®çæ
-
-      # oneway ã®å ´ååºåãæ»ãå¤ãç¡ããååãå¾
-ããªãï¼éåæãªå¼åºãï¼
+      # 戻り値、出力引数の受取コードの生成
+
+      # oneway の場合出力、戻り値が無く、受取を待たない（非同期な呼出し）
       if ! f.is_oneway? then
         file.print <<EOT
-    /* é¢æ°å¦çã®çµäºãéç¥ */
+    /* 関数処理の終了を通知 */
     if( ( ercd_ = cEventflag_set( 0x01 ) ) != E_OK ){
       goto error_reset;
