Minor updates.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2725 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas
2000-08-29 09:01:49 +00:00
parent cddeb81532
commit a7bf792d3c
4 changed files with 56 additions and 16 deletions

View File

@@ -389,7 +389,7 @@ typedef struct parser_env {
unsigned char Token;
unsigned char asn_op;
unsigned error_code;
ParseError error_code;
void *numeric_value;
void *(*trans_numeric)(unsigned char *digit_str,
@@ -477,7 +477,7 @@ void exit_parser(parser_env_ptr pe)
} /* exit_parser */
/* return parser error code */
unsigned get_parse_error(parser_env_ptr pe)
ParseError get_parse_error(parser_env_ptr pe)
{
if (pe == NULL)
return PARSER_NO_ERROR;

View File

@@ -1,7 +1,29 @@
/***************************************************************************
* -------------------
* create : Tue Jul 11 20:21:18 2000
* copyright: (C) 2000 by Terry D. Boldt
* email : tboldt@attglobal.net
* -------------------
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
/***************************************************************************
* Global Function Prototypes
* Tue Jul 11 20:21:18 2000
*
***************************************************************************/
#ifndef __FIN_SPL_PROTOS_H__
#define __FIN_SPL_PROTOS_H__
/*==================================================*/
/* expression_parser.c
*/
/* expression_parser.c */
/* Line Number: 344 */
parser_env_ptr init_parser(
var_store_ptr predefined_vars,
@@ -16,3 +38,5 @@ parser_env_ptr init_parser(
void *right_value),
void *negate_numeric(void *value),
void free_numeric(void *numeric_value));
#endif

View File

@@ -19,6 +19,12 @@
*
***************************************************************************/
#ifndef __FINPROTO_H__
#define __FINPROTO_H__
#include <stdio.h>
#include "finvar.h"
/*==================================================*/
/* fin.c
@@ -112,7 +118,7 @@ void Amortization_free(
/* Line Number: 377 */
void exit_parser(parser_env_ptr pe);
/* Line Number: 400 */
unsigned get_parse_error(parser_env_ptr pe);
ParseError get_parse_error(parser_env_ptr pe);
/* Line Number: 408 */
var_store_ptr get_vars(parser_env_ptr pe);
/* Line Number: 417 */
@@ -159,3 +165,5 @@ amort_sched_ptr amort_opt(
void prt_amortization_schedule(
amort_sched_ptr amortsched, /* amortization schedule to print */
FILE *ofile); /* output file */
#endif

View File

@@ -19,6 +19,9 @@
*
***************************************************************************/
#ifndef __FINVAR_H__
#define __FINVAR_H__
#if !defined( EOS )
#define EOS '\x000'
#endif
@@ -34,12 +37,16 @@
#define INT_TYPE '\x001'
#define DBL_TYPE '\x002'
#define PARSER_NO_ERROR 0
#define UNBALANCED_PARENS 1
#define STACK_OVERFLOW 2
#define STACK_UNDERFLOW 3
#define UNDEFINED_CHARACTER 4
#define NOT_A_VARIABLE 5
typedef enum
{
PARSER_NO_ERROR = 0,
UNBALANCED_PARENS,
STACK_OVERFLOW,
STACK_UNDERFLOW,
UNDEFINED_CHARACTER,
NOT_A_VARIABLE,
PARSER_NUM_ERRORS
} ParseError;
#define UNUSED_VAR '\x000'
#define USED_VAR '\x001'
@@ -51,16 +58,15 @@
#define MUL_OP '*'
#define ASN_OP '='
/* The following structure is used by the expression parser to store named and temporary
* variables.
*/
/* The following structure is used by the expression parser to store
* named and temporary variables. */
/* structure used for storing variables - used by expression parser/evaluator
*/
typedef struct var_store *var_store_ptr;
typedef struct var_store {
unsigned char *variable_name; /* vairable name if variable, NULL otherwise */
unsigned char *variable_name; /* variable name if variable, NULL otherwise */
unsigned char use_flag; /* flag if variable has been assigned to */
unsigned char assign_flag; /* flag if variable is used */
void *value; /* pointer to imp[lementation defined numeric value */
@@ -75,7 +81,7 @@ typedef struct var_store {
* evaluate arithmetic operators '+', '-', '/', '*' */
typedef struct numeric *numeric_ptr;
typedef struct numeric {
unsigned char type; /* designates type of value */
unsigned char type; /* designates type of value */
union {
long int int_value; /* long integer value */
double dbl_value; /* double value */
@@ -215,3 +221,5 @@ typedef struct financial_info {
} financial_info;
typedef struct parser_env *parser_env_ptr;
#endif