【UVM源码学习】uvm_spell_chkr

简介: 【UVM源码学习】uvm_spell_chkr

uvm_spell_chkr,基类,用于uvm相关字符串拼写检查。该类中主要实现了两个方法:check和levenshtein_distance。


 check。若待检查的字符串s已存在于字符串表strtab中,直接返回1,否则逐个对比strtab中的字符串与字符串s。strtab中的字符串key与待检查字符串s比对过程如下:



 

  1.        求取key和s的levenshtein距离distance
  2.        若举例小于0,表明key、s中有字符串未空,退出比较,否则继续
  3.        若distance小于前一最小距离min(默认1),清空字符串队列min_key并压入字符串key,退出比较,否则继续
  4.        若distance等于前一最小距离min(默认1),字符串key压入字符串队列min_key
  5.        把min_key中的所有字符串压入新的字符串队列q,两字符串之间以“|”隔开,打印q(给出最相似的字符串)
  6.        返回0


levenshtein_distance,标准的求莱文斯坦距离的算法,不多介绍了。levenshtein distance表征了两个字符串的相似程度,距离越小越相似。


 用武之地:uvm_config_db支持通配符,记得不,就用了这个uvm_spell_chkr。


 示例用法:


2020120313590975.png


 测试结果 ↓:

20201203135924295.png


目录
相关文章
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
1025 0
|
安全
【UVM源码学习】uvm_links
【UVM源码学习】uvm_links
169 0
【UVM源码学习】uvm_links
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_recorder
284 0
【UVM源码学习】uvm_recorder
|
存储 C语言
【UVM源码学习】uvm_misc
【UVM源码学习】uvm_misc
142 0
【UVM源码学习】uvm_misc
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object
140 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_object_globals
151 0
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_event
【UVM源码学习】uvm_event
334 0
【UVM源码学习】uvm_event
|
测试技术 数据库 容器
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_resource
193 0
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_comparer
【UVM源码学习】uvm_comparer
649 0
【UVM源码学习】uvm_comparer
【UVM源码学习】uvm_heartbeat
【UVM源码学习】uvm_heartbeat
258 0
【UVM源码学习】uvm_heartbeat