valgrinds rule depends on all
[calc.git] / element.h
index 15e6ecc2eb991302afb9a4ec412c839b3944c918..03b8128d72fbe943fe87a0d00ac55bee5780d573 100644 (file)
--- a/element.h
+++ b/element.h
@@ -1,8 +1,6 @@
 #ifndef __ELEMENT_H__
 #define __ELEMENT_H__
 
-/* global variables */
-
 /* function type */
 
 typedef enum {
@@ -15,14 +13,15 @@ typedef enum {
     Erfc, Erf,
     Abs, Ceil, Floor,
     Store, Recall, Inc, Dec, Disp, Memory, Clear,
-    Quit, Help,
+    Quit, Help, History,
     Ans, E, Pi,
     Equal, Diff, Ge, Le, Gt, Lt,
     And, Or, Not,
     Cond, While, Code, Print,
     Prog, Arg, Call, List, Edit, Del,
     Get, Length, Pop, Push, Put, Set, Show,
-    Max, Mean, Median, Min, Order, Prod, Sum, Variance
+    Max, Mean, Median, Min, Order, Prod, Sum, Variance,
+    Precision, Base, Deg, Grad, Rad,
 } func_t;
 
 /* keyword type */
@@ -35,6 +34,20 @@ typedef struct _keyword_t {
     float prio;
 } keyword_t;
 
+/* global variables */
+
+#define NB_OPERATORS 14
+extern keyword_t operators[];
+
+#define NB_FUNCTIONS 56
+extern keyword_t functions[];
+
+#define NB_CONSTANTS 3
+extern keyword_t constants[];
+
+#define NB_SYMBOLS 4
+extern char *symbols[];
+
 /* calculus element type */
 
 typedef struct _element_t {