blob: 6fb64ae556713262b0b4ee57e01de4b7b093156c [file] [log] [blame]
H. Peter Anvin76690a12002-04-30 20:52:49 +00001/* eval.h header file for eval.c
2 *
3 * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
4 * Julian Hall. All rights reserved. The software is
5 * redistributable under the licence given in the file "Licence"
6 * distributed in the NASM archive.
7 */
8
9#ifndef NASM_EVAL_H
10#define NASM_EVAL_H
11
12/*
13 * Called once to tell the evaluator what output format is
14 * providing segment-base details, and what function can be used to
15 * look labels up.
16 */
H. Peter Anvine2c80182005-01-15 22:15:51 +000017void eval_global_info(struct ofmt *output, lfunc lookup_label,
H. Peter Anvin12e46512007-10-03 21:30:57 -070018 struct location * locp);
H. Peter Anvin76690a12002-04-30 20:52:49 +000019
20/*
21 * The evaluator itself.
22 */
H. Peter Anvine2c80182005-01-15 22:15:51 +000023expr *evaluate(scanner sc, void *scprivate, struct tokenval *tv,
24 int *fwref, int critical, efunc report_error,
25 struct eval_hints *hints);
H. Peter Anvin76690a12002-04-30 20:52:49 +000026
H. Peter Anvineba20a72002-04-30 20:53:55 +000027void eval_cleanup(void);
28
H. Peter Anvin76690a12002-04-30 20:52:49 +000029#endif