Click here to Skip to main content
15,884,176 members
Articles / Desktop Programming / ATL

Visual Calc v3.0 - A new dimension for the desktop calculator

Rate me:
Please Sign up or sign in to vote.
3.62/5 (113 votes)
28 Apr 2006CPOL22 min read 349.7K   6.8K   104  
How to start programming a parser.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>VisualCalc Parser: VCalcParserException.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.5 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  </ul></div>
<h1>VCalcParserException.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
VisualCalc Parser exceptions definitions. 
<p>
Defines the types that are thrown by the Parser as exceptions.<br>
 Every exception inherit from <a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a>. Then, each exception category is factorized with its parent.<br>
 Only the "younger" child classes in the exceptions hierarchy can be instanciated, as the parents are abstract classes. 
<p>
Definition in file <a class="el" href="_v_calc_parser_exception_8h-source.html">VCalcParserException.h</a>.
<p>
<code>#include &lt;STRING&gt;</code><br>

<p>
<a href="_v_calc_parser_exception_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for VisualCalc Parser Exceptions.  <a href="class_c_v_calc_parser_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_syntax_exception.html">CSyntaxException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Syntax Exceptions.  <a href="class_c_syntax_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_unexpected_character_exception.html">CUnexpectedCharacterException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when an unexpected character is found.  <a href="class_c_unexpected_character_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_period_unexpected_exception.html">CPeriodUnexpectedException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when an unexpected period character is found.  <a href="class_c_period_unexpected_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_closing_parenthesis_expected_exception.html">CClosingParenthesisExpectedException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a closing parenthesis is missing.  <a href="class_c_closing_parenthesis_expected_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_mathematic_expression_expected_exception.html">CMathematicExpressionExpectedException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a mathematic expression was expected.  <a href="class_c_mathematic_expression_expected_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_mathematic_exception.html">CMathematicException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Mathematic Exceptions.  <a href="class_c_mathematic_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_division_by_zero_exception.html">CDivisionByZeroException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when the user makes a division by 0.  <a href="class_c_division_by_zero_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_n_must_be_positive_exception.html">CNMustBePositiveException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when 'n' is a negative parameter.  <a href="class_c_n_must_be_positive_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_must_be_positive_exception.html">CPMustBePositiveException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when 'p' is a negative parameter.  <a href="class_c_p_must_be_positive_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_must_be_smaller_than_n_exception.html">CPMustBeSmallerThanNException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when 'p' is smaller than 'n'.  <a href="class_c_p_must_be_smaller_than_n_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_factorial_def_for_positive_ints_exception.html">CFactorialDefForPositiveIntsException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when the user asks for a negative factorial.  <a href="class_c_factorial_def_for_positive_ints_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a parameter is out of range.  <a href="class_c_parameter_out_of_range_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a parameter have to be positive.  <a href="class_c_math_parameter_must_be_positive_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_math_parameter_must_be_an_integer_exception.html">CMathParameterMustBeAnIntegerException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a parameter have to be an integer.  <a href="class_c_math_parameter_must_be_an_integer_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_function_exception.html">CFunctionException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Function Exceptions.  <a href="class_c_function_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_unknown_function_called_exception.html">CUnknownFunctionCalledException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when an unknown function is called.  <a href="class_c_unknown_function_called_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_implicit_multiplication_exception.html">CImplicitMultiplicationException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a variable name is used as a function.  <a href="class_c_implicit_multiplication_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_illegal_use_of_fonction_name_exception.html">CIllegalUseOfFonctionNameException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a function name is used an illegal way.  <a href="class_c_illegal_use_of_fonction_name_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_parameter_exception.html">CParameterException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Parameter Exceptions.  <a href="class_c_parameter_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_too_few_parameters_exception.html">CTooFewParametersException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a function parameters list is missing some parameters.  <a href="class_c_too_few_parameters_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_too_many_parameters_exception.html">CTooManyParametersException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a function parameters list has too much parameters.  <a href="class_c_too_many_parameters_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_variable_exception.html">CVariableException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Variable Exceptions.  <a href="class_c_variable_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_constant_assignation_exception.html">CConstantAssignationException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when the user tries to assign a constant.  <a href="class_c_constant_assignation_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_literal_assignation_exception.html">CLiteralAssignationException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when the user tries to assign a literal.  <a href="class_c_literal_assignation_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_undefined_variable_exception.html">CUndefinedVariableException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when the user uses an undefined variable.  <a href="class_c_undefined_variable_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_domain_exception.html">CDomainException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc Domain Exceptions.  <a href="class_c_domain_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_answer_requested_not_found_exception.html">CAnswerRequestedNotFoundException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when an answer requested cannot be found.  <a href="class_c_answer_requested_not_found_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_dom_parameter_must_be_positive_exception.html">CDomParameterMustBePositiveException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a parameter must be positive.  <a href="class_c_dom_parameter_must_be_positive_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_dom_parameter_must_be_an_integer_exception.html">CDomParameterMustBeAnIntegerException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a parameter must be an integer.  <a href="class_c_dom_parameter_must_be_an_integer_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_dom_parameters_must_be_positive_exception.html">CDomParametersMustBePositiveException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when several parameters of a function must be positive.  <a href="class_c_dom_parameters_must_be_positive_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_dom_parameters_must_be_integers_exception.html">CDomParametersMustBeIntegersException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when several parameters of a function must be integers.  <a href="class_c_dom_parameters_must_be_integers_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_parser_exception.html">CParserException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent class for VisualCalc general Exceptions.  <a href="class_c_parser_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_function_not_supported_exception.html">CFunctionNotSupportedException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for when a function called is not supported yet.  <a href="class_c_function_not_supported_exception.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_unknown_exception.html">CUnknownException</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception for for an unknown internal crash.  <a href="class_c_unknown_exception.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_v_calc_parser_exception_8h.html#0020b9702d44a52b706f17d86c961145">__AFX_VCALCPARSEREXCEPTION_H_INCLUDED__</a></td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="0020b9702d44a52b706f17d86c961145"></a><!-- doxytag: member="VCalcParserException.h::__AFX_VCALCPARSEREXCEPTION_H_INCLUDED__" ref="0020b9702d44a52b706f17d86c961145" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">#define __AFX_VCALCPARSEREXCEPTION_H_INCLUDED__          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="_v_calc_parser_exception_8h-source.html#l00013">13</a> of file <a class="el" href="_v_calc_parser_exception_8h-source.html">VCalcParserException.h</a>.    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Feb 6 23:55:55 2006 for VisualCalc Parser by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Accenture Technology Solutions
France France

Toxcct is an electronics guy who felt in love with programming at the age of 10 when he discovered C to play with Texas-Instruments calculators.

Few years later, he discovered "The C++ Language" from Bjarne Stroustrup ; a true transformation in his life.

Now, toxcct is experiencing the Web by developing Siebel CRM Applications for a living. He also respects very much the Web Standards (YES, a HTML/CSS code MUST validate !), and plays around with HTML/CSS/Javascript/Ajax/PHP and such.

_____

After four years of services as a Codeproject MVP, toxcct is now taking some distance as he doesn't like how things are going on the forums. he particularly doesn't accept how some totally ignorant people got the MVP Reward by only being arrogant and insulting while replying on the technical forums.



Comments and Discussions