Click here to Skip to main content
13,408,442 members (40,859 online)
Click here to Skip to main content
Add your own
alternative version


28 bookmarked
Posted 2 Sep 2002

ALXParser - a single expression dBase parser

, 9 Oct 2002
Rate this:
Please Sign up or sign in to vote.
A dBASE syntax parser of one expression. Functions and variables are supported.

Example of use parser


This is a dBASE language parser with support of functions, variables, evaluation and processing of mistakes. The parser was was written by me and is contained in the CALXParser class. 

The process of calculation is broken on two stages: 

  1. syntactic analysis and filling of structures necessary for calculation, 
  2. execution of the prepared script. 

It has allowed a reduction in execution time when using the parser in the big cycles.

Base methods

These methods are necessary to get the results of analysis of expression.

void Parse(LPCSTR lpszExpression);
VARIANT* Execute();

Methods for work with variables

These methods are intended for definition of variables or change of values.

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();	


Example of use.

// pointer on result
VARIANT* pvarResult = NULL;

	// prepare script
	// execute script
	pvarResult = m_Parser.Execute();
catch(CALXParserException* e)
	// processing of errors
	for(int i = 0; i < e->GetErrorCount(); i++)

// work with result
// ...


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Web Developer
Russian Federation Russian Federation
Year of birth - 1974.
Eeducation - was ended by Kaliningrad State University in 1997.
Now I work as the engineer-programmer in Kaliningrad (RUSSIA).

You may also be interested in...

Comments and Discussions

GeneralSuper!!! Pin
ins526-Jul-09 9:43
memberins526-Jul-09 9:43 
Generalwhy you did now give a complete NFA and DFA diagram Pin
Muhammad Rizwan Arif18-Dec-03 3:33
memberMuhammad Rizwan Arif18-Dec-03 3:33 
GeneralRe: why you did now give a complete NFA and DFA diagram Pin
Alexey18-Dec-03 4:43
memberAlexey18-Dec-03 4:43 
GeneralGreat job! Pin
Holger Persch3-Sep-02 23:38
memberHolger Persch3-Sep-02 23:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180221.1 | Last Updated 10 Oct 2002
Article Copyright 2002 by Alexey
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid