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