3 翻译示例
对上述例子进行说明如下:
TTCN-3代码:template charstring MyTemplate :=pattern “a*bc”;
对应接收操作时模板匹配的C++翻译代码:
int i = String.find('*');
String.replace(i, 1, “.*”);
boost::regex reg(String);
bool b=boost::regex_match(data,reg);//data是测试系统接收到的数据值
4 结语
本文提出了一种采用面向对象的程序设计语言C++实现TTCN-3中模板的字符模式匹配方法。通过分析字符模式匹配机制与Perl语法的正则表达式的不同,找到两者转换的方法,并给出了实例说明。研究中需注意正则表达式的贪婪性,本文使用正则表达式的默认贪婪模式。
参考文献:
[1] ETSI.Methods for testing and specification(MTS);The testing and test control notation version3;part5:TTCN-3 runtime interface (TRI) [S]. FRANCE, ETSI ES 201 873-1 V3.2.1,2007.
[2] ETSI.Methods for testing and specification(MTS);the testing and test control notation version3;part1:TTCN-3 core language[S]. FRANCE,ETSI ES 201 873-1 V3.2.1,2007.
[3] 王艳,李冬梅.基于正则表达式的协议识别方案[J].软件导刊,2009(2):47-49.
[4] 贺炜.网包正则表达式匹配算法研究[D].郑州:解放军信息工程大学,2013.
[5] 郑冰.基于TTCN-3测试平台的模板匹配问题的研究与实现[D].呼和浩特:内蒙古大学,2009.
[6] 周冬初,鞠凤娟,郭东珲.基于Struts2框架校验数据及整合正则表达式的实现方法[J].计算机与现代化,2011(1):85-87.
|