moved error handling to appropriate header files

master
Tibor Bizjak 2023-07-16 13:31:57 +02:00
parent b127575211
commit bcff42f74d
3 changed files with 10 additions and 4 deletions

View File

@ -9,10 +9,6 @@
/* --------- ERROR MESSAGES */
#define printerr(format, ...) printf("error: " format "\n", ##__VA_ARGS__)
#define ZERODIV_ERR "zero divisor"
#define DOMAIN_ERR "operand not in domain [%d, %d]"
#define NEG_ERR "negative operand %g"
#define FULL_STACK_ERR "stack full, can't push %g"
#define UNKNOWN_TOKEN_ERR "unknown token %s"
#define VAR_NOT_SET_ERR "variable %c has no value"

View File

@ -3,8 +3,10 @@
#define STACK_H
#define printerr(format, ...) printf("error: " format "\n", ##__VA_ARGS__)
/* ERROR MESSAGES */
#define EMPTY_STACK_ERR "stack empty"
#define SHORT_STACK_ERR "not enough elements on stack"
#define FULL_STACK_ERR "stack full, can't push %g"
#ifndef MAX_STACK
#define MAX_STACK 100

View File

@ -2,6 +2,13 @@
#define TOKENS_H
#include <math.h>
#define printerr(format, ...) printf("error: " format "\n", ##__VA_ARGS__)
/* ERROR MESSAGES */
#define ZERODIV_ERR "zero divisor"
#define DOMAIN_ERR "operand not in domain [%d, %d]"
#define NEG_ERR "negative operand %g"
/* --------- CALCULATOR FUNCTION TYPES */
/* the following macros allow us to call native c constructs
* in a declarative style */
@ -89,4 +96,5 @@
OPERATORS \
MATH_H_BINDINGS
#undef printerr
#endif // TOKENS_H