home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / nasm097s.zip / EVAL.H < prev    next >
C/C++ Source or Header  |  1997-11-02  |  1KB  |  35 lines

  1. /* 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.  */
  17. void eval_global_info (struct ofmt *output, lfunc lookup_label);
  18.  
  19. /*
  20.  * Called to set the information the evaluator needs: the value of
  21.  * $ is set from `segment' and `offset' if `labelname' is NULL, and
  22.  * otherwise the name of the current line's label is set from
  23.  * `labelname' instead.
  24.  */
  25. void eval_info (char *labelname, long segment, long offset);
  26.  
  27. /*
  28.  * The evaluator itself.
  29.  */
  30. expr *evaluate (scanner sc, void *scprivate, struct tokenval *tv,
  31.         int *fwref, int critical, efunc report_error,
  32.         struct eval_hints *hints);
  33.  
  34. #endif
  35.