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

📄 bnf_parser.h

📁 sip torture test tools
💻 H
字号:
//bnf_parser.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_PARSER_H__#define __SEGER__MLTD__BNF_PARSER_H__#include <string>#include <map>#include "bnf_ruleparser.h"class bnf_parser{ public:   bnf_parser(const char** defrule);   //defrule -- rules them check bat convert to string   bnf_parser(){}; //we must run load_defrule() before use   ~bnf_parser();   void load_defrule(const char**defrule);      void reset_rule(string name,string rule);  //if error --> throw    void reset_rule(string name_rule);         //" name = rule "   void add_rule(string name,string rule);    //add new rule (or change old)   void add_rule(string name_rule);           //" name = rule "      bool try_parse(bnf_parsval&, string root_rule,const string& toparse,		  int& err_pos, string& err_rule);   bool try_parse(bnf_parsval&,string root_rule,const char* toparse,int size,		  int &err_pos,string&err_rule);   bool try_parse(bnf_parsval&, string root_rule,const string& toparse);   bool try_parse(bnf_parsval&, string root_rule,const char* toparse,int size);   void reparse(string root_rule,string&rez,int r_len);   bool is_rule_exist(string name){return rules.find(name) != rules.end();};// private:   map<string,bnf_rule*> rules; private:   void clear();  //delete all};#endif

⌨️ 快捷键说明

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