- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tecsgen/tecslib/plugin/RepeatCellPlugin.rb
-
Property svn:mime-type
changed from
text/x-ruby
totext/x-ruby;charset=UTF-8
r388 r389 7 7 # 8 8 #-- 9 # ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 11 # ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 12 # å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 14 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 15 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 16 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 17 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 18 # ç¨ã§ããå½¢ã§åé 19 å¸ããå ´åã«ã¯ï¼åé 20 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 21 # è 22 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 23 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 24 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 # ç¨ã§ããªãå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 27 # ã¨ï¼ 28 # (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 # (b) åé 33 å¸ã®å½¢æ 34 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 35 # å ±åãããã¨ï¼ 36 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 37 # 害ãããï¼ä¸è¨èä½æ¨©è 38 ããã³TOPPERSããã¸ã§ã¯ããå 39 責ãããã¨ï¼ 40 # ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 41 # ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 42 ããã³TOPPERSããã¸ã§ã¯ãã 43 # å 44 責ãããã¨ï¼ 9 # 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 10 # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 # スコード中に含まれていること. 15 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 # の無保証規定を掲載すること. 19 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 # と. 22 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 # 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 # 報告すること. 26 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 # 免責すること. 45 31 # 46 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 47 ã 48 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 49 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 50 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 51 # ã®è²¬ä»»ãè² ããªãï¼ 32 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 # の責任を負わない. 52 37 # 53 38 # $Id$ 54 39 #++ 55 40 56 #== cell ã count åç¹°ãè¿ãã»ã«ãã©ã°ã¤ã³ 57 # ä¸å®å 58 ¨ç¹ï¼ 59 # æå®åã«å¯¾å¿ãã¦ããªã 60 # cell ã®æå®å (allocator, id) 61 # çµåã®æå®å (through) 41 #== cell を count 個繰り返すセルプラグイン 42 # 不完全点: 43 # 指定子に対応していない 44 # cell の指定子 (allocator, id) 45 # 結合の指定子 (through) 62 46 class RepeatCellPlugin < CellPlugin 63 47 … … 102 86 while count < num 103 87 104 # ã»ã«åã®ã«ã¦ã³ã88 # セル名のカウント 105 89 count_str = (count + base_count).to_s 106 90 if tail_zero.length > count_str.length then … … 114 98 file.print "#{indent_str}cell #{@cell.get_celltype.get_name} #{cname}{\n" 115 99 116 # Join ã® CDL æååçæ100 # Join の CDL 文字列生成 117 101 @cell.get_join_list.get_items.each{ |j| 118 102 119 # Join ã®å³è¾ºã®è§£æ103 # Join の右辺の解析 120 104 res = j.get_rhs.analyze_cell_join_expression 121 105 if res then … … 131 115 end 132 116 133 # å³è¾ºã®ã»ã«å (æ«å°¾ã®æ°åãã«ã¦ã³ãã¢ãã)117 # 右辺のセル名 (末尾の数字をカウントアップ) 134 118 nsp.get_name.to_s =~ /(.*[^0-9])([0-9]+)\z/ 135 119 if $2 then … … 145 129 end 146 130 147 # Join æååã®åºå131 # Join 文字列の出力 148 132 if port_name then 149 # å³è¾ºã¯ ã»ã«ã®çµå133 # 右辺は セルの結合 150 134 if subscript then 151 135 file.print "#{indent_str} #{j.get_name} = #{nsp.get_path_str}.#{port_name}[#{(count+subscript).to_s}];\n" … … 154 138 end 155 139 else 156 # å³è¾ºã¯åä¸ã®èå¥å140 # 右辺は単一の識別子 157 141 file.print "#{indent_str} #{j.get_name} = #{nsp.get_path_str};\n" 158 142 end … … 166 150 end 167 151 168 #=== count ãªãã·ã§ã³ã®è§£æ152 #=== count オプションの解析 169 153 def set_count rhs 170 154 if rhs =~ /\A\d+\z/ -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.