软件开发公司 CTS script <一> 分析CTS的诞生
之前为了商议了解CCOPT软件开发公司,我方花几天时间写了一个剧本,底下是该著述的聚集。
CTS debug<一>
效果好多东谈主都思参考参考。作家这里就讲讲代码里的一些细节。仅仅列出了一些删减版的代码,不一定能成功用,如果要使用的话还需要我方润色。也唯有我方亲手敲敲,改改才气信得过的学会。这个剧本自从写好后,作家都没用过几次,分享出来让它发扬更大的作用。
本剧本使用perl写的。当前machine-learning这样火,我思以后应该越来越少用perl写了吧。都改用python吧。
在学习本例之前,至少应该掌合手以下几点:
熟识使用正则抒发式
熟识使用hash表,以及多级hash表,
通过tag,正确的参预和退出多级while轮回,
了解学习HTML话语。
图片软件开发公司
界说输入输出文献
图片
剧本的输入是logv,输出是一个html文献。这样咱们就不错通过浏览器绽开。本次代码相比毛糙,应该加入 -w 好像use strict一类的语句。
图片
图片
查找ccopt_design号召
图片
本段代码查找logv中ccopt_design号召,并从这个号召之后进行分析。ccopt_design第一步会叙述、查验CTS的诞生,之后才进行作念tree的操作。本文的剧本即是在分析查验CTS的诞生,分析CTS-tree的操作下一章再讲。
在第16行中加入tag_1_0,这个在本段代码中莫得太大作用,因为就一层while轮回。
在第17行中查找ccopt_design号召。 这里需要详确的是,如果在运行剧本的时间领受source -verbose号召,,那么本行的正则抒发式就会不一样。
第21行中纪录了ccopt_design这个号召地点的位置。
第24行找到启当作念CTS-tree的位置,咱们只分析CTS的诞生,是以以此为分界点退出轮回,并纪录该分界点位置
第29行,没什么用,仅仅芜俚的查找有无ideal net ,皆备不错放到后头代码中。作家仅仅顺手写在这里。
app图片
图片
查找property
图片
底下的代码中,作家修复了两个hash表,一个储存默许值,一个存储诞生的值。
本段代码中使用了多层的while轮回,这里的tag,不错很松懈的指定退出的档次
不过杉浦悠太在转职业之前,已经声名远播。去年,他以业余身份赢得宫崎县凤凰乡村俱乐部举行的邓禄普凤凰高球赛,成为历史上第七个以业余身份在日巡赛上夺冠的选手。
近10期,前区和值范围在51--111之间开出,近十期和值的平均值是86.4,上期开出奖号和值为51,本期预测和值上升,推荐和值在94左右。
第39行,通过seek号召,成功定位到ccopt_design这个号召启动。
第40行,tag_2_1用来退出段代码,因为咱们只侧重于cluster之前,是以在碰到clustering,就退出本次代码。
第44行,查找到trim的信息后,参预第二次轮回,该轮回亦然每轮回一次读入一瞥
第47行中,如果遭受AAE重要字则退出。作家这里取AAE莫得别的原因,软件开发资讯仅仅看到trim之后有AAE这个重要字,断然抓的,虽然你也不错通过检察log来决定符合的重要字而不是AAE。
第50行中,找到了trim的信息,并将其存储起来
图片
雷同咱们不错查找library-timing的信息,雷同领受hash表来保存数据。
其实这段和上头的一段是不错合在一个while轮回里的。为什么作家这样作念呢。因为不同的版块中可能library-timing和route-type-trim等先后规矩好像说一些重要字不一样,是以分开写,一方面模块化,修改更方面,另一方面也更容易些。毕竟这段log不是很长,多几个轮且归查找无所谓。
图片
图片
查找configuration
图片
本次轮回主如果查找clock-tree-configuration中的骨子,雷同领受了两层while轮回。
第89行,当找到某些tree的诞生后,参预第二层轮回。
第91行,默示该clock用一瞥就不错描摹完,成功截至就好了。如果还有好多clock,那么参预第二层第一次轮回,此次轮回用来查找所有这个词的clock。当碰到冒号的时间住抄本次轮回。就像底下的例子一样,如果一瞥就描摹完所有这个词clock,成功截至就好了。如果碰到多行,就需要再一层while轮回来找到所有这个词的clock.
图片
图片
第107行的时间,参预第二层第二次轮回,在第108行的时间,默示找到了下一个clock-tree的诞生,退出第二层轮回,再行参预第一层轮回。这里纪录了这个位置。下次成功启动从这行启动读。
例子中的hash表键值都加入了数字,这是由于哈希表莫得规矩,这里东谈主为加入了数字以后便捷排序。
第113-116行,这里领受多级哈希,举例底下的例子,property包括lef/trunk/top,是以需要多一级hash表。
图片
第120-146行,领受的哈希级数比上头少两级。如果为了简易,不错领受和113-116中不同的hash名字,在本例子中领受了相通的名字,是以也稍许加大了剧本的难度。
图片
图片
图片
查找warn/error
图片
虽然咱们还不错查找这段log中的Warn/error等信息
图片
图片
写出html文献
图片
到此为止,查找职责都也曾作念收场。接下来只需要写出HTML文献就不错了。对于HTML,仅仅简易的秀雅话语,花点时间就不错掌合手了。作家为什么不写成EXCEL,而是写出HTML,莫得别的原因,仅仅以为HTML露馅更丰富,绽开更便捷。虽然你也不错吐出EXCEL设施。
图片
本段领受了HTML的表格。tr,td这些重要字即是行和列。
图片
第206行,对第一级hash表的键值进行排序
第212行,对第二级hash表的键值进行排序
第214行,默示如果第三级的值是一个标量,而不是另一个哈希表,就写出其骨子。
第231行,对第三季hash表的键值进行排序
图片
终末关闭文献,就不错用浏览器检察了。
图片
图片
本站仅提供存储劳动,所有这个词骨子均由用户发布,如发现存害或侵权骨子,请点击举报。