home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / gas / read.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  5KB  |  149 lines

  1. /* read.h - of read.c
  2.    Copyright (C) 1986, 90, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
  3.  
  4.    This file is part of GAS, the GNU Assembler.
  5.  
  6.    GAS is free software; you can redistribute it and/or modify
  7.    it under the terms of the GNU General Public License as published by
  8.    the Free Software Foundation; either version 2, or (at your option)
  9.    any later version.
  10.  
  11.    GAS is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with GAS; see the file COPYING.  If not, write to
  18.    the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  19.  
  20. extern char *input_line_pointer;/* -> char we are parsing now. */
  21.  
  22. #define PERMIT_WHITESPACE    /* Define to make whitespace be allowed in */
  23. /* many syntactically unnecessary places. */
  24. /* Normally undefined. For compatibility */
  25. /* with ancient GNU cc. */
  26. /* #undef PERMIT_WHITESPACE */
  27.  
  28. #ifdef PERMIT_WHITESPACE
  29. #define SKIP_WHITESPACE() {if (* input_line_pointer == ' ') ++ input_line_pointer;}
  30. #else
  31. #define SKIP_WHITESPACE() know(*input_line_pointer != ' ' )
  32. #endif
  33.  
  34.  
  35. #define    LEX_NAME    (1)    /* may continue a name */
  36. #define LEX_BEGIN_NAME    (2)    /* may begin a name */
  37.  
  38. #define is_name_beginner(c) \
  39.   ( lex_type[(unsigned char) (c)] & LEX_BEGIN_NAME )
  40. #define is_part_of_name(c) \
  41.   ( lex_type[(unsigned char) (c)] & LEX_NAME       )
  42.  
  43. #ifndef is_a_char
  44. #define CHAR_MASK    (0xff)
  45. #define NOT_A_CHAR    (CHAR_MASK+1)
  46. #define is_a_char(c)    (((unsigned)(c)) <= CHAR_MASK)
  47. #endif /* is_a_char() */
  48.  
  49. extern char lex_type[];
  50. extern char is_end_of_line[];
  51.  
  52. extern int is_it_end_of_statement PARAMS ((void));
  53.  
  54. extern int target_big_endian;
  55.  
  56. /* These are initialized by the CPU specific target files (tc-*.c).  */
  57. extern const char comment_chars[];
  58. extern const char line_comment_chars[];
  59. extern const char line_separator_chars[];
  60.  
  61. /* This flag whether to generate line info for asm file */
  62. extern int generate_asm_lineno;
  63.  
  64. /* The offset in the absolute section.  */
  65. extern addressT abs_section_offset;
  66.  
  67. /* The label on a line, used by some of the pseudo-ops.  */
  68. extern symbolS *line_label;
  69.  
  70. /* This is used to support MRI common sections.  */
  71. extern symbolS *mri_common_symbol;
  72.  
  73. /* Possible arguments to .linkonce.  */
  74. enum linkonce_type
  75. {
  76.   LINKONCE_UNSET = 0,
  77.   LINKONCE_DISCARD,
  78.   LINKONCE_ONE_ONLY,
  79.   LINKONCE_SAME_SIZE,
  80.   LINKONCE_SAME_CONTENTS
  81. };
  82.  
  83. extern void pop_insert PARAMS ((const pseudo_typeS *));
  84. extern unsigned int get_stab_string_offset
  85.   PARAMS ((const char *string, const char *stabstr_secname));
  86. extern char *demand_copy_C_string PARAMS ((int *len_pointer));
  87. extern char get_absolute_expression_and_terminator
  88.   PARAMS ((long *val_pointer));
  89. extern offsetT get_absolute_expression PARAMS ((void));
  90. extern unsigned int next_char_of_string PARAMS ((void));
  91. extern void s_mri_sect PARAMS ((char *));
  92. extern char *mri_comment_field PARAMS ((char *));
  93. extern void mri_comment_end PARAMS ((char *, int));
  94. extern void add_include_dir PARAMS ((char *path));
  95. extern void cons PARAMS ((int nbytes));
  96. extern void demand_empty_rest_of_line PARAMS ((void));
  97. extern void emit_expr PARAMS ((expressionS *exp, unsigned int nbytes));
  98. extern void equals PARAMS ((char *sym_name));
  99. extern void float_cons PARAMS ((int float_type));
  100. extern void ignore_rest_of_line PARAMS ((void));
  101. extern void pseudo_set PARAMS ((symbolS * symbolP));
  102. extern void read_a_source_file PARAMS ((char *name));
  103. extern void read_begin PARAMS ((void));
  104. extern void s_abort PARAMS ((int));
  105. extern void s_align_bytes PARAMS ((int arg));
  106. extern void s_align_ptwo PARAMS ((int));
  107. extern void s_app_file PARAMS ((int));
  108. extern void s_app_line PARAMS ((int));
  109. extern void s_comm PARAMS ((int));
  110. extern void s_data PARAMS ((int));
  111. extern void s_desc PARAMS ((int));
  112. extern void s_else PARAMS ((int arg));
  113. extern void s_end PARAMS ((int arg));
  114. extern void s_endif PARAMS ((int arg));
  115. extern void s_err PARAMS ((int));
  116. extern void s_fail PARAMS ((int));
  117. extern void s_fill PARAMS ((int));
  118. extern void s_float_space PARAMS ((int mult));
  119. extern void s_globl PARAMS ((int arg));
  120. extern void s_if PARAMS ((int arg));
  121. extern void s_ifc PARAMS ((int arg));
  122. extern void s_ifdef PARAMS ((int arg));
  123. extern void s_ifeqs PARAMS ((int arg));
  124. extern void s_ignore PARAMS ((int arg));
  125. extern void s_include PARAMS ((int arg));
  126. extern void s_irp PARAMS ((int arg));
  127. extern void s_lcomm PARAMS ((int needs_align));
  128. extern void s_linkonce PARAMS ((int));
  129. extern void s_lsym PARAMS ((int));
  130. extern void s_macro PARAMS ((int));
  131. extern void s_mexit PARAMS ((int));
  132. extern void s_mri PARAMS ((int));
  133. extern void s_mri_common PARAMS ((int));
  134. extern void s_org PARAMS ((int));
  135. extern void s_print PARAMS ((int));
  136. extern void s_purgem PARAMS ((int));
  137. extern void s_rept PARAMS ((int));
  138. extern void s_set PARAMS ((int));
  139. extern void s_space PARAMS ((int mult));
  140. extern void s_stab PARAMS ((int what));
  141. extern void s_struct PARAMS ((int));
  142. extern void s_text PARAMS ((int));
  143. extern void stringer PARAMS ((int append_zero));
  144. extern void s_xstab PARAMS ((int what));
  145. extern void s_rva PARAMS ((int));
  146. extern void read_print_statistics PARAMS ((FILE *));
  147.  
  148. /* end of read.h */
  149.