00001 /*
00002 File: Expr.h
00003
00004 Function: Expression evaluation
00005
00006 Authors: Paul Heckbert, Andrew Willmott
00007
00008 Copyright: none
00009 */
00010
00011 #ifndef __Expr__
00012 #define __Expr__
00013
00014 #include "cl/String.h"
00015
00016 /* error codes */
00017 enum EvalErrors
00018 {
00019 EXPR_GOOD, /* expression totally good */
00020 EXPR_SOSO, /* expression partially good */
00021 EXPR_BAD /* expression totally bad */
00022 };
00023
00024 extern int expr_error; /* holds error code after expr_eval */
00025
00026 Int expr_eval_int(StrConst s);
00027 Long expr_eval_long(StrConst s);
00028 Double expr_eval(StrConst s);
00029
00030 #endif