Visual Studio .NET 2002Visual Studio 6Visual C++ 7.0Windows 2000Visual C++ 6.0Windows XPMFC中级开发Visual StudioWindowsC++
ALXParser - 单个表达式dBase解析器






4.71/5 (16投票s)
2002年9月3日

62488

973
一个单表达式的 dBase 语法解析器。支持函数和变量。
引言
这是一个支持函数、变量、求值和错误处理的 dBase 语言解析器。该解析器是我编写的,包含在 CALXParser
类中。
计算过程分为两个阶段:
- 语法分析和填充计算所需的数据结构,
- 执行准备好的脚本。
这使得在大型循环中使用解析器时,可以减少执行时间。
基本方法
这些方法用于获取表达式分析的结果。
void Parse(LPCSTR lpszExpression);
VARIANT* Execute();
变量操作方法
这些方法用于定义变量或更改值。
BOOL AddVariable(LPCSTR szName, VARIANT& varValue);
BOOL DelVariable(LPCSTR szName);
void DelUnusedVariables(LPCSTR szName);
BOOL SetVariableValue(LPCSTR szName, VARIANT& varValue);
BOOL SetVariableValue(VARIANT& varValue);
BOOL GetVariableValue(LPCSTR szName, VARIANT& varValue);
BOOL GetVariableValue(VARIANT& varValue);
LPCSTR GetFirstVariableName();
LPCSTR GetNextVariableName();
示例
使用示例。
// pointer on result VARIANT* pvarResult = NULL; try { // prepare script m_Parser.Parse(strExpression); // execute script pvarResult = m_Parser.Execute(); } catch(CALXParserException* e) { // processing of errors for(int i = 0; i < e->GetErrorCount(); i++) { e->GetErrorInfo(i); e->ReportError(); } e->Delete(); return; } // work with result // ...