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/cfg/cfg.rb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby;charset=UTF-8
    r388 r389  
    88#              Graduate School of Information Science, Nagoya Univ., JAPAN
    99#
    10 #  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12 #  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13 #  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15 #  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16 #      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17 #      スコード中に含まれていること.
    18 #  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19 #      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22 #      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24 #      の無保証規定を掲載すること.
    25 #  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26 #      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28 #      と.
    29 #    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32 #        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33 #    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36 #        報告すること.
    37 #  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38 #      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41 #      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42 #      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44 #      å
    45 è²¬ã™ã‚‹ã“と.
    46 #
    47 #  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49 #  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50 #  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51 #  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52 #  の責任を負わない.
     10#  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11#  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12#  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13#  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14#      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15#      スコード中に含まれていること.
     16#  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17#      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18#      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19#      の無保証規定を掲載すること.
     20#  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21#      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22#      と.
     23#    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24#        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25#    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26#        報告すること.
     27#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28#      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29#      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30#      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31#      免責すること.
     32#
     33#  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34#  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35#  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36#  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37#  の責任を負わない.
    5338#
    5439#  $Id$
     
    6853
    6954#
    70 #  定数定義
    71 #
    72 # å
    73 ±é€š
     55#  定数定義
     56#
     57# 共通
    7458VERSION = "1.2.2"
    7559
    76 # cfg1_out関係
     60# cfg1_out関係
    7761CFG1_PREFIX        = "TOPPERS_cfg_"
    7862CFG1_MAGIC_NUM     = "TOPPERS_magic_number"
     
    8569CFG1_OUT_TARGET_H  = "target_cfg1_out.h"
    8670
    87 # cfg2_out関係
     71# cfg2_out関係
    8872CFG2_OUT_DB        = "cfg2_out.db"
    8973
    90 # cfg3_out関係
     74# cfg3_out関係
    9175CFG3_OUT_DB        = "cfg3_out.db"
    9276
    9377#
    94 ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿæœ‰ç„¡ãƒ•ãƒ©ã‚°
     78エラー発生有無フラグ
    9579#
    9680$errorFlag = false
    9781
    9882#
    99 ã‚¨ãƒ©ãƒ¼ï¼è­¦å‘Šè¡¨ç¤ºé–¢æ•°
    100 #
    101 # 一般的なエラー表示(処理を中断)
     83エラー/警告表示関数
     84#
     85# 一般的なエラー表示(処理を中断)
    10286def error_exit(message, location = "")
    10387  location += " " if location != ""
     
    10589end
    10690
    107 # 一般的なエラー表示(処理を継続)
     91# 一般的なエラー表示(処理を継続)
    10892def error(message, location = "")
    10993  location += " " if location != ""
     
    11296end
    11397
    114 # 一般的な警告表示
     98# 一般的な警告表示
    11599def warning(message, location = "")
    116100  location += " " if location != ""
     
    118102end
    119103
    120 # システムコンフィギュレーションファイルの構文解析時のエラー
     104# システムコンフィギュレーションファイルの構文解析時のエラー
    121105$noParseError = 0
    122106def parse_error(cfgFile, message)
     
    127111end
    128112
    129 # システムコンフィギュレーションファイルの構文解析時の警告
     113# システムコンフィギュレーションファイルの構文解析時の警告
    130114def parse_warning(cfgFile, message)
    131115  warning(message, "#{cfgFile.getFileName()}:#{cfgFile.getLineNo}:")
     
    133117
    134118#
    135 é™çš„API処理時のエラー/警告表示関数
    136 #
    137 # 静的API処理時のエラー/警告を短く記述できるように,メッセージ中の%ま
    138 # たは%%で始まる記述を以下のように展開する.
    139 #       %label → #{params[:label]}
    140 #       %%label → label `#{params[:label]}'
    141 #
    142 # エラー/警告メッセージの展開
     119静的API処理時のエラー/警告表示関数
     120#
     121# 静的API処理時のエラー/警告を短く記述できるように,メッセージ中の%ま
     122# たは%%で始まる記述を以下のように展開する.
     123#       %label #{params[:label]}
     124#       %%label label `#{params[:label]}'
     125#
     126# エラー/警告メッセージの展開
    143127def expand_message(message, params)
    144128  result = message.dup
     
    156140end
    157141
    158 # 静的API処理時のエラー
     142# 静的API処理時のエラー
    159143def error_api(params, message)
    160144  error(expand_message(message, params), \
     
    162146end
    163147
    164 # 静的API処理時の警告
     148# 静的API処理時の警告
    165149def warning_api(params, message)
    166150  warning(expand_message(message, params), \
     
    168152end
    169153
    170 # 静的API処理時のエラー(エラーコード付き)
     154# 静的API処理時のエラー(エラーコード付き)
    171155def error_ercd(errorCode, params, message)
    172156  error_api(params, "#{errorCode}: #{message}")
    173157end
    174158
    175 # 静的API処理時の警告(エラーコード付き)
     159# 静的API処理時の警告(エラーコード付き)
    176160def warning_ercd(errorCode, params, message)
    177161  warning_api(params, "#{errorCode}: #{message}")
    178162end
    179163
    180 # パラメータのエラー
     164# パラメータのエラー
    181165def error_wrong(errorCode, params, symbol, wrong)
    182166  error_ercd(errorCode, params, "%%#{symbol} is #{wrong} in %apiname")
     
    193177end
    194178
    195 # パラメータ不正のエラー
     179# パラメータ不正のエラー
    196180def error_illegal(errorCode, params, symbol)
    197181  error_ercd(errorCode, params, "illegal %%#{symbol} in %apiname")
     
    209193
    210194#
    211 #  Stringクラスの拡張(二重引用符で囲まれた文字列の作成/展開)
     195#  Stringクラスの拡張(二重引用符で囲まれた文字列の作成/展開)
    212196#
    213197class String
    214198  #
    215   #  二重引用符で囲まれた文字列の作成
     199  #  二重引用符で囲まれた文字列の作成
    216200  #
    217201  def quote
     
    249233
    250234  #
    251   #  二重引用符で囲まれた文字列の展開
     235  #  二重引用符で囲まれた文字列の展開
    252236  #
    253237  def unquote
     
    299283
    300284#
    301 #  NumStrクラス(数値に文字列を付加したもの)の定義
     285#  NumStrクラス(数値に文字列を付加したもの)の定義
    302286#
    303287class NumStr
     
    307291  end
    308292
    309   # 数値æƒ
    310 å ±ã‚’返す
     293  # 数値情報を返す
    311294  def val
    312295    return @val
     
    314297  alias_method :to_i, :val
    315298
    316   # 文字列æƒ
    317 å ±ã‚’返す
     299  # 文字列情報を返す
    318300  def str
    319301    return @str
     
    321303  alias_method :to_s, :str
    322304
    323   # 比較は数値æƒ
    324 å ±ã§è¡Œã†
     305  # 比較は数値情報で行う
    325306  def ==(other)
    326307    @val == other
     
    333314  end
    334315
    335   # ハッシュのキーとして使う時の比較も数値æƒ
    336 å ±ã§è¡Œã†
     316  # ハッシュのキーとして使う時の比較も数値情報で行う
    337317  def eql?(other)
    338318    @val == other.val
    339319  end
    340320
    341   # ハッシュ値の定義も上書きする
     321  # ハッシュ値の定義も上書きする
    342322  def hash
    343323    return @val.hash
    344324  end
    345325
    346   # 数値クラスと演算できるようにする
     326  # 数値クラスと演算できるようにする
    347327  def coerce(other)
    348328    if other.kind_of?(Numeric)
     
    353333  end
    354334
    355   # 二重引用符で囲まれた文字列の作成
     335  # 二重引用符で囲まれた文字列の作成
    356336  def quote
    357337    str.quote
    358338  end
    359339
    360   # 二重引用符で囲まれた文字列の展開
     340  # 二重引用符で囲まれた文字列の展開
    361341  def unquote
    362342    str.unquote
    363343  end
    364344
    365   # pp時の表示
     345  # pp時の表示
    366346  def pretty_print(q)
    367347    q.text("[#{@val}(=0x#{@val.to_s(16)}),")
     
    370350  end
    371351
    372   # 未定義のメソッドは@valに送る
     352  # 未定義のメソッドは@valに送る
    373353  def method_missing(*method)
    374354    @val.send(*method)
     
    377357
    378358#
    379 ã‚·ãƒ³ãƒœãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®èª­ã¿è¾¼ã¿
    380 #
    381 ä»¥ä¸‹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ï¼ŒGNUのnmが生成するシンボルファイルに対応している.
    382 åˆ¥ã®ãƒ„ールに対応する場合には,このメソッドを書き換えればよい.
     359シンボルファイルの読み込み
     360#
     361以下のメソッドは,GNUのnmが生成するシンボルファイルに対応している.
     362別のツールに対応する場合には,このメソッドを書き換えればよい.
    383363#
    384364def ReadSymbolFile(symbolFileName)
     
    391371  symbolAddress = {}
    392372  symbolFile.each do |line|
    393     # スペース区切りで分解
     373    # スペース区切りで分解
    394374    fields = line.split(/\s+/)
    395375
    396     # 3列になっていない行は除外
     376    # 3列になっていない行は除外
    397377    if fields.size == 3
    398378      symbolAddress[fields[2]] = fields[0].hex
     
    404384
    405385#
    406 å€¤å–得シンボルをグローバル変数として定義する
     386値取得シンボルをグローバル変数として定義する
    407387#
    408388def DefineSymbolValue
     
    415395
    416396#
    417 ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ‘スからファイルを探す
     397インクルードパスからファイルを探す
    418398#
    419399def SearchFilePath(fileName)
    420400  if File.exist?(fileName)
    421     # 指定したファイルパスに存在する
     401    # 指定したファイルパスに存在する
    422402    return fileName
    423403  elsif /^\./ =~ fileName
    424     # 相対パスを指定していて見つからなかった場合,存在しないものとする
    425     #(意図しないファイルが対象となることを防止)
     404    # 相対パスを指定していて見つからなかった場合,存在しないものとする
     405    #(意図しないファイルが対象となることを防止)
    426406    return nil
    427407  else
    428     # 各インクルードパスからファイル存在チェック
     408    # 各インクルードパスからファイル存在チェック
    429409    $includeDirectories.each do |includeDirectory|
    430410      path = includeDirectory + "/" + fileName
    431       # 見つかったら相対パスを返す
     411      # 見つかったら相対パスを返す
    432412      if File.exist?(path)
    433413        return path
     
    439419
    440420#
    441 æŒ‡å®šã—た生成スクリプト(trbファイル)を検索してloadする
     421指定した生成スクリプト(trbファイル)を検索してloadする
    442422#
    443423def IncludeTrb(fileName)
     
    451431
    452432#
    453 ãƒ‘ス3の処理
     433パス3の処理
    454434#
    455435def Pass3
    456436  #
    457   #  パス2から引き渡されるæƒ
    458 å ±ã‚’ファイルから読み込む
     437  #  パス2から引き渡される情報をファイルから読み込む
    459438  #
    460439  db = PStore.new(CFG2_OUT_DB)
     
    472451
    473452  #
    474   #  値取得シンボルをグローバル変数として定義する
     453  #  値取得シンボルをグローバル変数として定義する
    475454  #
    476455  DefineSymbolValue()
    477456
    478457  #
    479   #  生成スクリプト(trbファイル)を実行する
     458  #  生成スクリプト(trbファイル)を実行する
    480459  #
    481460  $trbFileNames.each do |trbFileName|
     
    484463
    485464  #
    486   #  パス4に引き渡すæƒ
    487 å ±ã‚’ファイルに生成
     465  #  パス4に引き渡す情報をファイルに生成
    488466  #
    489467  if $omitOutputDb.nil?
     
    503481
    504482#
    505 ãƒ‘ス4の処理
     483パス4の処理
    506484#
    507485def Pass4
    508486  #
    509   #  パス3から引き渡されるæƒ
    510 å ±ã‚’ファイルから読み込む
     487  #  パス3から引き渡される情報をファイルから読み込む
    511488  #
    512489  db = PStore.new(CFG3_OUT_DB)
     
    523500
    524501  #
    525   #  値取得シンボルをグローバル変数として定義する
     502  #  値取得シンボルをグローバル変数として定義する
    526503  #
    527504  DefineSymbolValue()
    528505
    529506  #
    530   #  生成スクリプト(trbファイル)を実行する
     507  #  生成スクリプト(trbファイル)を実行する
    531508  #
    532509  $trbFileNames.each do |trbFileName|
     
    536513
    537514#
    538 ç”Ÿæˆã‚¹ã‚¯ãƒªãƒ—ト(trbファイル)向けの関数
     515生成スクリプト(trbファイル)向けの関数
    539516#
    540517def SYMBOL(symbol)
     
    570547
    571548#
    572 ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã®åˆæœŸåŒ–
     549グローバル変数の初期化
    573550#
    574551$kernel = nil
     
    585562
    586563#
    587 ã‚ªãƒ—ションの処理
     564オプションの処理
    588565#
    589566OptionParser.new(banner="Usage: cfg.rb [options] CONFIG-FILE", 40) do |opt|
     
    639616
    640617#
    641 ã‚ªãƒ—ションのチェック
     618オプションのチェック
    642619#
    643620if $pass.nil?
    644   # パスの指定はå¿
    645 é ˆ
     621  # パスの指定は必須
    646622  abort("`--pass' option is mandatory")
    647623elsif /^[1234]$/ !~ $pass
     
    649625end
    650626
    651 # パス1では,静的APIテーブルはå¿
    652 é ˆ
     627# パス1では,静的APIテーブルは必須
    653628if ($pass == "1" && $apiTableFileNames.empty?)
    654629  abort("`--api-table' option must be specified in pass 1")
    655630end
    656631
    657 # パス1以外では,生成スクリプト(trbファイル)がå¿
    658 é ˆ
     632# パス1以外では,生成スクリプト(trbファイル)が必須
    659633if ($pass != "1" && $trbFileNames.empty?)
    660634  abort("`--trb-file' must be specified except in pass 1")
     
    662636
    663637#
    664 ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ—ションの処理
     638カーネルオプションの処理
    665639#
    666640case $kernel
     
    672646
    673647#
    674 #  ID番号å
    675 ¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®å–り込み
     648#  ID番号入力ファイルの取り込み
    676649#
    677650$inputObjid = {}
     
    692665
    693666#
    694 æŒ‡å®šã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®èª­ã¿è¾¼ã¿
     667指定されたシンボルファイルの読み込み
    695668#
    696669if !$romSymbolFileName.nil?
     
    703676
    704677#
    705 æŒ‡å®šã•ã‚ŒãŸSレコードファイルの読み込み
     678指定されたSレコードファイルの読み込み
    706679#
    707680if !$romImageFileName.nil?
     
    714687
    715688#
    716 ãƒ‘スに従って各処理を実行
     689パスに従って各処理を実行
    717690#
    718691case $pass
     
    731704end
    732705
    733 # エラー発生時はabortする
     706# エラー発生時はabortする
    734707if $errorFlag
    735708  if ($0 == __FILE__)
    736709    abort()
    737710  else
    738     # simplecov対応
     711    # simplecov対応
    739712    raise()
    740713  end
     
    742715
    743716#
    744 ä½œæˆã—たすべてのファイルを出力する
     717作成したすべてのファイルを出力する
    745718#
    746719GenFile.output
    747720
    748721#
    749 ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ファイルの生成
     722タイムスタンプファイルの生成
    750723#
    751724if !$timeStampFileName.nil?
Note: See TracChangeset for help on using the changeset viewer.