⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bnf_rule.h

📁 sip torture test tools
💻 H
字号:
//bnf_rule.h//Copyright (C) 2003 Metalink LTD//Author: Rodionov Sergey (seger@metalinkltd.com)//This program is distributed under terms of GPL (see LICENSE)#ifndef __SEGER__MLTD__BNF_RULE_H__#define __SEGER__MLTD__BNF_RULE_H__#include <string>#include <vector>#include "bnf_parsval.h"#include "bnf_ruleitem.h"#include "bnf_strtype.h"using namespace std;class bnf_rule{ public:   bnf_rule(string name_) {name=name_;};   ~bnf_rule(){clear_items();};   void reset_items(vector<bnf_ruleitem*>& r);   bool try_parse(bnf_parsval&, str_cit& curr, const string& toparse, 		  str_cit & err_it,string& err_rule);   void reparse(string&rez, int r_len);   const string& get_name(){return name;}; private:   string name;   vector<bnf_ruleitem*> items;        //can be -- rule                                           //       -- string  	       		               //       -- Group   	 			       //       -- OR GROUP private:   void clear_items();};//                                                                            class bnf_ruleitem_rule:public bnf_ruleitem{ public:   bnf_ruleitem_rule(int min, int max, bnf_rule*); protected:   virtual bool pure_try_parse(bnf_parsval& ,str_cit& curr,			       const string&toparse,			       str_cit& err_it, string & err_rule);   virtual void pure_reparse(string&rez,int r_len);  private:   bnf_rule* self_rule;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -