Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tecsgen/tecslib/plugin/lib/MrubyBridgeCelltypePluginModule.rb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby;charset=UTF-8
    r388 r389  
    66#   Copyright (C) 2008-2011 by TOPPERS Project
    77#--
    8 #   ä¸Šè¨˜è‘—作権è€
    9 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10 #   ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
    11 #   å¤‰ãƒ»å†é
    12 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    13 #   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    14 #       æ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定が,そのままの形でソー
    15 #       ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã«å«ã¾ã‚Œã¦ã„ること.
    16 #   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    17 #       ç”¨ã§ãã‚‹å½¢ã§å†é
    18 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    19 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    20 #       è€
    21 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    22 #       ã®ç„¡ä¿è¨¼è¦å®šã‚’掲載すること.
    23 #   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    24 #       ç”¨ã§ããªã„形で再é
    25 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    26 #       ã¨ï¼Ž
    27 #     (a) 再é
    28 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    29 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    30 #         ä½œæ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定を掲載すること.
    31 #     (b) 再é
    32 å¸ƒã®å½¢æ
    33 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    34 #         å ±å‘Šã™ã‚‹ã“と.
    35 #   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    36 #       å®³ã‹ã‚‰ã‚‚,上記著作権è€
    37 ãŠã‚ˆã³TOPPERSプロジェクトをå
    38 è²¬ã™ã‚‹ã“と.
    39 #       ã¾ãŸï¼Œæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒ¦ãƒ¼ã‚¶ã¾ãŸã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã„かなる理
    40 #       ç”±ã«åŸºã¥ãè«‹æ±‚からも,上記著作権è€
    41 ãŠã‚ˆã³TOPPERSプロジェクトを
    42 #       å
    43 è²¬ã™ã‚‹ã“と.
     8#   上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     9#   ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10#   変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11#   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12#       権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13#       スコード中に含まれていること.
     14#   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15#       用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16#       者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17#       の無保証規定を掲載すること.
     18#   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19#       用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20#       と.
     21#     (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22#         作権表示,この利用条件および下記の無保証規定を掲載すること.
     23#     (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24#         報告すること.
     25#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26#       害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27#       また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28#       由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29#       免責すること.
    4430
    45 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    46 ãŠ
    47 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    49 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    50 #   ã®è²¬ä»»ã‚’負わない.
     31#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35#   の責任を負わない.
    5136
    5237#   $Id$
    5338#++
    5439
    55 #== celltype プラグインのå
    56 ±é€šã®è¦ªã‚¯ãƒ©ã‚¹
     40#== celltype プラグインの共通の親クラス
    5741module MrubyBridgeCelltypePluginModule
    5842
    59   # プラグイン引数名 => Proc
     43  # プラグイン引数名 => Proc
    6044  MrubyBridgePluginArgProc = {
    6145      "ignoreUnsigned" => Proc.new { |obj,rhs| obj.set_ignoreUnsigned rhs },
     
    7155  @@count = 1
    7256
    73   #celltype::     Celltype        セルタイプ(インスタンス)
     57  #celltype::     Celltype        セルタイプ(インスタンス)
    7458  def initialize( celltype, option )
    7559    dbgPrint "#{self.class.name}: initialzie: #{celltype.get_name}\n"
     
    9377  end
    9478
    95   #=== 新しいセル
    96   #cell::        Cell            セル
     79  #=== 新しいセル
     80  #cell::        Cell            セル
    9781  #
    98   # celltype プラグインを指定されたセルタイプのセルが生成された
    99   # セルタイププラグインに対する新しいセルの報告
    100   # generate 文により呼び出された場合、それまでに定義された cell については、initialize のタイミングで呼び出される
     82  # celltype プラグインを指定されたセルタイプのセルが生成された
     83  # セルタイププラグインに対する新しいセルの報告
     84  # generate 文により呼び出された場合、それまでに定義された cell については、initialize のタイミングで呼び出される
    10185  def new_cell( cell )
    10286    dbgPrint "MrubyBridgeCelltypePluginModule: new_cell: #{cell.get_name}\n"
    10387
    104     return if @cell_list.include? cell   # この行は、本来不要のはず
    105     if TECSGEN.post_coded?               # post_code 以降のセルは対象から外す
     88    return if @cell_list.include? cell   # この行は、本来不要のはず
     89    if TECSGEN.post_coded?               # post_code 以降のセルは対象から外す
    10690      cdl_info( "I9999 MrubyBridgeCelltypePlugin: $1 is excluded because cell generated after post_coded", cell.get_name )
    10791      return
     
    146130  end
    147131
    148 ### 意味解析段階で呼び出されるメソッド ###
    149   #===  CDL ファイルの生成
    150   #      typedef, signature, celltype, cell のコードを生成
    151   #      重複して生成してはならない
    152   #      すでに生成されている場合は出力しないこと。
    153   #      もしくは同名の import により、重複を避けること。
    154   #file::        FILE       ç”Ÿæˆã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«
     132### 意味解析段階で呼び出されるメソッド ###
     133  #===  CDL ファイルの生成
     134  #      typedef, signature, celltype, cell のコードを生成
     135  #      重複して生成してはならない
     136  #      すでに生成されている場合は出力しないこと。
     137  #      もしくは同名の import により、重複を避けること。
     138  #file::        FILE       生成するファイル
    155139  def gen_cdl_file file
    156 #   ã“の段階で呼びだすと generate 文が呼び出される前のセルのみの出力となる
     140#   この段階で呼びだすと generate 文が呼び出される前のセルのみの出力となる
    157141   
    158142#    dbgPrint "MrubyBridgeCelltypePlugin: gen_cdl_file: #{@celltype.get_name}\n"
     
    175159  end
    176160
    177   #=== tCelltype_factory.h に挿å
    178 ¥ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’生成する
    179   # file 以外の他のファイルにファクトリコードを生成してもよい
    180   # セルタイププラグインが指定されたセルタイプのみ呼び出される
     161  #=== tCelltype_factory.h に挿入するコードを生成する
     162  # file 以外の他のファイルにファクトリコードを生成してもよい
     163  # セルタイププラグインが指定されたセルタイプのみ呼び出される
    181164  def gen_factory file
    182165  end
     
    187170
    188171  @@b_gen_post_code_called = false
    189   #=== 後ろの CDL コードを生成
    190   #プラグインの後ろの CDL コードを生成
     172  #=== 後ろの CDL コードを生成
     173  #プラグインの後ろの CDL コードを生成
    191174  #file:: File:
    192175  def self.gen_post_code( file )
     
    198181    end
    199182
    200 #    この段階で生成すると、同じポストコードで出力される mruby の初期化コードに反映されない
     183#    この段階で生成すると、同じポストコードで出力される mruby の初期化コードに反映されない
    201184   
    202 #    # MrubyBridgeCelltypePlugin の生成する generate 文は、
     185#    # MrubyBridgeCelltypePlugin の生成する generate 文は、
    203186#    fn2 = "#{$gen}/tmp_MrubyBridgeCelltypePlugin_post.cdl"
    204187#    f2 = File.open( fn2, "w" )
    205 #    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
     188#    # 複数のプラグインの post_code が一つのファイルに含まれるため、以下のような見出しをつけること
    206189#    dbgPrint "MrubyBridgeCelltypePlugin: gen_post_code\n"
    207190#    f2.print "/* '#{self.name}' post code */\n"
     
    219202  end
    220203
    221   #=== プラグイン引数
    222 
    223   #=== プラグイン引数 ignoreUnsigned
     204  #=== プラグイン引数
     205
     206  #=== プラグイン引数 ignoreUnsigned
    224207  def set_ignoreUnsigned rhs
    225208    if rhs == "true" || rhs == nil then
     
    256239  end
    257240
    258   #=== プラグイン引数 exclude_port_func
     241  #=== プラグイン引数 exclude_port_func
    259242  def set_exclude_port_func rhs
    260243    port_funcs = rhs.split ','
     
    287270  end
    288271
    289   #=== プラグイン引数 auto_exclude
     272  #=== プラグイン引数 auto_exclude
    290273  def set_auto_exclude rhs
    291274    # print "MrubyBridgeCellPlugin: auto_exclude=#{rhs}\n"
Note: See TracChangeset for help on using the changeset viewer.