#include <stdio.h>
#include <string.h>
-#include <alloc.h>
#include "aslink.h"
/*)Module lkeval.c
*
* lkeval.c contains the following functions:
* int digit()
- * addr_t eval()
- * addr_t expr()
+ * Addr_T eval()
+ * Addr_T expr()
* int oprio()
- * addr_t term()
+ * Addr_T term()
*
* lkeval.c contains no local/static variables
*/
-/*)Function addr_t eval()
+/*)Function Addr_T eval()
*
* The function eval() evaluates a character string to a
* numerical value.
* local variables:
* int c character from input string
* int v value of character in current radix
- * addr_t n evaluation value
+ * Addr_T n evaluation value
*
* global variables:
* int radix current number conversion radix
* numerical value.
*/
-addr_t
+Addr_T
eval()
{
register int c, v;
- register addr_t n;
+ register Addr_T n;
c = getnb();
n = 0;
return(n);
}
-/*)Function addr_t expr(n)
+/*)Function Addr_T expr(n)
*
* int n a firewall priority; all top
* level calls (from the user)
* local variables:
* int c current input text character
* int p current operator priority
- * addr_t v value returned by term()
- * addr_t ve value returned by a
+ * Addr_T v value returned by term()
+ * Addr_T ve value returned by a
* recursive call to expr()
*
* global variables:
* text string.
*/
-addr_t
+Addr_T
expr (n)
{
register int c, p;
- register addr_t v, ve;
+ register Addr_T v, ve;
v = term();
while (ctype[c = getnb()] & BINOP) {
return(v);
}
-/*)Function addr_t term()
+/*)Function Addr_T term()
*
* The function term() evaluates a single constant
* or symbol value prefaced by any unary operator
* int n value of digit in current radix
* int r current evaluation radix
* sym * sp pointer to a sym structure
- * addr_t v evaluation value
+ * Addr_T v evaluation value
*
* global variables:
* char ctype[] array of character types, one per
* int getmap() lklex.c
* int getnb() lklex.c
* sym * lkpsym() lksym.c
- * addr_t symval() lksym.c
+ * Addr_T symval() lksym.c
* VOID unget() lklex.c
*
* side effects:
* An arithmetic term is evaluated by scanning input text.
*/
-addr_t
+Addr_T
term()
{
register int c, r, n;
- register addr_t v;
+ register Addr_T v;
struct sym *sp;
char id[NCPS];
return(v);
}
if (c == '-') {
- return(-expr(100));
+ return(0-expr(100));
}
if (c == '~') {
return(~expr(100));
return(symval(sp));
}
}
+ return(0);
}
/*)Function int digit(c, r)